Compute generator sizes with -Zprint_type_sizes
This commit is contained in:
parent
023b5136b5
commit
b45b9489bb
6 changed files with 74 additions and 1 deletions
|
|
@ -33,6 +33,7 @@ pub enum DataTypeKind {
|
|||
Union,
|
||||
Enum,
|
||||
Closure,
|
||||
Generator,
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Eq, Hash, Debug)]
|
||||
|
|
@ -113,7 +114,7 @@ impl CodeStats {
|
|||
let mut max_variant_size = discr_size;
|
||||
|
||||
let struct_like = match kind {
|
||||
DataTypeKind::Struct | DataTypeKind::Closure => true,
|
||||
DataTypeKind::Struct | DataTypeKind::Closure | DataTypeKind::Generator => true,
|
||||
DataTypeKind::Enum | DataTypeKind::Union => false,
|
||||
};
|
||||
for (i, variant_info) in variants.into_iter().enumerate() {
|
||||
|
|
|
|||
|
|
@ -826,6 +826,12 @@ fn record_layout_for_printing_outlined<'tcx>(
|
|||
return;
|
||||
}
|
||||
|
||||
ty::Generator(..) => {
|
||||
debug!("print-type-size t: `{:?}` record generator", layout.ty);
|
||||
record(DataTypeKind::Generator, false, None, vec![]);
|
||||
return;
|
||||
}
|
||||
|
||||
_ => {
|
||||
debug!("print-type-size t: `{:?}` skip non-nominal", layout.ty);
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue