2023-07-29 03:20:25 -05:00
|
|
|
// known-bug: #110395
|
|
|
|
// FIXME check-pass
|
2022-12-28 02:55:01 -06:00
|
|
|
#![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() {}
|