diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2019-11-14 02:52:59 +0200 |
|---|---|---|
| committer | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2019-11-27 15:16:04 +0200 |
| commit | d7444c122e8833e1791a4fa9e39b8853b803abc0 (patch) | |
| tree | be44a392dfa9a324836ff65602f1859ac2ddaef1 | |
| parent | ee42979eeb4b13bfb71116f330c735bc48fb38bc (diff) | |
| download | rust-d7444c122e8833e1791a4fa9e39b8853b803abc0.tar.gz rust-d7444c122e8833e1791a4fa9e39b8853b803abc0.zip | |
rustc_metadata: remove Encodable requirements from LazyMeta impls.
| -rw-r--r-- | src/librustc_metadata/rmeta/decoder.rs | 10 | ||||
| -rw-r--r-- | src/librustc_metadata/rmeta/encoder.rs | 4 | ||||
| -rw-r--r-- | src/librustc_metadata/rmeta/mod.rs | 9 |
3 files changed, 11 insertions, 12 deletions
diff --git a/src/librustc_metadata/rmeta/decoder.rs b/src/librustc_metadata/rmeta/decoder.rs index 47a48c17786..e6ccbf5c38b 100644 --- a/src/librustc_metadata/rmeta/decoder.rs +++ b/src/librustc_metadata/rmeta/decoder.rs @@ -32,7 +32,7 @@ use std::mem; use std::num::NonZeroUsize; use std::u32; -use rustc_serialize::{Decodable, Decoder, Encodable, SpecializedDecoder, opaque}; +use rustc_serialize::{Decodable, Decoder, SpecializedDecoder, opaque}; use syntax::attr; use syntax::ast::{self, Ident}; use syntax::source_map::{self, respan, Spanned}; @@ -217,7 +217,7 @@ impl<'a, 'tcx> Metadata<'a, 'tcx> for (&'a CrateMetadata, TyCtxt<'tcx>) { } } -impl<'a, 'tcx, T: Encodable + Decodable> Lazy<T> { +impl<'a, 'tcx, T: Decodable> Lazy<T> { fn decode<M: Metadata<'a, 'tcx>>(self, metadata: M) -> T { let mut dcx = metadata.decoder(self.position.get()); dcx.lazy_state = LazyState::NodeStart(self.position); @@ -225,7 +225,7 @@ impl<'a, 'tcx, T: Encodable + Decodable> Lazy<T> { } } -impl<'a: 'x, 'tcx: 'x, 'x, T: Encodable + Decodable> Lazy<[T]> { +impl<'a: 'x, 'tcx: 'x, 'x, T: Decodable> Lazy<[T]> { fn decode<M: Metadata<'a, 'tcx>>( self, metadata: M, @@ -324,13 +324,13 @@ impl<'a, 'tcx> TyDecoder<'tcx> for DecodeContext<'a, 'tcx> { } } -impl<'a, 'tcx, T: Encodable> SpecializedDecoder<Lazy<T>> for DecodeContext<'a, 'tcx> { +impl<'a, 'tcx, T> SpecializedDecoder<Lazy<T>> for DecodeContext<'a, 'tcx> { fn specialized_decode(&mut self) -> Result<Lazy<T>, Self::Error> { self.read_lazy_with_meta(()) } } -impl<'a, 'tcx, T: Encodable> SpecializedDecoder<Lazy<[T]>> for DecodeContext<'a, 'tcx> { +impl<'a, 'tcx, T> SpecializedDecoder<Lazy<[T]>> for DecodeContext<'a, 'tcx> { fn specialized_decode(&mut self) -> Result<Lazy<[T]>, Self::Error> { let len = self.read_usize()?; if len == 0 { diff --git a/src/librustc_metadata/rmeta/encoder.rs b/src/librustc_metadata/rmeta/encoder.rs index e47047ae83d..9410b190646 100644 --- a/src/librustc_metadata/rmeta/encoder.rs +++ b/src/librustc_metadata/rmeta/encoder.rs @@ -122,13 +122,13 @@ impl<'tcx> Encoder for EncodeContext<'tcx> { } } -impl<'tcx, T: Encodable> SpecializedEncoder<Lazy<T>> for EncodeContext<'tcx> { +impl<'tcx, T> SpecializedEncoder<Lazy<T>> for EncodeContext<'tcx> { fn specialized_encode(&mut self, lazy: &Lazy<T>) -> Result<(), Self::Error> { self.emit_lazy_distance(*lazy) } } -impl<'tcx, T: Encodable> SpecializedEncoder<Lazy<[T]>> for EncodeContext<'tcx> { +impl<'tcx, T> SpecializedEncoder<Lazy<[T]>> for EncodeContext<'tcx> { fn specialized_encode(&mut self, lazy: &Lazy<[T]>) -> Result<(), Self::Error> { self.emit_usize(lazy.meta)?; if lazy.meta == 0 { diff --git a/src/librustc_metadata/rmeta/mod.rs b/src/librustc_metadata/rmeta/mod.rs index 3b82b287259..a17809b24c0 100644 --- a/src/librustc_metadata/rmeta/mod.rs +++ b/src/librustc_metadata/rmeta/mod.rs @@ -15,7 +15,6 @@ use rustc_target::spec::{PanicStrategy, TargetTriple}; use rustc_index::vec::IndexVec; use rustc_data_structures::svh::Svh; use rustc_data_structures::sync::MetadataRef; -use rustc_serialize::Encodable; use syntax::{ast, attr}; use syntax::edition::Edition; use syntax::symbol::Symbol; @@ -59,7 +58,7 @@ trait LazyMeta { fn min_size(meta: Self::Meta) -> usize; } -impl<T: Encodable> LazyMeta for T { +impl<T> LazyMeta for T { type Meta = (); fn min_size(_: ()) -> usize { @@ -68,7 +67,7 @@ impl<T: Encodable> LazyMeta for T { } } -impl<T: Encodable> LazyMeta for [T] { +impl<T> LazyMeta for [T] { type Meta = usize; fn min_size(len: usize) -> usize { @@ -124,13 +123,13 @@ impl<T: ?Sized + LazyMeta> Lazy<T> { } } -impl<T: Encodable> Lazy<T> { +impl<T> Lazy<T> { fn from_position(position: NonZeroUsize) -> Lazy<T> { Lazy::from_position_and_meta(position, ()) } } -impl<T: Encodable> Lazy<[T]> { +impl<T> Lazy<[T]> { fn empty() -> Lazy<[T]> { Lazy::from_position_and_meta(NonZeroUsize::new(1).unwrap(), 0) } |
