blob: fc7361bfcb2055def1ca0f23b5dd9815e45d69b6 [file] [log] [blame]
//@ known-bug: #112623
#![feature(const_trait_impl, effects)]
#[const_trait]
trait Value {
fn value() -> u32;
}
const fn get_value<T: ~const Value>() -> u32 {
T::value()
}
struct FortyTwo;
impl const Value for FortyTwo {
fn value() -> i64 {
42
}
}
const FORTY_TWO: u32 = get_value::<FortyTwo>();
fn main() {
assert_eq!(FORTY_TWO, 42);
}