//@ compile-flags: -Znext-solver | |
//@ 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>(); | |
} |