mirror of https://github.com/rust-lang/rust
39 lines
521 B
Rust
39 lines
521 B
Rust
//@ build-pass (FIXME(62277): could be check-pass?)
|
|
#![allow(dead_code)]
|
|
|
|
use std::mem::ManuallyDrop;
|
|
|
|
enum A<'a, T: 'a>
|
|
where
|
|
Self: Send, T: PartialEq<Self>
|
|
{
|
|
Foo(&'a Self),
|
|
Bar(T),
|
|
}
|
|
|
|
struct B<'a, T: 'a>
|
|
where
|
|
Self: Send, T: PartialEq<Self>
|
|
{
|
|
foo: &'a Self,
|
|
bar: T,
|
|
}
|
|
|
|
union C<'a, T: 'a>
|
|
where
|
|
Self: Send, T: PartialEq<Self>
|
|
{
|
|
foo: &'a Self,
|
|
bar: ManuallyDrop<T>,
|
|
}
|
|
|
|
union D<'a, T: 'a>
|
|
where
|
|
Self: Send, T: PartialEq<Self> + Copy
|
|
{
|
|
foo: &'a Self,
|
|
bar: T,
|
|
}
|
|
|
|
fn main() {}
|