// check-pass #![feature(const_trait_impl)] #[const_trait] trait Tr { fn a(self) -> i32; } impl const Tr for () { fn a(self) -> i32 { 42 } } const fn need_const_closure i32>(x: T) -> i32 { x(()) } const _: () = assert!(need_const_closure(Tr::a) == 42); fn main() {}