]> git.lizzy.rs Git - rust.git/blob - src/test/ui/associated-consts/defaults-cyclic-fail.rs
implement valtrees as the type-system representation for constant values
[rust.git] / src / test / ui / associated-consts / defaults-cyclic-fail.rs
1 // build-fail
2
3 // Cyclic assoc. const defaults don't error unless *used*
4 trait Tr {
5     const A: u8 = Self::B;
6     //~^ cycle detected when const-evaluating + checking `Tr::A`
7
8     const B: u8 = Self::A;
9 }
10
11 // This impl is *allowed* unless its assoc. consts are used
12 impl Tr for () {}
13
14 fn main() {
15     // This triggers the cycle error
16     assert_eq!(<() as Tr>::A, 0);
17 }