error[E0391]: cycle detected when expanding type alias `Alias` --> $DIR/type-alias-bounds-are-enforced.rs:19:1 | LL | pub type Alias = (Source::Assoc,); | ^^^^^^^^^^^^^^^^^^^^^^^^ | note: ...which requires computing the variances of `Source`... --> $DIR/type-alias-bounds-are-enforced.rs:21:1 | LL | pub struct Source(T); | ^^^^^^^^^^^^^^^^^^^^ = note: ...which requires computing the variances for items in this crate... = note: ...which again requires expanding type alias `Alias`, completing the cycle note: cycle used when collecting item types in top-level module --> $DIR/type-alias-bounds-are-enforced.rs:5:1 | LL | / #![feature(inherent_associated_types)] LL | | #![allow(incomplete_features)] LL | | LL | | // Bounds on the self type play a major role in the resolution of inherent associated types (*). ... | LL | | pub type Assoc = (); LL | | } | |_^ = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information error[E0391]: cycle detected when expanding type alias `Alias` --> $DIR/type-alias-bounds-are-enforced.rs:19:1 | LL | pub type Alias = (Source::Assoc,); | ^^^^^^^^^^^^^^^^^^^^^^^^ | note: ...which requires computing the variances of `Source`... --> $DIR/type-alias-bounds-are-enforced.rs:21:1 | LL | pub struct Source(T); | ^^^^^^^^^^^^^^^^^^^^ = note: ...which requires computing the variances for items in this crate... = note: ...which again requires expanding type alias `Alias`, completing the cycle note: cycle used when collecting item types in top-level module --> $DIR/type-alias-bounds-are-enforced.rs:5:1 | LL | / #![feature(inherent_associated_types)] LL | | #![allow(incomplete_features)] LL | | LL | | // Bounds on the self type play a major role in the resolution of inherent associated types (*). ... | LL | | pub type Assoc = (); LL | | } | |_^ = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0391`.