| error: `-Znext-solver=globally` and `generic_const_exprs` are incompatible, using them at the same time is not allowed | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:5:30 | 
 |    | | 
 | LL | #![feature(const_trait_impl, generic_const_exprs)] | 
 |    |                              ^^^^^^^^^^^^^^^^^^^ | 
 |    | | 
 |    = help: remove one of these features | 
 |  | 
 | error[E0391]: cycle detected when evaluating type-level constant | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 |    | | 
 | note: ...which requires const-evaluating + checking `accept0::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 | note: ...which requires caching mir of `accept0::{constant#0}` for CTFE... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 | note: ...which requires elaborating drops for `accept0::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 | note: ...which requires borrow-checking `accept0::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 | note: ...which requires promoting constants in MIR for `accept0::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 | note: ...which requires const checking `accept0::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 | note: ...which requires building MIR for `accept0::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 | note: ...which requires building an abstract representation for `accept0::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 | note: ...which requires building THIR for `accept0::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 | note: ...which requires type-checking `accept0::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 |    = note: ...which again requires evaluating type-level constant, completing the cycle | 
 | note: cycle used when checking that `accept0` is well-formed | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:29:35 | 
 |    | | 
 | LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                   ^^^^^^^^^^^^^ | 
 |    = 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 caching mir of `accept1::{constant#0}` for CTFE | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 |    | | 
 | note: ...which requires elaborating drops for `accept1::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 | note: ...which requires borrow-checking `accept1::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 | note: ...which requires promoting constants in MIR for `accept1::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 | note: ...which requires const checking `accept1::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 | note: ...which requires building MIR for `accept1::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 | note: ...which requires building an abstract representation for `accept1::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 | note: ...which requires building THIR for `accept1::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 | note: ...which requires type-checking `accept1::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 | note: ...which requires evaluating type-level constant... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 | note: ...which requires const-evaluating + checking `accept1::{constant#0}`... | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 |    = note: ...which again requires caching mir of `accept1::{constant#0}` for CTFE, completing the cycle | 
 | note: cycle used when const-evaluating + checking `accept1::{constant#0}` | 
 |   --> $DIR/unsatisfied-const-trait-bound.rs:33:49 | 
 |    | | 
 | LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {} | 
 |    |                                                 ^^^^^^^^^^^^^ | 
 |    = 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 3 previous errors | 
 |  | 
 | For more information about this error, try `rustc --explain E0391`. |