How do I perform a non-allocating Physics2D.LineCast in a parallel job when using NativeArray?

I would like to parallelise Physics2D.Linecast.

Is there a way to use a NativeArray with Physics2D.Linecast or use a standard RaycastHit2D array in a manner that will work with the job system?

I understand that a 3D parallelised version is supported via RaycastCommand and it looks like there is no 2D equivalent so I’m trying to work out what my options are.

    public struct ParallelRayCastJob : IJobParallelFor
    {
        [ReadOnly] public ContactFilter2D contactFilter;
        [ReadOnly] public NativeArray<float> columnRay;
        [ReadOnly] public Vector3 forward;
        [ReadOnly] public float maxDistance;
        [ReadOnly] public Vector3 origin;
        [ReadOnly] public Vector3 perpendicular;

        public NativeArray<RaycastHit2D> results;

        public void Execute(int i)
        {
            var rayDirection = forward + (perpendicular * columnRay[i]);
            var end = origin + rayDirection * maxDistance;

            var numResults = Physics2D.Linecast(origin, end, contactFilter, results);

            ...
        }
    }