2024-05-18 23:56:57 +02:00
|
|
|
//@ known-bug: rust-lang/rust#125185
|
|
|
|
//@ compile-flags: -Zvalidate-mir
|
|
|
|
|
2024-07-26 10:04:02 +00:00
|
|
|
#![feature(type_alias_impl_trait)]
|
|
|
|
|
2024-05-18 23:56:57 +02:00
|
|
|
type Foo = impl Send;
|
|
|
|
|
|
|
|
struct A;
|
|
|
|
|
2024-07-26 10:04:02 +00:00
|
|
|
#[define_opaque(Foo)]
|
|
|
|
const fn foo() -> Foo {
|
|
|
|
value()
|
|
|
|
}
|
|
|
|
|
|
|
|
const VALUE: Foo = foo();
|
2024-05-18 23:56:57 +02:00
|
|
|
|
2024-07-26 10:04:02 +00:00
|
|
|
#[define_opaque(Foo)]
|
|
|
|
fn test(foo: Foo, f: impl for<'b> FnMut()) {
|
2024-05-18 23:56:57 +02:00
|
|
|
match VALUE {
|
|
|
|
0 | 0 => {}
|
|
|
|
|
|
|
|
_ => (),
|
|
|
|
}
|
|
|
|
}
|
2024-07-26 10:04:02 +00:00
|
|
|
|
|
|
|
fn main() {}
|