Links: Rust Blog , Impl Trait Initiative , Rust Compiler Development Guide , Rust RFC Book , Youtube Shorts , HackMD.io

https://www.youtube.com/watch?v=CWiz_RtA1Hw

[https://docs.google.com/presentation/d/1U27Yr8MniRMUfxfPlwYt3wkYm6EtTWv42slYGRdgW1M/edit#slide=id.p](https://docs.google.com/presentation/d/1U27Yr8MniRMUfxfPlwYt3wkYm6EtTWv42slYGRdgW1M/preview#slide=id.p)

https://hackmd.io/@rust-lang-team/Sk8bgypVh#Key-highlights-of-the-design-in-the-RFC

Impl Trait lets you promise less

Let's break down and compare the two function signatures:

fn f1() -> std::vec::IntoIter<u32> {
    /*...*/
}

fn f2() -> impl Iterator<Item = u32> {
    /*...*/
}

Explanation of Each Function

f1 Function

fn f1() -> std::vec::IntoIter<u32> {
    /*...*/
}

f2 Return Position Impl Trait (RPIT)