I don't believe so. Only intersecting shapes hold a list of collisions.
What I've done in the past for rays is use a loop and a list, though it may not be very optimal. The loop is for testing multiple times, and the list is outside the loop collecting the references.
Inside the loop you cast the ray with the list as the exceptions. The first time through there are none, so it hits the first object. Then you add each found object to the list, and on the next iteration they're excluded from the raycast.
Something like this:
var hits = []
while(true):
var ray_result = space.intersect_ray(ray_origin, cast_to, hits)
if(ray_result.empty()): break # It's a dictionary so test .empty()
hits.append(ray_result.collider)
print(hits)