diff --git a/src/librustc/arena.rs b/src/librustc/arena.rs index 1f1060ee243f..a4c3326c848b 100644 --- a/src/librustc/arena.rs +++ b/src/librustc/arena.rs @@ -24,18 +24,9 @@ macro_rules! declare_arena { } } -macro_rules! impl_specialized_decodable { - ([decode] $ty:ty, $tcx:lifetime) => { - impl<$tcx> serialize::UseSpecializedDecodable for &$tcx $ty {} - }; - ([] $ty:ty, $tcx:lifetime) => {}; -} - macro_rules! impl_arena_allocatable { ([], [$($a:tt $name:ident: $ty:ty,)*], $tcx:lifetime) => { $( - impl_specialized_decodable!($a $ty, $tcx); - impl ArenaAllocatable for $ty {} impl<$tcx> ArenaField<$tcx> for $ty { #[inline] diff --git a/src/libserialize/serialize.rs b/src/libserialize/serialize.rs index 234435f40a06..8e1229f9c43c 100644 --- a/src/libserialize/serialize.rs +++ b/src/libserialize/serialize.rs @@ -911,4 +911,5 @@ impl Decodable for T { impl<'a, T: ?Sized + Encodable> UseSpecializedEncodable for &'a T {} impl UseSpecializedEncodable for Box {} impl UseSpecializedDecodable for Box {} +impl<'a, T: ?Sized + Decodable> UseSpecializedDecodable for &'a T {} impl<'a, T: ?Sized + Decodable> UseSpecializedDecodable for &'a [T] {}