diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/structs-enums/struct-path-associated-type.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/structs-enums/struct-path-associated-type.rs b/src/test/ui/structs-enums/struct-path-associated-type.rs new file mode 100644 index 000000000..2235dfe4b --- /dev/null +++ b/src/test/ui/structs-enums/struct-path-associated-type.rs @@ -0,0 +1,27 @@ +// run-pass +#![allow(dead_code)] +struct S<T, U = u16> { + a: T, + b: U, +} + +trait Tr { + type A; +} +impl Tr for u8 { + type A = S<u8, u16>; +} + +fn f<T: Tr<A = S<u8>>>() { + let s = T::A { a: 0, b: 1 }; + match s { + T::A { a, b } => { + assert_eq!(a, 0); + assert_eq!(b, 1); + } + } +} + +fn main() { + f::<u8>(); +} |