Skip to content

Commit

Permalink
Rollup merge of rust-lang#68106 - varkor:self_self_use, r=estebank
Browse files Browse the repository at this point in the history
Fix issue with using `self` module via indirection

Fixes rust-lang#68103.
  • Loading branch information
Centril authored Jan 11, 2020
2 parents c960c3e + 799efd3 commit 04a340f
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 04a340f

Please sign in to comment.