forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#134256 - krtab:suggestion_overlapping, r=petrochenkov Use a more precise span in placeholder_type_error_diag Closes: rust-lang#123861
- Loading branch information
Showing
4 changed files
with
64 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
fn mainIterator<_ = _> {} | ||
//~^ ERROR expected identifier, found reserved identifier `_` | ||
//~| ERROR missing parameters for function definition | ||
//~| ERROR defaults for type parameters are only allowed in `struct`, `enum`, `type`, or `trait` definitions [invalid_type_param_default] | ||
//~| WARNING this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! | ||
//~| ERROR the placeholder `_` is not allowed within types on item signatures for functions [E0121] | ||
|
||
fn main() {} |
52 changes: 52 additions & 0 deletions
52
tests/ui/generics/overlapping-errors-span-issue-123861.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
error: expected identifier, found reserved identifier `_` | ||
--> $DIR/overlapping-errors-span-issue-123861.rs:1:17 | ||
| | ||
LL | fn mainIterator<_ = _> {} | ||
| ^ expected identifier, found reserved identifier | ||
|
||
error: missing parameters for function definition | ||
--> $DIR/overlapping-errors-span-issue-123861.rs:1:23 | ||
| | ||
LL | fn mainIterator<_ = _> {} | ||
| ^ | ||
| | ||
help: add a parameter list | ||
| | ||
LL | fn mainIterator<_ = _>() {} | ||
| ++ | ||
|
||
error: defaults for type parameters are only allowed in `struct`, `enum`, `type`, or `trait` definitions | ||
--> $DIR/overlapping-errors-span-issue-123861.rs:1:17 | ||
| | ||
LL | fn mainIterator<_ = _> {} | ||
| ^^^^^ | ||
| | ||
= 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 #36887 <https://github.com/rust-lang/rust/issues/36887> | ||
= note: `#[deny(invalid_type_param_default)]` on by default | ||
|
||
error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions | ||
--> $DIR/overlapping-errors-span-issue-123861.rs:1:21 | ||
| | ||
LL | fn mainIterator<_ = _> {} | ||
| ^ not allowed in type signatures | ||
| | ||
help: use type parameters instead | ||
| | ||
LL | fn mainIterator<T = T> {} | ||
| ~ ~ | ||
|
||
error: aborting due to 4 previous errors | ||
|
||
For more information about this error, try `rustc --explain E0121`. | ||
Future incompatibility report: Future breakage diagnostic: | ||
error: defaults for type parameters are only allowed in `struct`, `enum`, `type`, or `trait` definitions | ||
--> $DIR/overlapping-errors-span-issue-123861.rs:1:17 | ||
| | ||
LL | fn mainIterator<_ = _> {} | ||
| ^^^^^ | ||
| | ||
= 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 #36887 <https://github.com/rust-lang/rust/issues/36887> | ||
= note: `#[deny(invalid_type_param_default)]` on by default | ||
|