diff --git a/compiler/rustc_middle/src/query/on_disk_cache.rs b/compiler/rustc_middle/src/query/on_disk_cache.rs
index 220118ae5ccb8..6b7d49a2d8b9c 100644
--- a/compiler/rustc_middle/src/query/on_disk_cache.rs
+++ b/compiler/rustc_middle/src/query/on_disk_cache.rs
@@ -1,16 +1,14 @@
use rustc_data_structures::fx::{FxHashMap, FxIndexSet};
use rustc_data_structures::memmap::Mmap;
use rustc_data_structures::stable_hasher::Hash64;
-use rustc_data_structures::sync::{HashMapExt, Lock, Lrc, RwLock};
+use rustc_data_structures::sync::{Lock, Lrc, RwLock};
use rustc_data_structures::unhash::UnhashMap;
-use rustc_data_structures::unord::UnordSet;
-use rustc_hir::def_id::{CrateNum, DefId, DefIndex, LocalDefId, StableCrateId, LOCAL_CRATE};
-use rustc_hir::definitions::DefPathHash;
-use rustc_index::{Idx, IndexVec};
+use rustc_hir::def_id::{CrateNum, DefId, DefIndex, StableCrateId, LOCAL_CRATE};
+use rustc_index::Idx;
use rustc_middle::dep_graph::{DepNodeIndex, SerializedDepNodeIndex};
-use rustc_middle::mir::interpret::{AllocDecodingSession, AllocDecodingState};
-use rustc_middle::mir::{self, interpret};
-use rustc_middle::ty::codec::{RefDecodable, TyDecoder, TyEncoder};
+use rustc_middle::mir::interpret;
+use rustc_middle::mir::interpret::AllocDecodingState;
+use rustc_middle::ty::codec::TyEncoder;
use rustc_middle::ty::{self, Ty, TyCtxt};
use rustc_query_system::query::QuerySideEffects;
use rustc_serialize::{
@@ -18,31 +16,28 @@ use rustc_serialize::{
Decodable, Decoder, Encodable, Encoder,
};
use rustc_session::Session;
-use rustc_span::hygiene::{
- ExpnId, HygieneDecodeContext, HygieneEncodeContext, SyntaxContext, SyntaxContextData,
-};
+use rustc_span::hygiene::{ExpnId, HygieneDecodeContext, HygieneEncodeContext, SyntaxContext};
use rustc_span::source_map::{SourceMap, StableSourceFileId};
-use rustc_span::{BytePos, ExpnData, ExpnHash, Pos, SourceFile, Span};
use rustc_span::{CachingSourceMapView, Symbol};
+use rustc_span::{ExpnHash, Pos, SourceFile, Span};
use std::collections::hash_map::Entry;
use std::io;
-use std::mem;
const TAG_FILE_FOOTER: u128 = 0xC0FFEE_C0FFEE_C0FFEE_C0FFEE_C0FFEE;
// A normal span encoded with both location information and a `SyntaxContext`
-const TAG_FULL_SPAN: u8 = 0;
+pub const TAG_FULL_SPAN: u8 = 0;
// A partial span with no location information, encoded only with a `SyntaxContext`
-const TAG_PARTIAL_SPAN: u8 = 1;
-const TAG_RELATIVE_SPAN: u8 = 2;
+pub const TAG_PARTIAL_SPAN: u8 = 1;
+pub const TAG_RELATIVE_SPAN: u8 = 2;
-const TAG_SYNTAX_CONTEXT: u8 = 0;
-const TAG_EXPN_DATA: u8 = 1;
+pub const TAG_SYNTAX_CONTEXT: u8 = 0;
+pub const TAG_EXPN_DATA: u8 = 1;
// Tags for encoding Symbol's
-const SYMBOL_STR: u8 = 0;
-const SYMBOL_OFFSET: u8 = 1;
-const SYMBOL_PREINTERNED: u8 = 2;
+pub const SYMBOL_STR: u8 = 0;
+pub const SYMBOL_OFFSET: u8 = 1;
+pub const SYMBOL_PREINTERNED: u8 = 2;
/// Provides an interface to incremental compilation data cached from the
/// previous compilation session. This data will eventually include the results
@@ -50,34 +45,34 @@ const SYMBOL_PREINTERNED: u8 = 2;
/// any side effects that have been emitted during a query.
pub struct OnDiskCache<'sess> {
// The complete cache data in serialized form.
- serialized_data: RwLock