1 // Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // Test for traits that inherit from multiple builtin kinds at once,
12 // testing that all such kinds must be present on implementing types.
14 trait Foo : Send+Sync { }
16 impl <T: Sync+'static> Foo for (T,) { }
17 //~^ ERROR `T` cannot be sent between threads safely [E0277]
19 impl <T: Send> Foo for (T,T) { }
20 //~^ ERROR `T` cannot be shared between threads safely [E0277]
22 impl <T: Send+Sync> Foo for (T,T,T) { } // (ok)