//@ check-pass | |
//@ revisions: next old | |
//@[next] compile-flags: -Znext-solver | |
#![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<T: [const] FnOnce(()) -> i32>(x: T) -> i32 { | |
x(()) | |
} | |
const _: () = assert!(need_const_closure(Tr::a) == 42); | |
fn main() {} |