The basic feature as specified in RFC 1522 is implemented, however there have been revisions that are still in need of work:
impl Trait
requires a named lifetime #49287impl Trait
Lifetime Elision #43396let x: impl Trait
static
and const T: impl Trait
abstract type
There have been a number of RFCs regarding impl trait, all of which are tracked by this central tracking issue.
impl Trait
rfcs#1522
impl Trait
, while expanding it to arguments rfcs#1951
abstract type
in modules and impls
MyTrait<AssociatedType: Bounds>
rfcs#2289 to match that syntax if that RFC gets merged.let
, const
, and static
positionsimpl Trait
and dyn Trait
with multiple bounds rfcs#2250
impl Trait
and dyn Trait
with multiple boundsThe implementation has raised a number of interesting questions as well:
impl
keyword when parsing types? Discussion: 1
Send
for where F: Fn() -> impl Foo + Send
?impl Trait
and dyn Trait
with multiple bounds rfcs#2250.+
in impl Trait
/dyn Trait
#45294impl Trait
after ->
in fn
types or parentheses sugar? [impl Trait] Should we allow impl Trait
after ->
in fn
types or parentheses sugar? #45994fn foo<T>(x: impl Iterator<Item = T>>)
?
impl Trait
as arguments in the list, permitting migrationexistential type Foo: Bar
or type Foo = impl Bar
? (see here for discussion)
existential type
in an impl be just items of the impl, or include nested items within the impl functions etc? (see here for example)LooMaclin, aldanor, zen0wu, lord, yuval-k and 60 moreObject905, LooMaclin, pinkisemils, NotBad4U, discosultan and 14 morelambda-fairy, kaedroho, pthariensflame, Antti, ozkriff and 91 more
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4