Rust import resolution fundamentally uses a fixed-point iteration algorithm. This is one of the toughest bits to support in IDE in a performant way, because fixed point makes laziness hard.
I am curious about how this bit of he language. Are there any relevant discussions of the issue? Was the iteration present from the first version, or was it added later?