Fix issue with using self module via indirection

This commit is contained in:
varkor 2020-01-10 22:29:57 +00:00
parent 2d8d559bbe
commit 799efd3615
2 changed files with 9 additions and 0 deletions

View File

@ -652,6 +652,9 @@ impl EmbargoVisitor<'tcx> {
if let Some(item) = module
.res
.and_then(|res| res.mod_def_id())
// If the module is `self`, i.e. the current crate,
// there will be no corresponding item.
.filter(|def_id| def_id.index != CRATE_DEF_INDEX || def_id.krate != LOCAL_CRATE)
.and_then(|def_id| self.tcx.hir().as_local_hir_id(def_id))
.map(|module_hir_id| self.tcx.hir().expect_item(module_hir_id))
{

View File

@ -0,0 +1,6 @@
// check-pass
pub extern crate self as name;
pub use name::name as bug;
fn main() {}