error[E0635]: unknown feature `const_cmp` --> $DIR/const-impl-trait.rs:8:5 | LL | const_cmp, | ^^^^^^^^^ error: using `#![feature(effects)]` without enabling next trait solver globally | = note: the next trait solver must be enabled globally for the effects feature to work correctly = help: use `-Znext-solver` to enable error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:13:30 | LL | const fn cmp(a: &impl ~const PartialEq) -> bool { | ^^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:17:30 | LL | const fn wrap(x: impl ~const PartialEq + ~const Destruct) | ^^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:17:49 | LL | const fn wrap(x: impl ~const PartialEq + ~const Destruct) | ^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:18:20 | LL | -> impl ~const PartialEq + ~const Destruct | ^^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:18:39 | LL | -> impl ~const PartialEq + ~const Destruct | ^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:18:20 | LL | -> impl ~const PartialEq + ~const Destruct | ^^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:18:39 | LL | -> impl ~const PartialEq + ~const Destruct | ^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:25:29 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy; | ^^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:25:48 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy; | ^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:25:29 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy; | ^^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:25:48 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy; | ^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:25:29 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy; | ^^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:25:48 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy; | ^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:29:29 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy { | ^^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:29:48 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy { | ^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:29:29 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy { | ^^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:29:48 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy { | ^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:50:41 | LL | const fn apit(_: impl ~const T + ~const Destruct) {} | ^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:54:73 | LL | const fn apit_assoc_bound(_: impl IntoIterator + ~const Destruct) {} | ^^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:25:29 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy; | ^^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-impl-trait.rs:25:48 | LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy; | ^^^^^^^^ | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error[E0493]: destructor of `impl PartialEq + Destruct` cannot be evaluated at compile-time --> $DIR/const-impl-trait.rs:37:26 | LL | assert!(wrap(123) == wrap(123)); | ^^^^^^^^^- value is dropped here | | | the destructor for this type cannot be evaluated in constants error[E0493]: destructor of `impl PartialEq + Destruct` cannot be evaluated at compile-time --> $DIR/const-impl-trait.rs:37:26 | LL | assert!(wrap(123) == wrap(123)); | ^^^^^^^^^- value is dropped here | | | the destructor for this type cannot be evaluated in constants | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error[E0493]: destructor of `impl PartialEq + Destruct` cannot be evaluated at compile-time --> $DIR/const-impl-trait.rs:37:13 | LL | assert!(wrap(123) == wrap(123)); | ^^^^^^^^^ - value is dropped here | | | the destructor for this type cannot be evaluated in constants error[E0493]: destructor of `impl PartialEq + Destruct` cannot be evaluated at compile-time --> $DIR/const-impl-trait.rs:37:13 | LL | assert!(wrap(123) == wrap(123)); | ^^^^^^^^^ - value is dropped here | | | the destructor for this type cannot be evaluated in constants | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error[E0493]: destructor of `impl PartialEq + Destruct` cannot be evaluated at compile-time --> $DIR/const-impl-trait.rs:38:26 | LL | assert!(wrap(123) != wrap(456)); | ^^^^^^^^^- value is dropped here | | | the destructor for this type cannot be evaluated in constants error[E0493]: destructor of `impl PartialEq + Destruct` cannot be evaluated at compile-time --> $DIR/const-impl-trait.rs:38:26 | LL | assert!(wrap(123) != wrap(456)); | ^^^^^^^^^- value is dropped here | | | the destructor for this type cannot be evaluated in constants | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error[E0493]: destructor of `impl PartialEq + Destruct` cannot be evaluated at compile-time --> $DIR/const-impl-trait.rs:38:13 | LL | assert!(wrap(123) != wrap(456)); | ^^^^^^^^^ - value is dropped here | | | the destructor for this type cannot be evaluated in constants error[E0493]: destructor of `impl PartialEq + Destruct` cannot be evaluated at compile-time --> $DIR/const-impl-trait.rs:38:13 | LL | assert!(wrap(123) != wrap(456)); | ^^^^^^^^^ - value is dropped here | | | the destructor for this type cannot be evaluated in constants | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error[E0493]: destructor of `impl ~const T + ~const Destruct` cannot be evaluated at compile-time --> $DIR/const-impl-trait.rs:50:15 | LL | const fn apit(_: impl ~const T + ~const Destruct) {} | ^ - value is dropped here | | | the destructor for this type cannot be evaluated in constant functions error[E0493]: destructor of `impl IntoIterator + ~const Destruct` cannot be evaluated at compile-time --> $DIR/const-impl-trait.rs:54:27 | LL | const fn apit_assoc_bound(_: impl IntoIterator + ~const Destruct) {} | ^ - value is dropped here | | | the destructor for this type cannot be evaluated in constant functions error: aborting due to 33 previous errors Some errors have detailed explanations: E0493, E0635. For more information about an error, try `rustc --explain E0493`.