Skip to content

Commit

Permalink
Auto merge of #57208 - estebank:issue-57198, r=petrochenkov
Browse files Browse the repository at this point in the history
Do not complain about missing crate named as a keyword

Fix #57198.
  • Loading branch information
bors committed Dec 31, 2018
2 parents f39bd9b + cef919e commit aeed63b
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 2 deletions.
5 changes: 4 additions & 1 deletion src/librustc_resolve/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3925,8 +3925,11 @@ impl<'a> Resolver<'a> {
});
if let Some(candidate) = candidates.get(0) {
format!("did you mean `{}`?", candidate.path)
} else {
} else if !ident.is_reserved() {
format!("maybe a missing `extern crate {};`?", ident)
} else {
// the parser will already have complained about the keyword being used
return PathResult::NonModule(err_path_resolution());
}
} else if i == 0 {
format!("use of undeclared type or module `{}`", ident)
Expand Down
2 changes: 1 addition & 1 deletion src/librustc_resolve/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -929,7 +929,7 @@ impl<'a> Resolver<'a> {
let def = path_res.base_def();
check_consistency(self, &path, path_span, kind, initial_def, def);
}
path_res @ PathResult::NonModule(..) | path_res @ PathResult::Failed(..) => {
path_res @ PathResult::NonModule(..) | path_res @ PathResult::Failed(..) => {
let (span, msg) = if let PathResult::Failed(span, msg, ..) = path_res {
(span, msg)
} else {
Expand Down
9 changes: 9 additions & 0 deletions src/test/ui/issues/issue-57198-pass.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// run-pass

mod m {
pub fn r#for() {}
}

fn main() {
m::r#for();
}
8 changes: 8 additions & 0 deletions src/test/ui/issues/issue-57198.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
mod m {
pub fn r#for() {}
}

fn main() {
m::for();
//~^ ERROR expected identifier, found keyword `for`
}
8 changes: 8 additions & 0 deletions src/test/ui/issues/issue-57198.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
error: expected identifier, found keyword `for`
--> $DIR/issue-57198.rs:6:8
|
LL | m::for();
| ^^^ expected identifier, found keyword

error: aborting due to previous error

0 comments on commit aeed63b

Please sign in to comment.