Skip to content

Commit

Permalink
Fix issue with using self module via indirection
Browse files Browse the repository at this point in the history
  • Loading branch information
varkor committed Jan 10, 2020
1 parent 2d8d559 commit 799efd3
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/librustc_privacy/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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))
{
Expand Down
6 changes: 6 additions & 0 deletions src/test/ui/issues/issue-68103.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// check-pass

pub extern crate self as name;
pub use name::name as bug;

fn main() {}

0 comments on commit 799efd3

Please sign in to comment.