diff options
Diffstat (limited to 'src/test/ui/consts/associated_const_generic.rs')
-rw-r--r-- | src/test/ui/consts/associated_const_generic.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/consts/associated_const_generic.rs b/src/test/ui/consts/associated_const_generic.rs new file mode 100644 index 000000000..dee376cc1 --- /dev/null +++ b/src/test/ui/consts/associated_const_generic.rs @@ -0,0 +1,25 @@ +// check-pass + +trait TraitA { + const VALUE: usize; +} + +struct A; +impl TraitA for A { + const VALUE: usize = 1; +} + +trait TraitB { + type MyA: TraitA; + const VALUE: usize = Self::MyA::VALUE; +} + +struct B; +impl TraitB for B { + type MyA = A; +} + +fn main() { + let _ = [0; A::VALUE]; + let _ = [0; B::VALUE]; // Indirectly refers to `A::VALUE` +} |