1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// check-pass #![feature(const_trait_impl)] trait Convert<T> { fn to(self) -> T; } impl<A, B> const Convert<B> for A where B: ~const From<A> { fn to(self) -> B { B::from(self) } } const FOO: fn() -> String = || "foo".to(); fn main() {}