mirror of
https://github.com/rust-lang/rust.git
synced 2025-11-01 21:45:15 +00:00
Expand the primary span of E0277 when the immediate unmet bound is not what the user wrote:
```
error[E0277]: the trait bound `i32: Bar` is not satisfied
--> f100.rs:6:6
|
6 | <i32 as Foo>::foo();
| ^^^ the trait `Bar` is not implemented for `i32`, which is required by `i32: Foo`
|
help: this trait has no implementations, consider adding one
--> f100.rs:2:1
|
2 | trait Bar {}
| ^^^^^^^^^
note: required for `i32` to implement `Foo`
--> f100.rs:3:14
|
3 | impl<T: Bar> Foo for T {}
| --- ^^^ ^
| |
| unsatisfied trait bound introduced here
```
Fix #40120.
22 lines
842 B
Plaintext
22 lines
842 B
Plaintext
error[E0277]: `String` is not an iterator
|
|
--> $DIR/string.rs:2:14
|
|
|
|
|
LL | for _ in "".to_owned() {}
|
|
| ^^^^^^^^^^^^^ `String` is not an iterator; try calling `.chars()` or `.bytes()`
|
|
|
|
|
= help: the trait `Iterator` is not implemented for `String`, which is required by `String: IntoIterator`
|
|
= note: required for `String` to implement `IntoIterator`
|
|
|
|
error[E0277]: `&str` is not an iterator
|
|
--> $DIR/string.rs:4:14
|
|
|
|
|
LL | for _ in "" {}
|
|
| ^^ `&str` is not an iterator; try calling `.chars()` or `.bytes()`
|
|
|
|
|
= help: the trait `Iterator` is not implemented for `&str`, which is required by `&str: IntoIterator`
|
|
= note: required for `&str` to implement `IntoIterator`
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|