]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_resolve/lib.rs
resolve: Prohibit use of imported tool modules
[rust.git] / src / librustc_resolve / lib.rs
index cf949b62a634e3fb684e56052ef1f9b6c1644425..e656e5329b5a54f0c7a7e8a0425bf2a56de68e3a 100644 (file)
@@ -3874,6 +3874,13 @@ fn resolve_path(
                         module = Some(ModuleOrUniformRoot::Module(next_module));
                         record_segment_def(self, def);
                     } else if def == Def::ToolMod && i + 1 != path.len() {
+                        if binding.is_import() {
+                            self.session.struct_span_err(
+                                ident.span, "cannot use a tool module through an import"
+                            ).span_note(
+                                binding.span, "the tool module imported here"
+                            ).emit();
+                        }
                         let def = Def::NonMacroAttr(NonMacroAttrKind::Tool);
                         return PathResult::NonModule(PathResolution::new(def));
                     } else if def == Def::Err {