X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=compiler%2Frustc_metadata%2Fsrc%2Frmeta%2Fdecoder.rs;h=1e2b4aaef805f41f0939a542d33014a99d2ae533;hb=4ecb49eba3770e4826346486252b9e7a1b5fcb33;hp=ca9daa49aa2d2115d4e522d23ef38996af7f7a80;hpb=d29e98fe93e60b68cf2bfcd62afa50bedfcc0af3;p=rust.git diff --git a/compiler/rustc_metadata/src/rmeta/decoder.rs b/compiler/rustc_metadata/src/rmeta/decoder.rs index ca9daa49aa2..1e2b4aaef80 100644 --- a/compiler/rustc_metadata/src/rmeta/decoder.rs +++ b/compiler/rustc_metadata/src/rmeta/decoder.rs @@ -1219,10 +1219,11 @@ fn is_item_mir_available(&self, id: DefIndex) -> bool { } fn module_expansion(&self, id: DefIndex, sess: &Session) -> ExpnId { - if let EntryKind::Mod(m) = self.kind(id) { - m.decode((self, sess)).expansion - } else { - panic!("Expected module, found {:?}", self.local_def_id(id)) + match self.kind(id) { + EntryKind::Mod(_) | EntryKind::Enum(_) | EntryKind::Trait(_) => { + self.get_expn_that_defined(id, sess) + } + _ => panic!("Expected module, found {:?}", self.local_def_id(id)), } }