// check-pass #![feature(const_trait_impl)] #![feature(const_precise_live_drops)] const fn foo(res: Result) -> Option where E: ~const Drop { match res { Ok(t) => Some(t), Err(_e) => None, } } pub struct Foo(T); const fn baz(res: Result, Foo>) -> Option> { foo(res) } fn main() {}