Skip to content

Commit 9eb88f3

Browse files
authored
Rollup merge of #61681 - asfreitas:addSendTrait, r=estebank
Changed the error message to more clearly explain what is allowed This is in regard to #61634. I changed the language to make it more clear what is allowed.
2 parents c3c3a5e + f4cd3c2 commit 9eb88f3

11 files changed

+15
-15
lines changed

Diff for: src/librustc_typeck/astconv.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1253,7 +1253,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
12531253

12541254
if regular_traits.is_empty() && auto_traits.is_empty() {
12551255
span_err!(tcx.sess, span, E0224,
1256-
"at least one non-builtin trait is required for an object type");
1256+
"at least one trait is required for an object type");
12571257
return tcx.types.err;
12581258
}
12591259

Diff for: src/test/ui/traits/trait-alias/trait-alias-only-maybe-bound.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ trait _1 = _0;
1111

1212
// Straight list expansion:
1313
type _T0 = dyn _1;
14-
//~^ ERROR at least one non-builtin trait is required for an object type [E0224]
14+
//~^ ERROR at least one trait is required for an object type [E0224]
1515

1616
// Twice:
1717
trait _2 = _1 + _1;
1818

1919
type _T1 = dyn _2;
20-
//~^ ERROR at least one non-builtin trait is required for an object type [E0224]
20+
//~^ ERROR at least one trait is required for an object type [E0224]
2121

2222
fn main() {}

Diff for: src/test/ui/traits/trait-alias/trait-alias-only-maybe-bound.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
error[E0224]: at least one non-builtin trait is required for an object type
1+
error[E0224]: at least one trait is required for an object type
22
--> $DIR/trait-alias-only-maybe-bound.rs:13:12
33
|
44
LL | type _T0 = dyn _1;
55
| ^^^^^^
66

7-
error[E0224]: at least one non-builtin trait is required for an object type
7+
error[E0224]: at least one trait is required for an object type
88
--> $DIR/trait-alias-only-maybe-bound.rs:19:12
99
|
1010
LL | type _T1 = dyn _2;

Diff for: src/test/ui/traits/trait-object-macro-matcher.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ fn main() {
88
m!(dyn Copy + Send + 'static);
99
//~^ ERROR the trait `std::marker::Copy` cannot be made into an object
1010
m!(dyn 'static + Send);
11-
m!(dyn 'static +); //~ ERROR at least one non-builtin trait is required for an object type
11+
m!(dyn 'static +); //~ ERROR at least one trait is required for an object type
1212
}

Diff for: src/test/ui/traits/trait-object-macro-matcher.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
error[E0224]: at least one non-builtin trait is required for an object type
1+
error[E0224]: at least one trait is required for an object type
22
--> $DIR/trait-object-macro-matcher.rs:11:8
33
|
44
LL | m!(dyn 'static +);

Diff for: src/test/ui/traits/trait-object-vs-lifetime-2.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
fn g() where
66
'static: 'static,
77
dyn 'static +: 'static + Copy,
8-
//~^ ERROR at least one non-builtin trait is required for an object type
8+
//~^ ERROR at least one trait is required for an object type
99
{}
1010

1111
fn main() {}

Diff for: src/test/ui/traits/trait-object-vs-lifetime-2.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
error[E0224]: at least one non-builtin trait is required for an object type
1+
error[E0224]: at least one trait is required for an object type
22
--> $DIR/trait-object-vs-lifetime-2.rs:7:5
33
|
44
LL | dyn 'static +: 'static + Copy,

Diff for: src/test/ui/traits/trait-object-vs-lifetime.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ fn main() {
77
// `'static` is a lifetime argument, `'static +` is a type argument
88
let _: S<'static, u8>;
99
let _: S<'static, dyn 'static +>;
10-
//~^ at least one non-builtin trait is required for an object type
10+
//~^ at least one trait is required for an object type
1111
let _: S<'static, 'static>;
1212
//~^ ERROR wrong number of lifetime arguments: expected 1, found 2
1313
//~| ERROR wrong number of type arguments: expected 1, found 0
1414
let _: S<dyn 'static +, 'static>;
1515
//~^ ERROR lifetime arguments must be declared prior to type arguments
16-
//~| ERROR at least one non-builtin trait is required for an object type
16+
//~| ERROR at least one trait is required for an object type
1717
}

Diff for: src/test/ui/traits/trait-object-vs-lifetime.stderr

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ error: lifetime arguments must be declared prior to type arguments
44
LL | let _: S<dyn 'static +, 'static>;
55
| ^^^^^^^
66

7-
error[E0224]: at least one non-builtin trait is required for an object type
7+
error[E0224]: at least one trait is required for an object type
88
--> $DIR/trait-object-vs-lifetime.rs:9:23
99
|
1010
LL | let _: S<'static, dyn 'static +>;
@@ -22,7 +22,7 @@ error[E0107]: wrong number of type arguments: expected 1, found 0
2222
LL | let _: S<'static, 'static>;
2323
| ^^^^^^^^^^^^^^^^^^^ expected 1 type argument
2424

25-
error[E0224]: at least one non-builtin trait is required for an object type
25+
error[E0224]: at least one trait is required for an object type
2626
--> $DIR/trait-object-vs-lifetime.rs:14:14
2727
|
2828
LL | let _: S<dyn 'static +, 'static>;
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Test that `dyn ?Sized` (i.e., a trait object with only a maybe buond) is not allowed.
22

33
type _0 = dyn ?Sized;
4-
//~^ ERROR at least one non-builtin trait is required for an object type [E0224]
4+
//~^ ERROR at least one trait is required for an object type [E0224]
55
//~| ERROR ?Trait` is not permitted in trait object types
66

77
fn main() {}

Diff for: src/test/ui/traits/wf-trait-object-only-maybe-bound.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ error: `?Trait` is not permitted in trait object types
44
LL | type _0 = dyn ?Sized;
55
| ^^^^^^
66

7-
error[E0224]: at least one non-builtin trait is required for an object type
7+
error[E0224]: at least one trait is required for an object type
88
--> $DIR/wf-trait-object-only-maybe-bound.rs:3:11
99
|
1010
LL | type _0 = dyn ?Sized;

0 commit comments

Comments
 (0)