Skip to content

Commit 7dd57bf

Browse files
committed
Don't throw feature errors when it seems like someone is trying to use the extern prelude
Sometimes that someone is the compiler speculatively resolving things to provide better error messages or lints
1 parent 2ec6fac commit 7dd57bf

File tree

3 files changed

+1
-17
lines changed

3 files changed

+1
-17
lines changed

src/librustc_resolve/lib.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1975,9 +1975,7 @@ impl<'a> Resolver<'a> {
19751975
if !module.no_implicit_prelude {
19761976
if ns == TypeNS && self.extern_prelude.contains(&ident.name) {
19771977
if !self.session.features_untracked().extern_prelude {
1978-
feature_err(&self.session.parse_sess, "extern_prelude",
1979-
ident.span, GateIssue::Language,
1980-
"access to extern crates through prelude is experimental").emit();
1978+
return None;
19811979
}
19821980

19831981
let crate_id = self.crate_loader.process_path_extern(ident.name, ident.span);

src/test/run-make-fulldeps/extern-prelude/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,5 @@ all:
77
$(RUSTC) basic.rs --extern ep_lib=$(TMPDIR)/libep_lib.rlib
88
$(RUSTC) shadow-mod.rs --extern ep_lib=$(TMPDIR)/libep_lib.rlib
99
$(RUSTC) shadow-prelude.rs --extern Vec=$(TMPDIR)/libep_vec.rlib
10-
$(RUSTC) feature-gate.rs --extern ep_lib=$(TMPDIR)/libep_lib.rlib 2>&1 | $(CGREP) "access to extern crates through prelude is experimental"
1110
$(RUSTC) relative-only.rs --extern ep_lib=$(TMPDIR)/libep_lib.rlib 2>&1 | $(CGREP) "unresolved import"
1211
$(RUSTC) relative-only.rs --extern ep_lib=$(TMPDIR)/libep_lib.rlib 2>&1 | $(CGREP) "failed to resolve"

src/test/run-make-fulldeps/extern-prelude/feature-gate.rs

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)