1
Fork 0

Address review feedbacks

Also addressed merge conflicts upon rebasing.
This commit is contained in:
Hirochika Matsumoto 2023-05-16 14:53:05 +09:00
parent 61c3e4d56e
commit 730d299354
3 changed files with 18 additions and 23 deletions

View file

@ -571,6 +571,7 @@ impl<'a> Parser<'a> {
// integer literal (e.g. `1:42`), it's likely a range
// expression for Pythonistas and we can suggest so.
if self.prev_token.is_integer_lit()
&& self.may_recover()
&& self.look_ahead(1, |token| token.is_integer_lit())
{
// FIXME(hkmatsumoto): Might be better to trigger
@ -581,22 +582,22 @@ impl<'a> Parser<'a> {
"..",
Applicability::MaybeIncorrect,
);
}
// if next token is following a colon, it's likely a path
// and we can suggest a path separator
self.bump();
if self.token.span.lo() == self.prev_token.span.hi() {
err.span_suggestion_verbose(
self.prev_token.span,
"maybe write a path separator here",
"::",
Applicability::MaybeIncorrect,
);
}
if self.sess.unstable_features.is_nightly_build() {
// FIXME(Nilstrieb): Remove this again after a few months.
err.note("type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>");
} else {
// if next token is following a colon, it's likely a path
// and we can suggest a path separator
self.bump();
if self.token.span.lo() == self.prev_token.span.hi() {
err.span_suggestion_verbose(
self.prev_token.span,
"maybe write a path separator here",
"::",
Applicability::MaybeIncorrect,
);
}
if self.sess.unstable_features.is_nightly_build() {
// FIXME(Nilstrieb): Remove this again after a few months.
err.note("type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>");
}
}
}

View file

@ -4,5 +4,4 @@ fn main() {
&[1, 2, 3][1:2];
//~^ ERROR: expected one of
//~| HELP: you might have meant to make a slice with range index
//~| HELP: maybe write a path separator here
}

View file

@ -4,15 +4,10 @@ error: expected one of `.`, `?`, `]`, or an operator, found `:`
LL | &[1, 2, 3][1:2];
| ^ expected one of `.`, `?`, `]`, or an operator
|
= note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
help: you might have meant to make a slice with range index
|
LL | &[1, 2, 3][1..2];
| ~~
help: maybe write a path separator here
|
LL | &[1, 2, 3][1::2];
| ~~
error: aborting due to previous error
error: aborting due to 1 previous error