Struct srclang::Jar
pub struct Jar(/* private fields */);
The salsa database for the compiler. The default convention is to implement this at the crate level.
Trait Implementations
impl DbWithJar<Jar> for Database
fn as_jar_db<'db>(&'db self) -> &'db <Jar as Jar<'db>>::DynDbwhere 'db: 'db,
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for ByteOrLineColOrCoordInterned
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for Document
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for EffectDef
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for Function
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for Import
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for InternedEffect
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for Mangled
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for Position
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for Program
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for SourceMap
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for SourceMap
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for SourceProgram
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for Span
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for Spanned
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for Symbol
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for SyntaxTree
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl DebugWithDb<<Jar as Jar<'_>>::DynDb> for Url
fn fmt(&self, f: &mut Formatter<'_>, _db: &<Jar as Jar<'_>>::DynDb) -> Result
Format self
given the database db
. Read more
fn debug<'me, 'db>(&'me self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
fn into_debug<'me, 'db>(self, db: &'me Db) -> DebugWith<'me, Db>where Self: Sized + 'me,
Creates a wrapper type that implements Debug
but which uses the DebugWithDb::fmt
. Read more
impl HasIngredientsFor<ByteOrLineColOrCoordInterned> for Jar
fn ingredient( &self ) -> &<ByteOrLineColOrCoordInterned as IngredientsFor>::Ingredients
fn ingredient_mut( &mut self ) -> &mut <ByteOrLineColOrCoordInterned as IngredientsFor>::Ingredients
impl HasIngredientsFor<Document> for Jar
fn ingredient(&self) -> &<Document as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <Document as IngredientsFor>::Ingredients
impl HasIngredientsFor<EffectDef> for Jar
fn ingredient(&self) -> &<EffectDef as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <EffectDef as IngredientsFor>::Ingredients
impl HasIngredientsFor<Function> for Jar
fn ingredient(&self) -> &<Function as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <Function as IngredientsFor>::Ingredients
impl HasIngredientsFor<Import> for Jar
fn ingredient(&self) -> &<Import as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <Import as IngredientsFor>::Ingredients
impl HasIngredientsFor<InternedEffect> for Jar
fn ingredient(&self) -> &<InternedEffect as IngredientsFor>::Ingredients
fn ingredient_mut( &mut self ) -> &mut <InternedEffect as IngredientsFor>::Ingredients
impl HasIngredientsFor<Mangled> for Jar
fn ingredient(&self) -> &<Mangled as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <Mangled as IngredientsFor>::Ingredients
impl HasIngredientsFor<Position> for Jar
fn ingredient(&self) -> &<Position as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <Position as IngredientsFor>::Ingredients
impl HasIngredientsFor<Program> for Jar
fn ingredient(&self) -> &<Program as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <Program as IngredientsFor>::Ingredients
impl HasIngredientsFor<SourceMap> for Jar
fn ingredient(&self) -> &<SourceMap as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <SourceMap as IngredientsFor>::Ingredients
impl HasIngredientsFor<SourceMap> for Jar
fn ingredient(&self) -> &<SourceMap as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <SourceMap as IngredientsFor>::Ingredients
impl HasIngredientsFor<SourceProgram> for Jar
fn ingredient(&self) -> &<SourceProgram as IngredientsFor>::Ingredients
fn ingredient_mut( &mut self ) -> &mut <SourceProgram as IngredientsFor>::Ingredients
impl HasIngredientsFor<Span> for Jar
fn ingredient(&self) -> &<Span as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <Span as IngredientsFor>::Ingredients
impl HasIngredientsFor<Spanned> for Jar
fn ingredient(&self) -> &<Spanned as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <Spanned as IngredientsFor>::Ingredients
impl HasIngredientsFor<Symbol> for Jar
fn ingredient(&self) -> &<Symbol as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <Symbol as IngredientsFor>::Ingredients
impl HasIngredientsFor<SyntaxTree> for Jar
fn ingredient(&self) -> &<SyntaxTree as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <SyntaxTree as IngredientsFor>::Ingredients
impl HasIngredientsFor<Url> for Jar
fn ingredient(&self) -> &<Url as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <Url as IngredientsFor>::Ingredients
impl HasIngredientsFor<add_file> for Jar
fn ingredient(&self) -> &<add_file as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <add_file as IngredientsFor>::Ingredients
impl HasIngredientsFor<add_imports> for Jar
fn ingredient(&self) -> &<add_imports as IngredientsFor>::Ingredients
fn ingredient_mut( &mut self ) -> &mut <add_imports as IngredientsFor>::Ingredients
impl HasIngredientsFor<calculate_line_lengths> for Jar
fn ingredient(&self) -> &<calculate_line_lengths as IngredientsFor>::Ingredients
fn ingredient_mut( &mut self ) -> &mut <calculate_line_lengths as IngredientsFor>::Ingredients
impl HasIngredientsFor<compile> for Jar
fn ingredient(&self) -> &<compile as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <compile as IngredientsFor>::Ingredients
impl HasIngredientsFor<compile_effect> for Jar
fn ingredient(&self) -> &<compile_effect as IngredientsFor>::Ingredients
fn ingredient_mut( &mut self ) -> &mut <compile_effect as IngredientsFor>::Ingredients
impl HasIngredientsFor<get_symbol> for Jar
fn ingredient(&self) -> &<get_symbol as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <get_symbol as IngredientsFor>::Ingredients
impl HasIngredientsFor<span_text> for Jar
fn ingredient(&self) -> &<span_text as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <span_text as IngredientsFor>::Ingredients
impl HasIngredientsFor<to_spans> for Jar
fn ingredient(&self) -> &<to_spans as IngredientsFor>::Ingredients
fn ingredient_mut(&mut self) -> &mut <to_spans as IngredientsFor>::Ingredients
impl HasJar<Jar> for Database
fn jar(&self) -> (&Jar, &Runtime)
fn jar_mut(&mut self) -> (&mut Jar, &mut Runtime)
impl<'salsa_db> Jar<'salsa_db> for Jar
type DynDb = dyn Db + 'salsa_db
unsafe fn init_jar<DB>(place: *mut Self, routes: &mut Routes<DB>)where DB: JarFromJars<Self> + DbWithJar<Self>,
Initializes the jar at place
Read more
impl JarFromJars<Jar> for Database
fn jar_from_jars<'db>(jars: &Self::Jars) -> &Jar
fn jar_from_jars_mut<'db>(jars: &mut Self::Jars) -> &mut Jar
Auto Trait Implementations
impl !Freeze for Jar
impl !RefUnwindSafe for Jar
impl Send for Jar
impl Sync for Jar
impl Unpin for Jar
impl !UnwindSafe for Jar
Blanket Implementations
impl<T> Any for Twhere T: 'static + ?Sized,
fn type_id(&self) -> TypeId
Gets the TypeId
of self
. Read more
impl<T> Borrow<T> for Twhere T: ?Sized,
fn borrow(&self) -> &T
Immutably borrows from an owned value. Read more
impl<T> BorrowMut<T> for Twhere T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> From<T> for T
fn from(t: T) -> T
Returns the argument unchanged.
impl<T, U> Into<U> for Twhere U: From<T>,
fn into(self) -> U
Calls U::from(self)
.
That is, this conversion is whatever the implementation of From<T> for U
chooses to do.
impl<T> Pointable for T
const ALIGN: usize = _
The alignment of pointer.
type Init = T
The type for initializers.
unsafe fn init(init: <T as Pointable>::Init) -> usize
Initializes a with the given initializer. Read more
unsafe fn deref<'a>(ptr: usize) -> &'a T
Dereferences the given pointer. Read more
unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
Mutably dereferences the given pointer. Read more
unsafe fn drop(ptr: usize)
Drops the object pointed to by the given pointer. Read more
impl<T, U> TryFrom<U> for Twhere U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
Performs the conversion.
impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
Performs the conversion.