From a5e9d8240ece4a1a14178b7de15d2a874aef6d10 Mon Sep 17 00:00:00 2001 From: Fabian Drinck Date: Sat, 25 May 2019 11:40:06 +0200 Subject: [PATCH] Auto-derive Encode and Decode implementations --- src/librustc/hir/map/definitions.rs | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/src/librustc/hir/map/definitions.rs b/src/librustc/hir/map/definitions.rs index 1cc9a2c0e8a1b..2324c3f04284f 100644 --- a/src/librustc/hir/map/definitions.rs +++ b/src/librustc/hir/map/definitions.rs @@ -10,7 +10,6 @@ use crate::ich::Fingerprint; use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::indexed_vec::{IndexVec}; use rustc_data_structures::stable_hasher::StableHasher; -use serialize::{Encodable, Decodable, Encoder, Decoder}; use crate::session::CrateDisambiguator; use std::borrow::Borrow; use std::fmt::Write; @@ -25,14 +24,13 @@ use crate::util::nodemap::NodeMap; /// Internally the DefPathTable holds a tree of DefKeys, where each DefKey /// stores the DefIndex of its parent. /// There is one DefPathTable for each crate. -#[derive(Clone, Default)] +#[derive(Clone, Default, RustcDecodable, RustcEncodable)] pub struct DefPathTable { index_to_key: Vec, def_path_hashes: Vec, } impl DefPathTable { - fn allocate(&mut self, key: DefKey, def_path_hash: DefPathHash) @@ -86,28 +84,6 @@ impl DefPathTable { } } - -impl Encodable for DefPathTable { - fn encode(&self, s: &mut S) -> Result<(), S::Error> { - // Index to key - self.index_to_key.encode(s)?; - - // DefPath hashes - self.def_path_hashes.encode(s)?; - - Ok(()) - } -} - -impl Decodable for DefPathTable { - fn decode(d: &mut D) -> Result { - Ok(DefPathTable { - index_to_key: Decodable::decode(d)?, - def_path_hashes : Decodable::decode(d)?, - }) - } -} - /// The definition table containing node definitions. /// It holds the `DefPathTable` for local `DefId`s/`DefPath`s and it also stores a /// mapping from `NodeId`s to local `DefId`s.