about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Kåre Alsaker <john.kare.alsaker@gmail.com>2019-03-30 01:53:11 +0100
committerJohn Kåre Alsaker <john.kare.alsaker@gmail.com>2019-04-05 00:55:07 +0200
commit4ccb9ae98afa892edaaf7dbfc624870fd5d28339 (patch)
treeebdf36f63c34f7153012d1b32afb134fab0aff99
parente835d27ad3f464bf81e5b702c1412be09761c991 (diff)
downloadrust-4ccb9ae98afa892edaaf7dbfc624870fd5d28339.tar.gz
rust-4ccb9ae98afa892edaaf7dbfc624870fd5d28339.zip
Impl UseSpecializedDecodable for &T
-rw-r--r--src/librustc/arena.rs9
-rw-r--r--src/libserialize/serialize.rs1
2 files changed, 1 insertions, 9 deletions
diff --git a/src/librustc/arena.rs b/src/librustc/arena.rs
index 1f1060ee243..a4c3326c848 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 234435f40a0..8e1229f9c43 100644
--- a/src/libserialize/serialize.rs
+++ b/src/libserialize/serialize.rs
@@ -911,4 +911,5 @@ impl<T: UseSpecializedDecodable> Decodable for T {
 impl<'a, T: ?Sized + Encodable> UseSpecializedEncodable for &'a T {}
 impl<T: ?Sized + Encodable> UseSpecializedEncodable for Box<T> {}
 impl<T: Decodable> UseSpecializedDecodable for Box<T> {}
+impl<'a, T: ?Sized + Decodable> UseSpecializedDecodable for &'a T {}
 impl<'a, T: ?Sized + Decodable> UseSpecializedDecodable for &'a [T] {}