Skip to content

Commit c32a2cd

Browse files
authored
Rollup merge of #156353 - petrochenkov:selfdecl, r=mu001999
resolve: Set correct parent and expansion for `self` declarations Follow up to #146972 and #154313. The `parent` seems to not be used yet, it will ICE if used (#156185 uses it). The `expn_id` is only relevant to macros 2.0, I won't bother coming up with a test.
2 parents 80263e1 + 16729bc commit c32a2cd

1 file changed

Lines changed: 4 additions & 7 deletions

File tree

  • compiler/rustc_resolve/src

compiler/rustc_resolve/src/lib.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1548,13 +1548,10 @@ impl<'ra> ResolverArenas<'ra> {
15481548
no_implicit_prelude: bool,
15491549
) -> Module<'ra> {
15501550
let self_decl = match kind {
1551-
ModuleKind::Def(def_kind, def_id, _, _) => Some(self.new_def_decl(
1552-
Res::Def(def_kind, def_id),
1553-
vis,
1554-
span,
1555-
LocalExpnId::ROOT,
1556-
None,
1557-
)),
1551+
ModuleKind::Def(def_kind, def_id, _, _) => {
1552+
let expn_id = expn_id.as_local().unwrap_or(LocalExpnId::ROOT);
1553+
Some(self.new_def_decl(Res::Def(def_kind, def_id), vis, span, expn_id, parent))
1554+
}
15581555
ModuleKind::Block => None,
15591556
};
15601557
Module(Interned::new_unchecked(self.modules.alloc(ModuleData::new(

0 commit comments

Comments
 (0)