Skip to main content

## build_coroutine_variant_struct_type_di_node

# Function build_coroutine_variant_struct_type_di_node

Source

    fn build_coroutine_variant_struct_type_di_node<'ll, 'tcx>(
        cx: &GenericCx<'ll, FullCx<'ll, 'tcx>>,
        variant_index: VariantIdx,
        coroutine_type_and_layout: TyAndLayout<'tcx>,
        coroutine_type_di_node: &'ll Metadata,
        coroutine_layout: &CoroutineLayout<'tcx>,
        common_upvar_names: &IndexSlice<FieldIdx, Symbol>,
    ) -> &'ll Metadata

Expand description

Build the struct type for describing a single coroutine state. See build_coroutine_variant_struct_type_di_node.

          DW_TAG_structure_type              (top-level type for enum)
            DW_TAG_variant_part              (variant part)
              DW_AT_discr                    (reference to discriminant DW_TAG_member)
              DW_TAG_member                  (discriminant member)
              DW_TAG_variant                 (variant 1)
              DW_TAG_variant                 (variant 2)
              DW_TAG_variant                 (variant 3)
     --->   DW_TAG_structure_type            (type of variant 1)
     --->   DW_TAG_structure_type            (type of variant 2)
     --->   DW_TAG_structure_type            (type of variant 3)