//@ compile-flags: --crate-type=lib -Zmir-opt-level=2 | |
//@ build-pass | |
// ^-- Must be build-pass, because check-pass will not run const prop. | |
pub trait TestTrait { | |
type MyType; | |
fn func() -> Option<Self> | |
where | |
Self: Sized; | |
} | |
impl<T> dyn TestTrait<MyType = T> | |
where | |
Self: Sized, | |
{ | |
pub fn other_func() -> Option<Self> { | |
match Self::func() { | |
Some(me) => Some(me), | |
None => None, | |
} | |
} | |
} |