julia
f4847bf6 - inference: revisit all methods in cycle (#59974)

Commit
62 days ago
inference: revisit all methods in cycle (#59974) When encountering complicated cycles within cycles, make sure to revisit all applicable methods explicitly, since not all methods within the cycle will necessarily change return type after resolving the cycle. This shows up as the possibility of frames that don't get revisited before being cached, probably just caching `Union{}` as the call type instead. I always assumed this code was probably wrong, but didn't have any way to construct the counter-example to have confidence that fixing it would not cause some other side-effect. But still keep the backedge work lazy, since we don't want to allocate unnecessarily for a rarely used feature (recursion). Fix #59943
Author
Parents
Loading