最近利用周末时间来学习Rust编程,发现新发布的1.26版本,带来了impl Trait
,一时对它的写法难以理解,今天又找点资料再温习一下。
impl Trait is now stable allowing you to have abstract types in returns or in function parameters. e.g. fn foo() -> impl Iterator<Item=u8> or fn open(path: impl AsRef).
既存类型
impl Trait
是对既存类型(Existential types)
的支持,那什么是既存类型?