pub trait DebugInfoCodegenMethods<'tcx>: BackendTypes {
// Required methods
fn create_vtable_debuginfo(
&self,
ty: Ty<'tcx>,
trait_ref: Option<ExistentialTraitRef<'tcx>>,
vtable: Self::Value,
);
fn dbg_create_lexical_block(
&self,
pos: BytePos,
parent_scope: Self::DIScope,
) -> Self::DIScope;
fn dbg_location_clone_with_discriminator(
&self,
loc: Self::DILocation,
discriminator: u32,
) -> Option<Self::DILocation>;
fn dbg_scope_fn(
&self,
instance: Instance<'tcx>,
fn_abi: &FnAbi<'tcx, Ty<'tcx>>,
maybe_definition_llfn: Option<Self::Function>,
) -> Self::DIScope;
fn dbg_loc(
&self,
scope: Self::DIScope,
inlined_at: Option<Self::DILocation>,
span: Span,
) -> Self::DILocation;
fn extend_scope_to_file(
&self,
scope_metadata: Self::DIScope,
file: &SourceFile,
) -> Self::DIScope;
fn debuginfo_finalize(&self);
fn create_dbg_var(
&self,
variable_name: Symbol,
variable_type: Ty<'tcx>,
scope_metadata: Self::DIScope,
variable_kind: VariableKind,
span: Span,
) -> Self::DIVariable;
}Required Methods§
fn create_vtable_debuginfo( &self, ty: Ty<'tcx>, trait_ref: Option<ExistentialTraitRef<'tcx>>, vtable: Self::Value, )
fn dbg_create_lexical_block( &self, pos: BytePos, parent_scope: Self::DIScope, ) -> Self::DIScope
fn dbg_location_clone_with_discriminator( &self, loc: Self::DILocation, discriminator: u32, ) -> Option<Self::DILocation>
fn dbg_scope_fn( &self, instance: Instance<'tcx>, fn_abi: &FnAbi<'tcx, Ty<'tcx>>, maybe_definition_llfn: Option<Self::Function>, ) -> Self::DIScope
fn dbg_loc( &self, scope: Self::DIScope, inlined_at: Option<Self::DILocation>, span: Span, ) -> Self::DILocation
fn extend_scope_to_file( &self, scope_metadata: Self::DIScope, file: &SourceFile, ) -> Self::DIScope
fn debuginfo_finalize(&self)
fn create_dbg_var( &self, variable_name: Symbol, variable_type: Ty<'tcx>, scope_metadata: Self::DIScope, variable_kind: VariableKind, span: Span, ) -> Self::DIVariable
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".