error[E0049]: method `a` has 1 const parameter but its trait declaration has 0 const parameters --> $DIR/const-closure-trait-method-fail.rs:5:1 | LL | #[const_trait] | ^^^^^^^^^^^^^^ found 1 const parameter LL | trait Tr { LL | fn a(self) -> i32; | - expected 0 const parameters error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const-closure-trait-method-fail.rs:14:39 | LL | const fn need_const_closure i32>(x: T) -> i32 { | ^^^^^^^^^^^^^^^^^ error[E0015]: cannot call non-const closure in constant functions --> $DIR/const-closure-trait-method-fail.rs:15:5 | LL | x(()) | ^^^^^ | = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants help: consider further restricting this bound | LL | const fn need_const_closure i32 + ~const FnOnce(())>(x: T) -> i32 { | +++++++++++++++++++ help: add `#![feature(effects)]` to the crate attributes to enable | LL + #![feature(effects)] | error: aborting due to 3 previous errors Some errors have detailed explanations: E0015, E0049. For more information about an error, try `rustc --explain E0015`.