Point at Sized bound
This commit is contained in:
parent
fca5c64abd
commit
1c9242f83f
9 changed files with 76 additions and 9 deletions
|
|
@ -1,6 +1,9 @@
|
|||
error[E0038]: the trait `NonObjectSafe1` cannot be made into an object
|
||||
--> $DIR/feature-gate-object_safe_for_dispatch.rs:18:38
|
||||
|
|
||||
LL | trait NonObjectSafe1: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | fn takes_non_object_safe_ref<T>(obj: &dyn NonObjectSafe1) {
|
||||
| ^^^^^^^^^^^^^^^^^^^ the trait `NonObjectSafe1` cannot be made into an object
|
||||
|
|
||||
|
|
@ -36,6 +39,9 @@ LL | fn return_non_object_safe_rc() -> std::rc::Rc<dyn NonObjectSafe4> {
|
|||
error[E0038]: the trait `NonObjectSafe1` cannot be made into an object
|
||||
--> $DIR/feature-gate-object_safe_for_dispatch.rs:38:6
|
||||
|
|
||||
LL | trait NonObjectSafe1: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | impl Trait for dyn NonObjectSafe1 {}
|
||||
| ^^^^^ the trait `NonObjectSafe1` cannot be made into an object
|
||||
|
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
error[E0038]: the trait `Array` cannot be made into an object
|
||||
--> $DIR/issue-20692.rs:7:5
|
||||
|
|
||||
LL | trait Array: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | &dyn Array;
|
||||
| ^^^^^^^^^^ the trait `Array` cannot be made into an object
|
||||
|
|
||||
|
|
@ -9,6 +12,9 @@ LL | &dyn Array;
|
|||
error[E0038]: the trait `Array` cannot be made into an object
|
||||
--> $DIR/issue-20692.rs:4:13
|
||||
|
|
||||
LL | trait Array: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | let _ = x
|
||||
| ^ the trait `Array` cannot be made into an object
|
||||
|
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ error: the trait `X` cannot be made into an object
|
|||
--> $DIR/issue-50781.rs:6:8
|
||||
|
|
||||
LL | fn foo(&self) where Self: Trait;
|
||||
| ^^^
|
||||
| ^^^ method `foo` references the `Self` type in where clauses
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> $DIR/issue-50781.rs:1:9
|
||||
|
|
@ -11,7 +11,6 @@ LL | #![deny(where_clauses_object_safety)]
|
|||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #51443 <https://github.com/rust-lang/rust/issues/51443>
|
||||
= note: method `foo` references the `Self` type in where clauses
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
error[E0038]: the trait `Bar` cannot be made into an object
|
||||
--> $DIR/object-safety-sized.rs:12:30
|
||||
|
|
||||
LL | trait Bar : Sized {
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | fn make_bar<T:Bar>(t: &T) -> &dyn Bar {
|
||||
| ^^^^^^^^ the trait `Bar` cannot be made into an object
|
||||
|
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
error[E0038]: the trait `Bar` cannot be made into an object
|
||||
--> $DIR/object-safety-sized.rs:14:5
|
||||
|
|
||||
LL | trait Bar : Sized {
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | t
|
||||
| ^ the trait `Bar` cannot be made into an object
|
||||
|
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
error[E0038]: the trait `Trait` cannot be made into an object
|
||||
--> $DIR/wf-convert-unsafe-trait-obj-box.rs:16:33
|
||||
|
|
||||
LL | trait Trait: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | let t_box: Box<dyn Trait> = Box::new(S);
|
||||
| ^^^^^^^^^^^ the trait `Trait` cannot be made into an object
|
||||
|
|
||||
|
|
@ -11,6 +14,9 @@ LL | let t_box: Box<dyn Trait> = Box::new(S);
|
|||
error[E0038]: the trait `Trait` cannot be made into an object
|
||||
--> $DIR/wf-convert-unsafe-trait-obj-box.rs:17:15
|
||||
|
|
||||
LL | trait Trait: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | takes_box(Box::new(S));
|
||||
| ^^^^^^^^^^^ the trait `Trait` cannot be made into an object
|
||||
|
|
||||
|
|
@ -21,6 +27,9 @@ LL | takes_box(Box::new(S));
|
|||
error[E0038]: the trait `Trait` cannot be made into an object
|
||||
--> $DIR/wf-convert-unsafe-trait-obj-box.rs:15:5
|
||||
|
|
||||
LL | trait Trait: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | Box::new(S) as Box<dyn Trait>;
|
||||
| ^^^^^^^^^^^ the trait `Trait` cannot be made into an object
|
||||
|
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
error[E0038]: the trait `Trait` cannot be made into an object
|
||||
--> $DIR/wf-convert-unsafe-trait-obj.rs:16:25
|
||||
|
|
||||
LL | trait Trait: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | let t: &dyn Trait = &S;
|
||||
| ^^ the trait `Trait` cannot be made into an object
|
||||
|
|
||||
|
|
@ -11,6 +14,9 @@ LL | let t: &dyn Trait = &S;
|
|||
error[E0038]: the trait `Trait` cannot be made into an object
|
||||
--> $DIR/wf-convert-unsafe-trait-obj.rs:17:17
|
||||
|
|
||||
LL | trait Trait: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | takes_trait(&S);
|
||||
| ^^ the trait `Trait` cannot be made into an object
|
||||
|
|
||||
|
|
@ -21,6 +27,9 @@ LL | takes_trait(&S);
|
|||
error[E0038]: the trait `Trait` cannot be made into an object
|
||||
--> $DIR/wf-convert-unsafe-trait-obj.rs:15:5
|
||||
|
|
||||
LL | trait Trait: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | &S as &dyn Trait;
|
||||
| ^^ the trait `Trait` cannot be made into an object
|
||||
|
|
||||
|
|
|
|||
|
|
@ -15,6 +15,9 @@ LL | | }
|
|||
error[E0038]: the trait `Trait` cannot be made into an object
|
||||
--> $DIR/wf-unsafe-trait-obj-match.rs:26:21
|
||||
|
|
||||
LL | trait Trait: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | Some(()) => &S,
|
||||
| ^^ the trait `Trait` cannot be made into an object
|
||||
|
|
||||
|
|
@ -25,6 +28,9 @@ LL | Some(()) => &S,
|
|||
error[E0038]: the trait `Trait` cannot be made into an object
|
||||
--> $DIR/wf-unsafe-trait-obj-match.rs:25:25
|
||||
|
|
||||
LL | trait Trait: Sized {}
|
||||
| ----- the trait cannot require that `Self : Sized`
|
||||
...
|
||||
LL | let t: &dyn Trait = match opt() {
|
||||
| ^^^^^^^^^^^ the trait `Trait` cannot be made into an object
|
||||
|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue