1 error[E0391]: cycle detected when simplifying constant for the type system `DEFAULT_REF_BAR`
2 --> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:11:1
4 LL | const DEFAULT_REF_BAR: u32 = <GlobalDefaultRef>::BAR;
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 note: ...which requires simplifying constant for the type system `DEFAULT_REF_BAR`...
8 --> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:11:1
10 LL | const DEFAULT_REF_BAR: u32 = <GlobalDefaultRef>::BAR;
11 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12 note: ...which requires const-evaluating + checking `DEFAULT_REF_BAR`...
13 --> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:11:1
15 LL | const DEFAULT_REF_BAR: u32 = <GlobalDefaultRef>::BAR;
16 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
17 = note: ...which requires normalizing `<GlobalDefaultRef as FooDefault>::BAR`...
18 note: ...which requires simplifying constant for the type system `FooDefault::BAR`...
19 --> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:8:5
21 LL | const BAR: u32 = DEFAULT_REF_BAR;
22 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
23 note: ...which requires simplifying constant for the type system `FooDefault::BAR`...
24 --> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:8:5
26 LL | const BAR: u32 = DEFAULT_REF_BAR;
27 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
28 note: ...which requires const-evaluating + checking `FooDefault::BAR`...
29 --> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:8:5
31 LL | const BAR: u32 = DEFAULT_REF_BAR;
32 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
33 note: ...which requires caching mir of `FooDefault::BAR` for CTFE...
34 --> $DIR/issue-24949-assoc-const-static-recursion-trait-default.rs:8:5
36 LL | const BAR: u32 = DEFAULT_REF_BAR;
37 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
38 = note: ...which requires normalizing `DEFAULT_REF_BAR`...
39 = note: ...which again requires simplifying constant for the type system `DEFAULT_REF_BAR`, completing the cycle
40 = note: cycle used when running analysis passes on this crate
42 error: aborting due to previous error
44 For more information about this error, try `rustc --explain E0391`.