pub(crate) struct TypeMap<'ll, 'tcx> {
pub(super) unique_id_to_di_node: RefCell<FxHashMap<UniqueTypeId<'tcx>, &'ll DIType>>,
}
Expand description
The TypeMap
is where the debug context holds the type metadata nodes
created so far. The debuginfo nodes are identified by UniqueTypeId
.
Fields§
§unique_id_to_di_node: RefCell<FxHashMap<UniqueTypeId<'tcx>, &'ll DIType>>
Implementations§
source§impl<'ll, 'tcx> TypeMap<'ll, 'tcx>
impl<'ll, 'tcx> TypeMap<'ll, 'tcx>
sourcepub(super) fn insert(
&self,
unique_type_id: UniqueTypeId<'tcx>,
metadata: &'ll DIType
)
pub(super) fn insert( &self, unique_type_id: UniqueTypeId<'tcx>, metadata: &'ll DIType )
Adds a UniqueTypeId
to metadata mapping to the TypeMap
. The method will
fail if the mapping already exists.
pub(super) fn di_node_for_unique_id( &self, unique_type_id: UniqueTypeId<'tcx> ) -> Option<&'ll DIType>
Trait Implementations§
Auto Trait Implementations§
impl<'ll, 'tcx> !RefUnwindSafe for TypeMap<'ll, 'tcx>
impl<'ll, 'tcx> !Send for TypeMap<'ll, 'tcx>
impl<'ll, 'tcx> !Sync for TypeMap<'ll, 'tcx>
impl<'ll, 'tcx> Unpin for TypeMap<'ll, 'tcx>
impl<'ll, 'tcx> !UnwindSafe for TypeMap<'ll, 'tcx>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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: 40 bytes