//! Check that pattern matching can observe the hidden type of opaque types. //@ check-pass trait MyTrait: Copy { const ASSOC: u8; } impl MyTrait for () { const ASSOC: u8 = 0; } const fn yeet() -> impl MyTrait {} const fn output(_: T) -> u8 { ::ASSOC } const CT: u8 = output(yeet()); fn main() { match 0 { CT => (), 1.. => (), } }