pub struct LocationId(/* private fields */);
Implementations§
source§impl LocationId
impl LocationId
pub fn from_stable_location( db: &dyn LoweringGroup, stable_location: StableLocation, ) -> LocationId
sourcepub fn with_note(
&self,
db: &dyn LoweringGroup,
note: DiagnosticNote,
) -> LocationId
pub fn with_note( &self, db: &dyn LoweringGroup, note: DiagnosticNote, ) -> LocationId
Adds a note to the location.
sourcepub fn with_auto_generation_note(
&self,
db: &dyn LoweringGroup,
logic_name: &str,
) -> LocationId
pub fn with_auto_generation_note( &self, db: &dyn LoweringGroup, logic_name: &str, ) -> LocationId
Adds a note that this location was generated while compiling an auto-generated function.
source§impl LocationId
impl LocationId
sourcepub fn inlined(
self,
db: &dyn LoweringGroup,
inlining_location: StableLocation,
) -> Self
pub fn inlined( self, db: &dyn LoweringGroup, inlining_location: StableLocation, ) -> Self
Returns the location with the added inlining location of it.
sourcepub fn all_locations(self, db: &dyn LoweringGroup) -> Vec<StableLocation>
pub fn all_locations(self, db: &dyn LoweringGroup) -> Vec<StableLocation>
Returns all relevant stable pointers of the location.
Trait Implementations§
source§impl Clone for LocationId
impl Clone for LocationId
source§fn clone(&self) -> LocationId
fn clone(&self) -> LocationId
Returns a copy 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 Debug for LocationId
impl Debug for LocationId
source§impl<T: ?Sized + Upcast<dyn LoweringGroup + 'static>> DebugWithDb<T> for LocationId
impl<T: ?Sized + Upcast<dyn LoweringGroup + 'static>> DebugWithDb<T> for LocationId
source§impl Hash for LocationId
impl Hash for LocationId
source§impl<'a> Intern<'a, dyn LoweringGroup + 'a, LocationId> for Location
impl<'a> Intern<'a, dyn LoweringGroup + 'a, LocationId> for Location
fn intern( self, db: &(impl Upcast<dyn LoweringGroup + 'a> + ?Sized), ) -> LocationId
source§impl InternKey for LocationId
impl InternKey for LocationId
source§fn from_intern_id(salsa_id: InternId) -> Self
fn from_intern_id(salsa_id: InternId) -> Self
Create an instance of the intern-key from a
u32
value.source§fn as_intern_id(&self) -> InternId
fn as_intern_id(&self) -> InternId
Extract the
u32
with which the intern-key was created.source§impl<'a> LookupIntern<'a, dyn LoweringGroup + 'a, Location> for LocationId
impl<'a> LookupIntern<'a, dyn LoweringGroup + 'a, Location> for LocationId
fn lookup_intern( &self, db: &(impl Upcast<dyn LoweringGroup + 'a> + ?Sized), ) -> Location
source§impl PartialEq for LocationId
impl PartialEq for LocationId
impl Copy for LocationId
impl Eq for LocationId
impl StructuralPartialEq for LocationId
Auto Trait Implementations§
impl Freeze for LocationId
impl RefUnwindSafe for LocationId
impl Send for LocationId
impl Sync for LocationId
impl Unpin for LocationId
impl UnwindSafe for LocationId
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.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