Skip to content

Commit b983e42

Browse files
committed
Rename rustc_serialize::opaque::Encoder as MemEncoder.
This avoids the name clash with `rustc_serialize::Encoder` (a trait), and allows lots qualifiers to be removed and imports to be simplified (e.g. fewer `as` imports).
1 parent dc08bc5 commit b983e42

File tree

23 files changed

+123
-140
lines changed

23 files changed

+123
-140
lines changed

compiler/rustc_ast/src/ast.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ use rustc_data_structures::stack::ensure_sufficient_stack;
3131
use rustc_data_structures::sync::Lrc;
3232
use rustc_data_structures::thin_vec::ThinVec;
3333
use rustc_macros::HashStable_Generic;
34-
use rustc_serialize::{self, Decoder, Encoder};
34+
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
3535
use rustc_span::source_map::{respan, Spanned};
3636
use rustc_span::symbol::{kw, sym, Ident, Symbol};
3737
use rustc_span::{Span, DUMMY_SP};
@@ -2472,11 +2472,11 @@ rustc_index::newtype_index! {
24722472
}
24732473
}
24742474

2475-
impl<S: Encoder> rustc_serialize::Encodable<S> for AttrId {
2475+
impl<S: Encoder> Encodable<S> for AttrId {
24762476
fn encode(&self, _s: &mut S) {}
24772477
}
24782478

2479-
impl<D: Decoder> rustc_serialize::Decodable<D> for AttrId {
2479+
impl<D: Decoder> Decodable<D> for AttrId {
24802480
fn decode(_: &mut D) -> AttrId {
24812481
crate::attr::mk_attr_id()
24822482
}

compiler/rustc_codegen_ssa/src/lib.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ use rustc_middle::dep_graph::WorkProduct;
2929
use rustc_middle::middle::dependency_format::Dependencies;
3030
use rustc_middle::middle::exported_symbols::SymbolExportKind;
3131
use rustc_middle::ty::query::{ExternProviders, Providers};
32-
use rustc_serialize::{opaque, Decodable, Decoder, Encodable, Encoder};
32+
use rustc_serialize::opaque::{MemDecoder, MemEncoder};
33+
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
3334
use rustc_session::config::{CrateType, OutputFilenames, OutputType, RUST_CGU_EXT};
3435
use rustc_session::cstore::{self, CrateSource};
3536
use rustc_session::utils::NativeLibKind;
@@ -203,7 +204,7 @@ const RUSTC_VERSION: Option<&str> = option_env!("CFG_VERSION");
203204

204205
impl CodegenResults {
205206
pub fn serialize_rlink(codegen_results: &CodegenResults) -> Vec<u8> {
206-
let mut encoder = opaque::Encoder::new();
207+
let mut encoder = MemEncoder::new();
207208
encoder.emit_raw_bytes(RLINK_MAGIC);
208209
// `emit_raw_bytes` is used to make sure that the version representation does not depend on
209210
// Encoder's inner representation of `u32`.
@@ -230,7 +231,7 @@ impl CodegenResults {
230231
return Err(".rlink file was produced with encoding version {version_array}, but the current version is {RLINK_VERSION}".to_string());
231232
}
232233

233-
let mut decoder = opaque::Decoder::new(&data[4..], 0);
234+
let mut decoder = MemDecoder::new(&data[4..], 0);
234235
let rustc_version = decoder.read_str();
235236
let current_version = RUSTC_VERSION.unwrap();
236237
if rustc_version != current_version {

compiler/rustc_data_structures/src/fingerprint.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::stable_hasher;
2-
use rustc_serialize::{Decodable, Encodable};
2+
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
33
use std::convert::TryInto;
44
use std::hash::{Hash, Hasher};
55

@@ -142,14 +142,14 @@ impl stable_hasher::StableHasherResult for Fingerprint {
142142

143143
impl_stable_hash_via_hash!(Fingerprint);
144144

145-
impl<E: rustc_serialize::Encoder> Encodable<E> for Fingerprint {
145+
impl<E: Encoder> Encodable<E> for Fingerprint {
146146
#[inline]
147147
fn encode(&self, s: &mut E) {
148148
s.emit_raw_bytes(&self.to_le_bytes());
149149
}
150150
}
151151

152-
impl<D: rustc_serialize::Decoder> Decodable<D> for Fingerprint {
152+
impl<D: Decoder> Decodable<D> for Fingerprint {
153153
#[inline]
154154
fn decode(d: &mut D) -> Self {
155155
Fingerprint::from_le_bytes(d.read_raw_bytes(16).try_into().unwrap())
@@ -184,7 +184,7 @@ impl std::fmt::Display for PackedFingerprint {
184184
}
185185
}
186186

187-
impl<E: rustc_serialize::Encoder> Encodable<E> for PackedFingerprint {
187+
impl<E: Encoder> Encodable<E> for PackedFingerprint {
188188
#[inline]
189189
fn encode(&self, s: &mut E) {
190190
// Copy to avoid taking reference to packed field.
@@ -193,7 +193,7 @@ impl<E: rustc_serialize::Encoder> Encodable<E> for PackedFingerprint {
193193
}
194194
}
195195

196-
impl<D: rustc_serialize::Decoder> Decodable<D> for PackedFingerprint {
196+
impl<D: Decoder> Decodable<D> for PackedFingerprint {
197197
#[inline]
198198
fn decode(d: &mut D) -> Self {
199199
Self(Fingerprint::decode(d))

compiler/rustc_incremental/src/persist/load.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use rustc_data_structures::fx::FxHashMap;
44
use rustc_data_structures::memmap::Mmap;
55
use rustc_middle::dep_graph::{SerializedDepGraph, WorkProduct, WorkProductId};
66
use rustc_middle::ty::OnDiskCache;
7-
use rustc_serialize::opaque::Decoder;
7+
use rustc_serialize::opaque::MemDecoder;
88
use rustc_serialize::Decodable;
99
use rustc_session::config::IncrementalStateAssertion;
1010
use rustc_session::Session;
@@ -156,7 +156,7 @@ pub fn load_dep_graph(sess: &Session) -> DepGraphFuture {
156156

157157
if let LoadResult::Ok { data: (work_products_data, start_pos) } = load_result {
158158
// Decode the list of work_products
159-
let mut work_product_decoder = Decoder::new(&work_products_data[..], start_pos);
159+
let mut work_product_decoder = MemDecoder::new(&work_products_data[..], start_pos);
160160
let work_products: Vec<SerializedWorkProduct> =
161161
Decodable::decode(&mut work_product_decoder);
162162

@@ -193,7 +193,7 @@ pub fn load_dep_graph(sess: &Session) -> DepGraphFuture {
193193
LoadResult::DataOutOfDate => LoadResult::DataOutOfDate,
194194
LoadResult::Error { message } => LoadResult::Error { message },
195195
LoadResult::Ok { data: (bytes, start_pos) } => {
196-
let mut decoder = Decoder::new(&bytes, start_pos);
196+
let mut decoder = MemDecoder::new(&bytes, start_pos);
197197
let prev_commandline_args_hash = u64::decode(&mut decoder);
198198

199199
if prev_commandline_args_hash != expected_hash {

compiler/rustc_incremental/src/persist/save.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use rustc_data_structures::sync::join;
33
use rustc_middle::dep_graph::{DepGraph, SerializedDepGraph, WorkProduct, WorkProductId};
44
use rustc_middle::ty::TyCtxt;
55
use rustc_serialize::opaque::{FileEncodeResult, FileEncoder};
6-
use rustc_serialize::Encodable as RustcEncodable;
6+
use rustc_serialize::Encodable;
77
use rustc_session::Session;
88
use std::fs;
99

compiler/rustc_metadata/src/rmeta/decoder.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ use rustc_middle::ty::codec::TyDecoder;
2626
use rustc_middle::ty::fast_reject::SimplifiedType;
2727
use rustc_middle::ty::GeneratorDiagnosticData;
2828
use rustc_middle::ty::{self, ParameterizedOverTcx, Ty, TyCtxt, Visibility};
29-
use rustc_serialize::{opaque, Decodable, Decoder};
29+
use rustc_serialize::opaque::MemDecoder;
30+
use rustc_serialize::{Decodable, Decoder};
3031
use rustc_session::cstore::{
3132
CrateSource, ExternCrate, ForeignModule, LinkagePreference, NativeLib,
3233
};
@@ -154,7 +155,7 @@ struct ImportedSourceFile {
154155
}
155156

156157
pub(super) struct DecodeContext<'a, 'tcx> {
157-
opaque: opaque::Decoder<'a>,
158+
opaque: MemDecoder<'a>,
158159
cdata: Option<CrateMetadataRef<'a>>,
159160
blob: &'a MetadataBlob,
160161
sess: Option<&'tcx Session>,
@@ -186,7 +187,7 @@ pub(super) trait Metadata<'a, 'tcx>: Copy {
186187
fn decoder(self, pos: usize) -> DecodeContext<'a, 'tcx> {
187188
let tcx = self.tcx();
188189
DecodeContext {
189-
opaque: opaque::Decoder::new(self.blob(), pos),
190+
opaque: MemDecoder::new(self.blob(), pos),
190191
cdata: self.cdata(),
191192
blob: self.blob(),
192193
sess: self.sess().or(tcx.map(|tcx| tcx.sess)),
@@ -418,7 +419,7 @@ impl<'a, 'tcx> TyDecoder for DecodeContext<'a, 'tcx> {
418419
where
419420
F: FnOnce(&mut Self) -> R,
420421
{
421-
let new_opaque = opaque::Decoder::new(self.opaque.data, pos);
422+
let new_opaque = MemDecoder::new(self.opaque.data, pos);
422423
let old_opaque = mem::replace(&mut self.opaque, new_opaque);
423424
let old_state = mem::replace(&mut self.lazy_state, LazyState::NoNode);
424425
let r = f(self);

compiler/rustc_metadata/src/rmeta/encoder.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ use rustc_middle::ty::codec::TyEncoder;
2727
use rustc_middle::ty::fast_reject::{self, SimplifiedType, TreatParams};
2828
use rustc_middle::ty::query::Providers;
2929
use rustc_middle::ty::{self, SymbolName, Ty, TyCtxt};
30-
use rustc_serialize::{opaque, Encodable, Encoder};
30+
use rustc_serialize::opaque::MemEncoder;
31+
use rustc_serialize::{Encodable, Encoder};
3132
use rustc_session::config::CrateType;
3233
use rustc_session::cstore::{ForeignModule, LinkagePreference, NativeLib};
3334
use rustc_span::hygiene::{ExpnIndex, HygieneEncodeContext, MacroKind};
@@ -43,7 +44,7 @@ use std::num::NonZeroUsize;
4344
use tracing::{debug, trace};
4445

4546
pub(super) struct EncodeContext<'a, 'tcx> {
46-
opaque: opaque::Encoder,
47+
opaque: MemEncoder,
4748
tcx: TyCtxt<'tcx>,
4849
feat: &'tcx rustc_feature::Features,
4950

@@ -2181,7 +2182,7 @@ pub fn encode_metadata(tcx: TyCtxt<'_>) -> EncodedMetadata {
21812182
}
21822183

21832184
fn encode_metadata_impl(tcx: TyCtxt<'_>) -> EncodedMetadata {
2184-
let mut encoder = opaque::Encoder::new();
2185+
let mut encoder = MemEncoder::new();
21852186
encoder.emit_raw_bytes(METADATA_HEADER);
21862187

21872188
// Will be filled with the root position after encoding everything.

compiler/rustc_metadata/src/rmeta/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use rustc_middle::ty::fast_reject::SimplifiedType;
2222
use rustc_middle::ty::query::Providers;
2323
use rustc_middle::ty::{self, ReprOptions, Ty};
2424
use rustc_middle::ty::{GeneratorDiagnosticData, ParameterizedOverTcx, TyCtxt};
25-
use rustc_serialize::opaque::Encoder;
25+
use rustc_serialize::opaque::MemEncoder;
2626
use rustc_session::config::SymbolManglingVersion;
2727
use rustc_session::cstore::{CrateDepKind, ForeignModule, LinkagePreference, NativeLib};
2828
use rustc_span::edition::Edition;
@@ -323,7 +323,7 @@ macro_rules! define_tables {
323323
}
324324

325325
impl TableBuilders {
326-
fn encode(&self, buf: &mut Encoder) -> LazyTables {
326+
fn encode(&self, buf: &mut MemEncoder) -> LazyTables {
327327
LazyTables {
328328
$($name: self.$name.encode(buf)),+
329329
}

compiler/rustc_metadata/src/rmeta/table.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ use rustc_data_structures::fingerprint::Fingerprint;
44
use rustc_hir::def::{CtorKind, CtorOf};
55
use rustc_index::vec::Idx;
66
use rustc_middle::ty::ParameterizedOverTcx;
7-
use rustc_serialize::opaque::Encoder;
8-
use rustc_serialize::Encoder as _;
7+
use rustc_serialize::opaque::MemEncoder;
8+
use rustc_serialize::Encoder;
99
use rustc_span::hygiene::MacroKind;
1010
use std::convert::TryInto;
1111
use std::marker::PhantomData;
@@ -281,7 +281,7 @@ where
281281
Some(value).write_to_bytes(&mut self.blocks[i]);
282282
}
283283

284-
pub(crate) fn encode<const N: usize>(&self, buf: &mut Encoder) -> LazyTable<I, T>
284+
pub(crate) fn encode<const N: usize>(&self, buf: &mut MemEncoder) -> LazyTable<I, T>
285285
where
286286
Option<T>: FixedSizeEncoding<ByteArray = [u8; N]>,
287287
{

compiler/rustc_middle/src/mir/graph_cyclic_cache.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use rustc_data_structures::graph::{
33
};
44
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
55
use rustc_data_structures::sync::OnceCell;
6-
use rustc_serialize as serialize;
6+
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
77

88
/// Helper type to cache the result of `graph::is_cyclic`.
99
#[derive(Clone, Debug)]
@@ -36,17 +36,17 @@ impl GraphIsCyclicCache {
3636
}
3737
}
3838

39-
impl<S: serialize::Encoder> serialize::Encodable<S> for GraphIsCyclicCache {
39+
impl<S: Encoder> Encodable<S> for GraphIsCyclicCache {
4040
#[inline]
4141
fn encode(&self, s: &mut S) {
42-
serialize::Encodable::encode(&(), s);
42+
Encodable::encode(&(), s);
4343
}
4444
}
4545

46-
impl<D: serialize::Decoder> serialize::Decodable<D> for GraphIsCyclicCache {
46+
impl<D: Decoder> Decodable<D> for GraphIsCyclicCache {
4747
#[inline]
4848
fn decode(d: &mut D) -> Self {
49-
let () = serialize::Decodable::decode(d);
49+
let () = Decodable::decode(d);
5050
Self::new()
5151
}
5252
}

compiler/rustc_middle/src/mir/predecessors.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
44
use rustc_data_structures::sync::OnceCell;
55
use rustc_index::vec::IndexVec;
6-
use rustc_serialize as serialize;
6+
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
77
use smallvec::SmallVec;
88

99
use crate::mir::{BasicBlock, BasicBlockData};
@@ -54,12 +54,12 @@ impl PredecessorCache {
5454
}
5555
}
5656

57-
impl<S: serialize::Encoder> serialize::Encodable<S> for PredecessorCache {
57+
impl<S: Encoder> Encodable<S> for PredecessorCache {
5858
#[inline]
5959
fn encode(&self, _s: &mut S) {}
6060
}
6161

62-
impl<D: serialize::Decoder> serialize::Decodable<D> for PredecessorCache {
62+
impl<D: Decoder> Decodable<D> for PredecessorCache {
6363
#[inline]
6464
fn decode(_: &mut D) -> Self {
6565
Self::new()

compiler/rustc_middle/src/mir/switch_sources.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
55
use rustc_data_structures::stable_map::FxHashMap;
66
use rustc_data_structures::sync::OnceCell;
77
use rustc_index::vec::IndexVec;
8-
use rustc_serialize as serialize;
8+
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
99
use smallvec::SmallVec;
1010

1111
use crate::mir::{BasicBlock, BasicBlockData, Terminator, TerminatorKind};
@@ -54,12 +54,12 @@ impl SwitchSourceCache {
5454
}
5555
}
5656

57-
impl<S: serialize::Encoder> serialize::Encodable<S> for SwitchSourceCache {
57+
impl<S: Encoder> Encodable<S> for SwitchSourceCache {
5858
#[inline]
5959
fn encode(&self, _s: &mut S) {}
6060
}
6161

62-
impl<D: serialize::Decoder> serialize::Decodable<D> for SwitchSourceCache {
62+
impl<D: Decoder> Decodable<D> for SwitchSourceCache {
6363
#[inline]
6464
fn decode(_: &mut D) -> Self {
6565
Self::new()

compiler/rustc_middle/src/mir/traversal.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
22
use rustc_data_structures::sync::OnceCell;
33
use rustc_index::bit_set::BitSet;
4-
use rustc_serialize as serialize;
4+
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
55

66
use super::*;
77

@@ -365,12 +365,12 @@ impl PostorderCache {
365365
}
366366
}
367367

368-
impl<S: serialize::Encoder> serialize::Encodable<S> for PostorderCache {
368+
impl<S: Encoder> Encodable<S> for PostorderCache {
369369
#[inline]
370370
fn encode(&self, _s: &mut S) {}
371371
}
372372

373-
impl<D: serialize::Decoder> serialize::Decodable<D> for PostorderCache {
373+
impl<D: Decoder> Decodable<D> for PostorderCache {
374374
#[inline]
375375
fn decode(_: &mut D) -> Self {
376376
Self::new()

compiler/rustc_query_impl/src/on_disk_cache.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use rustc_middle::ty::{self, Ty, TyCtxt};
1515
use rustc_query_system::dep_graph::DepContext;
1616
use rustc_query_system::query::{QueryCache, QueryContext, QuerySideEffects};
1717
use rustc_serialize::{
18-
opaque::{self, FileEncodeResult, FileEncoder, IntEncodedWithFixedSize},
18+
opaque::{FileEncodeResult, FileEncoder, IntEncodedWithFixedSize, MemDecoder},
1919
Decodable, Decoder, Encodable, Encoder,
2020
};
2121
use rustc_session::Session;
@@ -159,7 +159,7 @@ impl<'sess> rustc_middle::ty::OnDiskCache<'sess> for OnDiskCache<'sess> {
159159

160160
// Wrap in a scope so we can borrow `data`.
161161
let footer: Footer = {
162-
let mut decoder = opaque::Decoder::new(&data, start_pos);
162+
let mut decoder = MemDecoder::new(&data, start_pos);
163163

164164
// Decode the *position* of the footer, which can be found in the
165165
// last 8 bytes of the file.
@@ -438,7 +438,7 @@ impl<'sess> OnDiskCache<'sess> {
438438
let serialized_data = self.serialized_data.read();
439439
let mut decoder = CacheDecoder {
440440
tcx,
441-
opaque: opaque::Decoder::new(serialized_data.as_deref().unwrap_or(&[]), pos.to_usize()),
441+
opaque: MemDecoder::new(serialized_data.as_deref().unwrap_or(&[]), pos.to_usize()),
442442
source_map: self.source_map,
443443
file_index_to_file: &self.file_index_to_file,
444444
file_index_to_stable_id: &self.file_index_to_stable_id,
@@ -459,7 +459,7 @@ impl<'sess> OnDiskCache<'sess> {
459459
/// will also handle things that contain `Ty` instances.
460460
pub struct CacheDecoder<'a, 'tcx> {
461461
tcx: TyCtxt<'tcx>,
462-
opaque: opaque::Decoder<'a>,
462+
opaque: MemDecoder<'a>,
463463
source_map: &'a SourceMap,
464464
file_index_to_file: &'a Lock<FxHashMap<SourceFileIndex, Lrc<SourceFile>>>,
465465
file_index_to_stable_id: &'a FxHashMap<SourceFileIndex, EncodedSourceFileId>,
@@ -511,7 +511,7 @@ trait DecoderWithPosition: Decoder {
511511
fn position(&self) -> usize;
512512
}
513513

514-
impl<'a> DecoderWithPosition for opaque::Decoder<'a> {
514+
impl<'a> DecoderWithPosition for MemDecoder<'a> {
515515
fn position(&self) -> usize {
516516
self.position()
517517
}
@@ -587,7 +587,7 @@ impl<'a, 'tcx> TyDecoder for CacheDecoder<'a, 'tcx> {
587587
{
588588
debug_assert!(pos < self.opaque.data.len());
589589

590-
let new_opaque = opaque::Decoder::new(self.opaque.data, pos);
590+
let new_opaque = MemDecoder::new(self.opaque.data, pos);
591591
let old_opaque = mem::replace(&mut self.opaque, new_opaque);
592592
let r = f(self);
593593
self.opaque = old_opaque;

0 commit comments

Comments
 (0)