]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_metadata/encoder.rs
rustc: collapse relevant DefPathData variants into TypeNs.
[rust.git] / src / librustc_metadata / encoder.rs
index f914184b34f541fe11a61287656214b0917069e2..0946dad53203dc7e8ace26ac69b2e09511fc7023 100644 (file)
@@ -586,8 +586,13 @@ fn encode_enum_variant_info(
         let data = VariantData {
             ctor_kind: variant.ctor_kind,
             discr: variant.discr,
+            // FIXME(eddyb) deduplicate these with `encode_enum_variant_ctor`.
             ctor: variant.ctor_def_id.map(|did| did.index),
-            ctor_sig: None,
+            ctor_sig: if variant.ctor_kind == CtorKind::Fn {
+                variant.ctor_def_id.map(|ctor_def_id| self.lazy(&tcx.fn_sig(ctor_def_id)))
+            } else {
+                None
+            },
         };
 
         let enum_id = tcx.hir().as_local_hir_id(enum_did).unwrap();