Enum rustc_codegen_llvm::debuginfo::metadata::RecursiveTypeDescription [−][src]
enum RecursiveTypeDescription<'ll, 'tcx> {
UnfinishedMetadata {
unfinished_type: Ty<'tcx>,
unique_type_id: UniqueTypeId,
metadata_stub: &'ll DICompositeType,
member_holding_stub: &'ll DICompositeType,
member_description_factory: MemberDescriptionFactory<'ll, 'tcx>,
},
FinalMetadata(&'ll DICompositeType),
}Expand description
A description of some recursive type. It can either be already finished (as
with FinalMetadata) or it is not yet finished, but contains all information
needed to generate the missing parts of the description. See the
documentation section on Recursive Types at the top of this file for more
information.
Variants
UnfinishedMetadata
Fields
unfinished_type: Ty<'tcx>unique_type_id: UniqueTypeIdmetadata_stub: &'ll DICompositeTypemember_holding_stub: &'ll DICompositeTypemember_description_factory: MemberDescriptionFactory<'ll, 'tcx>FinalMetadata(&'ll DICompositeType)
Tuple Fields
0: &'ll DICompositeTypeImplementations
Finishes up the description of the type in question (mostly by providing descriptions of the fields of the given type) and returns the final type metadata.
Auto Trait Implementations
impl<'ll, 'tcx> !RefUnwindSafe for RecursiveTypeDescription
impl<'ll, 'tcx> !Send for RecursiveTypeDescription
impl<'ll, 'tcx> !Sync for RecursiveTypeDescription
impl<'ll, 'tcx> Unpin for RecursiveTypeDescription
impl<'ll, 'tcx> !UnwindSafe for RecursiveTypeDescription
Blanket Implementations
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 104 bytes
Size for each variant:
UnfinishedMetadata: 100 bytesFinalMetadata: 12 bytes
