error[E0049]: associated function `foo` has 1 const parameter but its trait declaration has 0 const parameters --> $DIR/const_trait_impl.rs:6:1 | LL | #[const_trait] | ^^^^^^^^^^^^^^ found 1 const parameter LL | pub unsafe trait Sup { LL | fn foo() -> u32; | - expected 0 const parameters error[E0049]: associated function `foo` has 1 const parameter but its trait declaration has 0 const parameters --> $DIR/const_trait_impl.rs:6:1 | LL | #[const_trait] | ^^^^^^^^^^^^^^ found 1 const parameter LL | pub unsafe trait Sup { LL | fn foo() -> u32; | - expected 0 const parameters | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const_trait_impl.rs:34:16 | LL | impl const A for T { | ^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const_trait_impl.rs:40:16 | LL | impl const A for T { | ^^^^^^^ error: `~const` can only be applied to `#[const_trait]` traits --> $DIR/const_trait_impl.rs:46:16 | LL | impl const A for T { | ^^^^^^^ error[E0049]: associated function `a` has 1 const parameter but its trait declaration has 0 const parameters --> $DIR/const_trait_impl.rs:29:1 | LL | #[const_trait] | ^^^^^^^^^^^^^^ found 1 const parameter LL | pub trait A { LL | fn a() -> u32; | - expected 0 const parameters error[E0049]: associated function `a` has 1 const parameter but its trait declaration has 0 const parameters --> $DIR/const_trait_impl.rs:29:1 | LL | #[const_trait] | ^^^^^^^^^^^^^^ found 1 const parameter LL | pub trait A { LL | fn a() -> u32; | - expected 0 const parameters | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error[E0049]: associated function `a` has 1 const parameter but its trait declaration has 0 const parameters --> $DIR/const_trait_impl.rs:29:1 | LL | #[const_trait] | ^^^^^^^^^^^^^^ found 1 const parameter LL | pub trait A { LL | fn a() -> u32; | - expected 0 const parameters | = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no` error[E0015]: cannot call non-const fn `<() as A>::a` in constants --> $DIR/const_trait_impl.rs:52:23 | LL | const _: () = assert!(<()>::a() == 42); | ^^^^^^^^^ | = note: calls in constants are limited to constant functions, tuple structs and tuple variants help: add `#![feature(effects)]` to the crate attributes to enable | LL + #![feature(effects)] | error[E0015]: cannot call non-const fn `::a` in constants --> $DIR/const_trait_impl.rs:53:23 | LL | const _: () = assert!(::a() == 3); | ^^^^^^^^^ | = note: calls in constants are limited to constant functions, tuple structs and tuple variants help: add `#![feature(effects)]` to the crate attributes to enable | LL + #![feature(effects)] | error[E0015]: cannot call non-const fn `::a` in constants --> $DIR/const_trait_impl.rs:54:23 | LL | const _: () = assert!(::a() == 2); | ^^^^^^^^^^ | = note: calls in constants are limited to constant functions, tuple structs and tuple variants help: add `#![feature(effects)]` to the crate attributes to enable | LL + #![feature(effects)] | error[E0015]: cannot call non-const fn `::foo` in constant functions --> $DIR/const_trait_impl.rs:48:9 | LL | T::foo() | ^^^^^^^^ | = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants help: add `#![feature(effects)]` to the crate attributes to enable | LL + #![feature(effects)] | error: aborting due to 12 previous errors Some errors have detailed explanations: E0015, E0049. For more information about an error, try `rustc --explain E0015`.