32 lines
434 B
Rust
32 lines
434 B
Rust
|
// compile-flags: -Ztrait-solver=next
|
||
|
// check-pass
|
||
|
|
||
|
struct A(*mut ());
|
||
|
|
||
|
unsafe impl Send for A where A: 'static {}
|
||
|
|
||
|
macro_rules! mk {
|
||
|
($name:ident $ty:ty) => {
|
||
|
struct $name($ty, $ty, $ty, $ty, $ty, $ty, $ty, $ty, $ty, $ty);
|
||
|
};
|
||
|
}
|
||
|
|
||
|
mk!(B A);
|
||
|
mk!(C B);
|
||
|
mk!(D C);
|
||
|
mk!(E D);
|
||
|
mk!(F E);
|
||
|
mk!(G F);
|
||
|
mk!(H G);
|
||
|
mk!(I H);
|
||
|
mk!(J I);
|
||
|
mk!(K J);
|
||
|
mk!(L K);
|
||
|
mk!(M L);
|
||
|
|
||
|
fn needs_send<T: Send>() {}
|
||
|
|
||
|
fn main() {
|
||
|
needs_send::<M>();
|
||
|
}
|