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
Fields of 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)
Tuple Fields of FinalMetadata
0: &'ll DICompositeType
Implementations
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<'ll, 'tcx>
impl<'ll, 'tcx> !Send for RecursiveTypeDescription<'ll, 'tcx>
impl<'ll, 'tcx> !Sync for RecursiveTypeDescription<'ll, 'tcx>
impl<'ll, 'tcx> Unpin for RecursiveTypeDescription<'ll, 'tcx>
impl<'ll, 'tcx> !UnwindSafe for RecursiveTypeDescription<'ll, 'tcx>
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