diff options
Diffstat (limited to 'src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs')
-rw-r--r-- | src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs new file mode 100644 index 000000000..1f2d0e47e --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs @@ -0,0 +1,30 @@ +// check-pass + +#![feature(type_alias_impl_trait)] +#![allow(dead_code)] + +pub trait MyTrait {} + +impl MyTrait for bool {} + +type Foo = impl MyTrait; + +struct Blah { + my_foo: Foo, + my_u8: u8, +} + +impl Blah { + fn new() -> Blah { + Blah { my_foo: make_foo(), my_u8: 12 } + } + fn into_inner(self) -> (Foo, u8, Foo) { + (self.my_foo, self.my_u8, make_foo()) + } +} + +fn make_foo() -> Foo { + true +} + +fn main() {} |