5 impl Trait for dyn Send + Sync {
6 fn xyz() -> bool { false }
9 impl Trait for dyn Sync + Send {
10 //~^ ERROR conflicting implementations
11 fn xyz() -> bool { true }
18 impl Trait2 for dyn Send + Sync {
19 fn uvw() -> bool { false }
22 impl Trait2 for dyn Sync + Send + Sync {
23 //~^ ERROR conflicting implementations
24 fn uvw() -> bool { true }
27 struct Foo<T: ?Sized>(T);
28 impl Foo<dyn Send + Sync> {
29 fn abc() -> bool { //~ ERROR duplicate definitions with name `abc`
34 impl Foo<dyn Sync + Send> {
41 assert_eq!(<dyn Send + Sync>::xyz(), false);
42 assert_eq!(<dyn Sync + Send>::xyz(), true);
43 assert_eq!(<dyn Send + Sync>::uvw(), false);
44 assert_eq!(<dyn Sync + Send+ Sync>::uvw(), true);
45 assert_eq!(<Foo<dyn Send + Sync>>::abc(), false);
46 assert_eq!(<Foo<dyn Sync + Send>>::abc(), true);