about summary refs log tree commit diff
path: root/compiler/rustc_serialize/src/serialize.rs
diff options
context:
space:
mode:
authorCamille GILLOT <gillot.camille@gmail.com>2022-03-28 19:53:01 +0200
committerCamille GILLOT <gillot.camille@gmail.com>2022-05-13 08:06:48 +0200
commit9900ea352b1b7dbcbe290bbb62f436c91818c5d1 (patch)
treea3dc7fe7489312081ebdbfd7b7dbf6e24b34e780 /compiler/rustc_serialize/src/serialize.rs
parent3a08bd7873ac755f93286f087fdc398380c69e21 (diff)
downloadrust-9900ea352b1b7dbcbe290bbb62f436c91818c5d1.tar.gz
rust-9900ea352b1b7dbcbe290bbb62f436c91818c5d1.zip
Cache more queries on disk.
Diffstat (limited to 'compiler/rustc_serialize/src/serialize.rs')
-rw-r--r--compiler/rustc_serialize/src/serialize.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/compiler/rustc_serialize/src/serialize.rs b/compiler/rustc_serialize/src/serialize.rs
index 7d6b8c760ff..36e575b2427 100644
--- a/compiler/rustc_serialize/src/serialize.rs
+++ b/compiler/rustc_serialize/src/serialize.rs
@@ -268,6 +268,15 @@ direct_serialize_impls! {
     char emit_char read_char
 }
 
+impl<S: Encoder, T: ?Sized> Encodable<S> for &T
+where
+    T: Encodable<S>,
+{
+    fn encode(&self, s: &mut S) -> Result<(), S::Error> {
+        (**self).encode(s)
+    }
+}
+
 impl<S: Encoder> Encodable<S> for ! {
     fn encode(&self, _s: &mut S) -> Result<(), S::Error> {
         unreachable!()
@@ -298,12 +307,6 @@ impl<S: Encoder> Encodable<S> for str {
     }
 }
 
-impl<S: Encoder> Encodable<S> for &str {
-    fn encode(&self, s: &mut S) -> Result<(), S::Error> {
-        s.emit_str(self)
-    }
-}
-
 impl<S: Encoder> Encodable<S> for String {
     fn encode(&self, s: &mut S) -> Result<(), S::Error> {
         s.emit_str(&self[..])