error[E0658]: const trait impls are experimental --> $DIR/const_drop_is_valid.rs:6:6 | LL | impl const Drop for A {} | ^^^^^ | = note: see issue #67792 for more information = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date warning: the feature `effects` is incomplete and may not be safe to use and/or cause compiler crashes --> $DIR/const_drop_is_valid.rs:1:12 | LL | #![feature(effects)] | ^^^^^^^ | = note: see issue #102090 for more information = note: `#[warn(incomplete_features)]` on by default 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 `impl` for trait `Drop` which is not marked with `#[const_trait]` --> $DIR/const_drop_is_valid.rs:6:12 | LL | impl const Drop for A {} | ^^^^ | = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const` = note: adding a non-const method body in the future would be a breaking change error[E0046]: not all trait items implemented, missing: `drop` --> $DIR/const_drop_is_valid.rs:6:1 | LL | impl const Drop for A {} | ^^^^^^^^^^^^^^^^^^^^^ missing `drop` in implementation | = help: implement the missing item: `fn drop(&mut self) { todo!() }` error: aborting due to 4 previous errors; 1 warning emitted Some errors have detailed explanations: E0046, E0658. For more information about an error, try `rustc --explain E0046`.