From: Dylan MacKenzie Date: Thu, 14 Nov 2019 20:07:35 +0000 (-0800) Subject: Remove newtype for qualifs in `rustc_metadata` X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=a1135cc9463437ed806876b2406379c25321e7d3;p=rust.git Remove newtype for qualifs in `rustc_metadata` We have a proper type for these now, so the wrapper is no longer necessary. --- diff --git a/src/librustc_metadata/rmeta/decoder.rs b/src/librustc_metadata/rmeta/decoder.rs index 9e8b22e00d9..fc0a0010240 100644 --- a/src/librustc_metadata/rmeta/decoder.rs +++ b/src/librustc_metadata/rmeta/decoder.rs @@ -957,7 +957,7 @@ fn mir_const_qualif(&self, id: DefIndex) -> mir::ConstQualifs { EntryKind::Const(qualif, _) | EntryKind::AssocConst(AssocContainer::ImplDefault, qualif, _) | EntryKind::AssocConst(AssocContainer::ImplFinal, qualif, _) => { - qualif.mir + qualif } _ => bug!(), } diff --git a/src/librustc_metadata/rmeta/encoder.rs b/src/librustc_metadata/rmeta/encoder.rs index 633b3daa8fa..483915f654d 100644 --- a/src/librustc_metadata/rmeta/encoder.rs +++ b/src/librustc_metadata/rmeta/encoder.rs @@ -877,7 +877,7 @@ fn encode_info_for_trait_item(&mut self, def_id: DefId) { EntryKind::AssocConst( container, - ConstQualif { mir: Default::default() }, + Default::default(), rendered_const, ) } @@ -959,10 +959,11 @@ fn encode_info_for_impl_item(&mut self, def_id: DefId) { record!(self.per_def.kind[def_id] <- match impl_item.kind { ty::AssocKind::Const => { if let hir::ImplItemKind::Const(_, body_id) = ast_item.kind { - let mir = self.tcx.at(ast_item.span).mir_const_qualif(def_id); + let qualifs = self.tcx.at(ast_item.span).mir_const_qualif(def_id); - EntryKind::AssocConst(container, - ConstQualif { mir }, + EntryKind::AssocConst( + container, + qualifs, self.encode_rendered_const_for_body(body_id)) } else { bug!() @@ -1093,9 +1094,9 @@ fn encode_info_for_item(&mut self, def_id: DefId, item: &'tcx hir::Item) { hir::ItemKind::Static(_, hir::Mutability::Mutable, _) => EntryKind::MutStatic, hir::ItemKind::Static(_, hir::Mutability::Immutable, _) => EntryKind::ImmStatic, hir::ItemKind::Const(_, body_id) => { - let mir = self.tcx.at(item.span).mir_const_qualif(def_id); + let qualifs = self.tcx.at(item.span).mir_const_qualif(def_id); EntryKind::Const( - ConstQualif { mir }, + qualifs, self.encode_rendered_const_for_body(body_id) ) } @@ -1372,9 +1373,9 @@ fn encode_info_for_anon_const(&mut self, def_id: DefId) { let id = self.tcx.hir().as_local_hir_id(def_id).unwrap(); let body_id = self.tcx.hir().body_owned_by(id); let const_data = self.encode_rendered_const_for_body(body_id); - let mir = self.tcx.mir_const_qualif(def_id); + let qualifs = self.tcx.mir_const_qualif(def_id); - record!(self.per_def.kind[def_id] <- EntryKind::Const(ConstQualif { mir }, const_data)); + record!(self.per_def.kind[def_id] <- EntryKind::Const(qualifs, const_data)); record!(self.per_def.visibility[def_id] <- ty::Visibility::Public); record!(self.per_def.span[def_id] <- self.tcx.def_span(def_id)); self.encode_item_type(def_id); diff --git a/src/librustc_metadata/rmeta/mod.rs b/src/librustc_metadata/rmeta/mod.rs index 8bd7b3392b1..850ee5afbc8 100644 --- a/src/librustc_metadata/rmeta/mod.rs +++ b/src/librustc_metadata/rmeta/mod.rs @@ -260,7 +260,7 @@ macro_rules! Lazy { #[derive(Copy, Clone, RustcEncodable, RustcDecodable)] enum EntryKind<'tcx> { - Const(ConstQualif, Lazy), + Const(mir::ConstQualifs, Lazy), ImmStatic, MutStatic, ForeignImmStatic, @@ -288,16 +288,10 @@ enum EntryKind<'tcx> { Method(Lazy), AssocType(AssocContainer), AssocOpaqueTy(AssocContainer), - AssocConst(AssocContainer, ConstQualif, Lazy), + AssocConst(AssocContainer, mir::ConstQualifs, Lazy), TraitAlias, } -/// Additional data for EntryKind::Const and EntryKind::AssocConst -#[derive(Clone, Copy, RustcEncodable, RustcDecodable)] -struct ConstQualif { - mir: mir::ConstQualifs, -} - /// Contains a constant which has been rendered to a String. /// Used by rustdoc. #[derive(RustcEncodable, RustcDecodable)]