about summary refs log tree commit diff
path: root/compiler/rustc_metadata
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2023-03-14 00:35:34 +0000
committerMichael Goulet <michael@errs.io>2023-03-14 16:33:12 +0000
commitee2d42882f9d76b8fb54d749c35fec265026db47 (patch)
treeb117273d26f91c0a56e227d025df507340c82fd2 /compiler/rustc_metadata
parentf1b1ed7e18f1fbe5226a96626827c625985f8285 (diff)
downloadrust-ee2d42882f9d76b8fb54d749c35fec265026db47.tar.gz
rust-ee2d42882f9d76b8fb54d749c35fec265026db47.zip
Use `unused_generic_params` from crate metadata
Diffstat (limited to 'compiler/rustc_metadata')
-rw-r--r--compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs b/compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs
index 83a0e833edc..2d8f2c8554f 100644
--- a/compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs
+++ b/compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs
@@ -226,7 +226,15 @@ provide! { tcx, def_id, other, cdata,
     lookup_default_body_stability => { table }
     lookup_deprecation_entry => { table }
     params_in_repr => { table }
-    unused_generic_params => { table }
+    // FIXME: Could be defaulted, but `LazyValue<UnusedGenericParams>` is not `FixedSizeEncoding`..
+    unused_generic_params => {
+        cdata
+            .root
+            .tables
+            .unused_generic_params
+            .get(cdata, def_id.index)
+            .map_or_else(|| ty::UnusedGenericParams::new_all_used(), |lazy| lazy.decode((cdata, tcx)))
+    }
     opt_def_kind => { table_direct }
     impl_parent => { table }
     impl_polarity => { table_direct }