about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc/query/mod.rs4
-rw-r--r--src/librustc/ty/util.rs2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/librustc/query/mod.rs b/src/librustc/query/mod.rs
index c705956f454..39046df56e5 100644
--- a/src/librustc/query/mod.rs
+++ b/src/librustc/query/mod.rs
@@ -670,7 +670,9 @@ rustc_queries! {
         /// A list of types where the ADT requires drop if and only if any of
         /// those types require drop. If the ADT is known to always need drop
         /// then `Err(AlwaysRequiresDrop)` is returned.
-        query adt_drop_tys(_: DefId) -> Result<&'tcx ty::List<Ty<'tcx>>, AlwaysRequiresDrop> {}
+        query adt_drop_tys(_: DefId) -> Result<&'tcx ty::List<Ty<'tcx>>, AlwaysRequiresDrop> {
+            cache_on_disk_if { true }
+        }
 
         query layout_raw(
             env: ty::ParamEnvAnd<'tcx, Ty<'tcx>>
diff --git a/src/librustc/ty/util.rs b/src/librustc/ty/util.rs
index 4011c010c03..5a77bac8cf2 100644
--- a/src/librustc/ty/util.rs
+++ b/src/librustc/ty/util.rs
@@ -1056,5 +1056,5 @@ pub fn needs_drop_components(
     }
 }
 
-#[derive(Copy, Clone, Debug, HashStable)]
+#[derive(Copy, Clone, Debug, HashStable, RustcEncodable, RustcDecodable)]
 pub struct AlwaysRequiresDrop;