mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 18:53:39 +00:00
a9841936fe
Change the implicit `Sized` `Obligation` `Span` for call expressions to include the whole expression. This aids the existing deduplication machinery to reduce the number of errors caused by a single unsized expression.
23 lines
934 B
Plaintext
23 lines
934 B
Plaintext
error[E0277]: the trait bound `dyn Trait<A = A, B = B>: Trait` is not satisfied
|
|
--> $DIR/more-object-bound.rs:12:5
|
|
|
|
|
LL | foo::<A, B, dyn Trait<A = A, B = B>>(x)
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Trait` is not implemented for `dyn Trait<A = A, B = B>`
|
|
|
|
|
note: required by a bound in `foo`
|
|
--> $DIR/more-object-bound.rs:18:8
|
|
|
|
|
LL | fn foo<A, B, T: ?Sized>(x: T::A) -> B
|
|
| --- required by a bound in this function
|
|
LL | where
|
|
LL | T: Trait<B = B>,
|
|
| ^^^^^^^^^^^^ required by this bound in `foo`
|
|
help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
|
|
|
|
|
LL | fn transmute<A, B>(x: A) -> B where dyn Trait<A = A, B = B>: Trait {
|
|
| ++++++++++++++++++++++++++++++++++++
|
|
|
|
error: aborting due to 1 previous error
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|