diff --git a/src/librustc/arena.rs b/src/librustc/arena.rs index 02ed30dd386..a9b7aa4c10d 100644 --- a/src/librustc/arena.rs +++ b/src/librustc/arena.rs @@ -14,7 +14,7 @@ macro_rules! arena_types { rustc::hir::def_id::DefId, rustc::ty::subst::SubstsRef<$tcx> )>, - [few] mir_keys: rustc::util::nodemap::DefIdSet, + [few, decode] mir_keys: rustc::util::nodemap::DefIdSet, [decode] specialization_graph: rustc::traits::specialization_graph::Graph, [] region_scope_tree: rustc::middle::region::ScopeTree, [] item_local_set: rustc::util::nodemap::ItemLocalSet, diff --git a/src/librustc/query/mod.rs b/src/librustc/query/mod.rs index 4514121da91..44a0cf55079 100644 --- a/src/librustc/query/mod.rs +++ b/src/librustc/query/mod.rs @@ -359,7 +359,7 @@ rustc_queries! { } Other { - query used_trait_imports(_: DefId) -> Lrc {} + query used_trait_imports(_: DefId) -> &'tcx DefIdSet {} } TypeChecking { diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index a20a91b3e6f..6ff4fe9eff1 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -808,8 +808,8 @@ fn has_typeck_tables<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, fn used_trait_imports<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, def_id: DefId) - -> Lrc { - tcx.typeck_tables_of(def_id).used_trait_imports.clone() + -> &'tcx DefIdSet { + &*tcx.typeck_tables_of(def_id).used_trait_imports } fn typeck_tables_of<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,