Add a note for *
and {}
usage on use
This commit is contained in:
parent
9155a9dae5
commit
d063745023
@ -220,7 +220,22 @@ impl<'a> Parser<'a> {
|
||||
let info = if self.eat_keyword(kw::Use) {
|
||||
// USE ITEM
|
||||
let tree = self.parse_use_tree()?;
|
||||
self.expect_semi()?;
|
||||
|
||||
// If wildcard or glob-like brace syntax doesn't have `;`,
|
||||
// the user may not know `*` or `{}` should be the last.
|
||||
if let Err(mut e) = self.expect_semi() {
|
||||
match tree.kind {
|
||||
UseTreeKind::Glob => {
|
||||
e.note("the wildcard token must be last on the path").emit();
|
||||
}
|
||||
UseTreeKind::Nested(..) => {
|
||||
e.note("glob-like brace syntax must be last on the path").emit();
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
return Err(e);
|
||||
}
|
||||
|
||||
(Ident::invalid(), ItemKind::Use(P(tree)))
|
||||
} else if self.check_fn_front_matter() {
|
||||
// FUNCTION ITEM
|
||||
|
@ -3,6 +3,8 @@ error: expected `;`, found `::`
|
||||
|
|
||||
LL | use foo::{bar}::baz
|
||||
| ^^ expected `;`
|
||||
|
|
||||
= note: glob-like brace syntax must be last on the path
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -3,6 +3,8 @@ error: expected `;`, found keyword `as`
|
||||
|
|
||||
LL | use foo::{bar} as baz;
|
||||
| ^^ expected `;`
|
||||
|
|
||||
= note: glob-like brace syntax must be last on the path
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -3,6 +3,8 @@ error: expected `;`, found `::`
|
||||
|
|
||||
LL | use foo::*::bar
|
||||
| ^^ expected `;`
|
||||
|
|
||||
= note: the wildcard token must be last on the path
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -3,6 +3,8 @@ error: expected `;`, found keyword `as`
|
||||
|
|
||||
LL | use foo::* as baz;
|
||||
| ^^ expected `;`
|
||||
|
|
||||
= note: the wildcard token must be last on the path
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user