diff options
Diffstat (limited to 'src/test/ui/impl-header-lifetime-elision/assoc-type.rs')
-rw-r--r-- | src/test/ui/impl-header-lifetime-elision/assoc-type.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/impl-header-lifetime-elision/assoc-type.rs b/src/test/ui/impl-header-lifetime-elision/assoc-type.rs new file mode 100644 index 000000000..b0089a37a --- /dev/null +++ b/src/test/ui/impl-header-lifetime-elision/assoc-type.rs @@ -0,0 +1,25 @@ +// Test that we do not yet support elision in associated types, even +// when there is just one name we could take from the impl header. + +#![allow(warnings)] + +trait MyTrait { + type Output; +} + +impl MyTrait for &i32 { + type Output = &i32; + //~^ ERROR `&` without an explicit lifetime name cannot be used here +} + +impl MyTrait for &u32 { + type Output = &'_ i32; + //~^ ERROR `'_` cannot be used here +} + +// This is what you have to do: +impl<'a> MyTrait for &'a f32 { + type Output = &'a f32; +} + +fn main() { } |