diff options
Diffstat (limited to 'tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs')
-rw-r--r-- | tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs b/tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs new file mode 100644 index 000000000..db61fc080 --- /dev/null +++ b/tests/ui/generic-associated-types/const-generics-gat-in-trait-return-type-3.rs @@ -0,0 +1,25 @@ +// run-pass + +// This test unsures that with_opt_const_param returns the +// def_id of the N param in the Bar::Assoc GAT. + +trait Bar { + type Assoc<const N: usize>; +} +trait Foo: Bar { + fn foo(&self) -> Self::Assoc<3>; +} + +impl Bar for () { + type Assoc<const N: usize> = [(); N]; +} + +impl Foo for () { + fn foo(&self) -> Self::Assoc<3> { + [(); 3] + } +} + +fn main() { + assert_eq!(().foo(), [(); 3]); +} |