I was reading the RFC on "expanding" impl Trait when I came upon the following:
By contrast, a programmer who first learned: fn take_iter(t: impl
Iterator)
and then tried: fn give_iter() -> impl Iterator
would be
successful, without any rigorous understanding that they just
transitioned from a universal to an existential.
While I understand universal vs existential from a logic perspective, what makes the first one above universal and the second one existential?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…