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.