Skip to content

Commit ccb9f3b

Browse files
committed
update 33140 test
1 parent 3a762b9 commit ccb9f3b

3 files changed

+36
-3
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#![allow(order_dependent_trait_objects)]
2+
trait Trait {}
3+
4+
impl Trait for dyn Send + Sync {}
5+
impl Trait for dyn Sync + Send {}
6+
fn assert_trait<T: Trait + ?Sized>() {}
7+
8+
fn main() {
9+
assert_trait::<dyn Send + Sync>();
10+
//~^ ERROR type annotations needed: cannot satisfy `dyn Send + Sync: Trait`
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
error[E0283]: type annotations needed: cannot satisfy `dyn Send + Sync: Trait`
2+
--> $DIR/issue-33140-traitobject-crate-non-static.rs:9:5
3+
|
4+
LL | assert_trait::<dyn Send + Sync>();
5+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6+
|
7+
note: multiple `impl`s satisfying `dyn Send + Sync: Trait` found
8+
--> $DIR/issue-33140-traitobject-crate-non-static.rs:4:1
9+
|
10+
LL | impl Trait for dyn Send + Sync {}
11+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12+
LL | impl Trait for dyn Sync + Send {}
13+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
14+
note: required by a bound in `assert_trait`
15+
--> $DIR/issue-33140-traitobject-crate-non-static.rs:6:20
16+
|
17+
LL | fn assert_trait<T: Trait + ?Sized>() {}
18+
| ^^^^^ required by this bound in `assert_trait`
19+
20+
error: aborting due to previous error
21+
22+
For more information about this error, try `rustc --explain E0283`.

src/test/ui/traits/object/issue-33140-traitobject-crate.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ unsafe impl Trait for dyn (::std::string::ToString) + Send + Sync { }
102102
fn assert_trait<T: Trait + ?Sized>() {}
103103

104104
fn main() {
105-
assert_trait::<dyn Send>();
106-
assert_trait::<dyn Sync>();
107-
assert_trait::<dyn Send + Sync>();
105+
assert_trait::<dyn Send + 'static>();
106+
assert_trait::<dyn Sync + 'static>();
107+
assert_trait::<dyn Send + Sync + 'static>();
108108
}

0 commit comments

Comments
 (0)