mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-28 01:34:21 +00:00
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.. => (),
|
||
|
}
|
||
|
}
|