diff options
Diffstat (limited to 'compiler/rustc_resolve/src/diagnostics.rs')
| -rw-r--r-- | compiler/rustc_resolve/src/diagnostics.rs | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/compiler/rustc_resolve/src/diagnostics.rs b/compiler/rustc_resolve/src/diagnostics.rs index 3af69b28780..d0a95e6b2ad 100644 --- a/compiler/rustc_resolve/src/diagnostics.rs +++ b/compiler/rustc_resolve/src/diagnostics.rs @@ -803,11 +803,16 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> { } err.multipart_suggestion(msg, suggestions, applicability); } - if let Some(ModuleOrUniformRoot::Module(module)) = module - && let Some(module) = module.opt_def_id() - && let Some(segment) = segment - { - self.find_cfg_stripped(&mut err, &segment, module); + + if let Some(segment) = segment { + if let Some(ModuleOrUniformRoot::Module(module)) = module { + let module = + module.opt_def_id().unwrap_or_else(|| CRATE_DEF_ID.to_def_id()); + self.find_cfg_stripped(&mut err, &segment, module); + } else { + let module = CRATE_DEF_ID.to_def_id(); + self.find_cfg_stripped(&mut err, &segment, module); + } } err |
