#![feature(const_trait_impl, min_specialization, rustc_attrs)] #[rustc_specialization_trait] #[const_trait] pub trait Sup {} impl const Sup for () {} #[const_trait] pub trait A { fn a() -> u32; } impl A for T { default fn a() -> u32 { 2 } } impl const A for T { fn a() -> u32 { 3 } } const fn generic() { ::a(); //~^ ERROR: the trait bound `T: ~const Sup` is not satisfied } fn main() {}