i was looking into that, it's because of silly things like it having to traverse like five functions

i was looking into that, it's because of silly things like it having to traverse like five functions to work out that for x in 0..3 is a for loop. because it technically desugars into
Range range = Range(0, 3);
RangeIter iter = RangeIter(range);
Option<uintptr_t> next = iter.next();
LOOP:
if (next.is_some())
{
    // loop logic
    goto LOOP;
}

instead of
for (uintptr_t i = 0; i < 3; i++)

like a sane compiler
Was this page helpful?