summary refs log tree commit diff
path: root/compiler/rustc_session
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-12-10 09:24:41 +0100
committerGitHub <noreply@github.com>2022-12-10 09:24:41 +0100
commit0f5d3ba30f33116a610e5f9f2bb60f3ce120a167 (patch)
treef5505e44581251ae18020d829d39f47bcf91369b /compiler/rustc_session
parentae8794ce6a7180aa81c718172321ac704e94f342 (diff)
parent7d23e29f9fb61985aca0227acbabb62f95208c01 (diff)
downloadrust-0f5d3ba30f33116a610e5f9f2bb60f3ce120a167.tar.gz
rust-0f5d3ba30f33116a610e5f9f2bb60f3ce120a167.zip
Rollup merge of #104019 - compiler-errors:print-generator-sizes, r=wesleywiser
Compute generator sizes with `-Zprint_type_sizes`

Fixes #103887
r? `@pnkfelix`
Diffstat (limited to 'compiler/rustc_session')
-rw-r--r--compiler/rustc_session/src/code_stats.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/rustc_session/src/code_stats.rs b/compiler/rustc_session/src/code_stats.rs
index eede4d16ea3..1085bce4475 100644
--- a/compiler/rustc_session/src/code_stats.rs
+++ b/compiler/rustc_session/src/code_stats.rs
@@ -19,7 +19,7 @@ pub enum SizeKind {
     Min,
 }
 
-#[derive(Clone, PartialEq, Eq, Hash, Debug)]
+#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
 pub struct FieldInfo {
     pub name: Symbol,
     pub offset: u64,
@@ -33,6 +33,7 @@ pub enum DataTypeKind {
     Union,
     Enum,
     Closure,
+    Generator,
 }
 
 #[derive(PartialEq, Eq, Hash, Debug)]
@@ -114,7 +115,7 @@ impl CodeStats {
 
             let struct_like = match kind {
                 DataTypeKind::Struct | DataTypeKind::Closure => true,
-                DataTypeKind::Enum | DataTypeKind::Union => false,
+                DataTypeKind::Enum | DataTypeKind::Union | DataTypeKind::Generator => false,
             };
             for (i, variant_info) in variants.into_iter().enumerate() {
                 let VariantInfo { ref name, kind: _, align: _, size, ref fields } = *variant_info;