mirror of https://github.com/rust-lang/rust
25 lines
398 B
Rust
25 lines
398 B
Rust
//! 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: MyTrait>(_: T) -> u8 {
|
|
<T as MyTrait>::ASSOC
|
|
}
|
|
|
|
const CT: u8 = output(yeet());
|
|
|
|
fn main() {
|
|
match 0 {
|
|
CT => (),
|
|
1.. => (),
|
|
}
|
|
}
|