pub struct DebugDb { /* private fields */ }
Implementations§
Source§impl DebugDatabaseImpl
impl DebugDatabaseImpl
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new debug database instance.
The database manages the loading and caching of debug information from binary files.
§Examples
use rudy_db::DebugDb;
let db = DebugDb::new();
Sourcepub fn new_with_events(
event_callback: Option<Box<dyn Fn(Event) + Send + Sync + 'static>>,
) -> Self
pub fn new_with_events( event_callback: Option<Box<dyn Fn(Event) + Send + Sync + 'static>>, ) -> Self
Creates a new debug database instance with salsa event logging.
The event callback will be called for all salsa events, allowing you to monitor query execution, cache hits/misses, and dependency tracking.
§Examples
use rudy_db::DebugDb;
let db = DebugDb::new_with_events(Some(Box::new(|event| {
println!("Salsa event: {:?}", event);
})));
pub fn with_source_map(self, source_map: Vec<(PathBuf, PathBuf)>) -> Self
pub fn get_sync_ref(&self) -> DebugDbRef
Trait Implementations§
Source§impl Clone for DebugDatabaseImpl
impl Clone for DebugDatabaseImpl
Source§fn clone(&self) -> DebugDatabaseImpl
fn clone(&self) -> DebugDatabaseImpl
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Database for DebugDatabaseImpl
impl Database for DebugDatabaseImpl
Source§fn trigger_lru_eviction(&mut self)
fn trigger_lru_eviction(&mut self)
Enforces current LRU limits, evicting entries if necessary. Read more
Source§fn synthetic_write(&mut self, durability: Durability)
fn synthetic_write(&mut self, durability: Durability)
A “synthetic write” causes the system to act as though some
input of durability
durability
has changed, triggering a new revision.
This is mostly useful for profiling scenarios. Read moreSource§fn report_untracked_read(&self)
fn report_untracked_read(&self)
Reports that the query depends on some state unknown to salsa. Read more
Source§fn ingredient_debug_name(
&self,
ingredient_index: IngredientIndex,
) -> Cow<'_, str>
fn ingredient_debug_name( &self, ingredient_index: IngredientIndex, ) -> Cow<'_, str>
Return the “debug name” (i.e., the struct name, etc) for an “ingredient”,
which are the fine-grained components we use to track data. This is intended
for debugging and the contents of the returned string are not semver-guaranteed. Read more
Source§fn unwind_if_revision_cancelled(&self)
fn unwind_if_revision_cancelled(&self)
Starts unwinding the stack if the current revision is cancelled. Read more
Source§impl Default for DebugDatabaseImpl
impl Default for DebugDatabaseImpl
Source§impl DwarfDb for DebugDatabaseImpl
impl DwarfDb for DebugDatabaseImpl
Source§fn get_source_map(&self) -> &[(PathBuf, PathBuf)]
fn get_source_map(&self) -> &[(PathBuf, PathBuf)]
Get the source map for path remapping
Source§fn remap_path(&self, path: &Path) -> PathBuf
fn remap_path(&self, path: &Path) -> PathBuf
Get source path remapping
Auto Trait Implementations§
impl !Freeze for DebugDatabaseImpl
impl RefUnwindSafe for DebugDatabaseImpl
impl Send for DebugDatabaseImpl
impl !Sync for DebugDatabaseImpl
impl Unpin for DebugDatabaseImpl
impl !UnwindSafe for DebugDatabaseImpl
Blanket Implementations§
Source§impl<T> AsDynDatabase for Twhere
T: Database,
impl<T> AsDynDatabase for Twhere
T: Database,
fn as_dyn_database(&self) -> &(dyn Database + 'static)
fn as_dyn_database_mut(&mut self) -> &mut (dyn Database + 'static)
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more