blob: 10a0a568849bff343f500fccf4046f07cf9a4092 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// check-pass
#![feature(type_alias_impl_trait)]
struct Outer<T: ?Sized> {
i: InnerSend<T>,
}
type InnerSend<T: ?Sized> = impl Send;
fn constrain<T: ?Sized>() -> InnerSend<T> {
()
}
trait SendMustNotImplDrop {}
#[allow(drop_bounds)]
impl<T: ?Sized + Send + Drop> SendMustNotImplDrop for T {}
impl<T: ?Sized> SendMustNotImplDrop for Outer<T> {}
fn main() {}
|