//@ 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 where Self: Sized; } impl dyn TestTrait where Self: Sized, { pub fn other_func() -> Option { match Self::func() { Some(me) => Some(me), None => None, } } }