trait Foo {
}
-fn a(_x: Box<Foo:>) {
+fn b(_x: Box<Foo+Send>) {
}
-fn b(_x: Box<Foo:Send>) {
+fn c(x: Box<Foo+Sync+Send>) {
+ e(x);
}
-fn c(x: Box<Foo:Share+Send>) {
- a(x);
+fn d(x: Box<Foo+Send>) {
+ e(x);
}
-fn d(x: Box<Foo:Send>) {
- b(x);
-}
-
-fn e(x: Box<Foo>) { // sugar for Box<Foo:Owned>
- a(x);
+fn e(x: Box<Foo>) {
+ e(x);
}
pub fn main() { }