pub(crate) struct SourceScopeInfo {
pub inlined: Option<(bool, Span)>,
pub inlined_parent_scope: Option<SourceScope>,
}Expand description
Data about a source scope, used for caller location resolution.
Each entry corresponds to a source scope in the MIR body. Most scopes have no
inlined data. For scopes introduced by MIR inlining, inlined records whether
the inlined callee is #[track_caller] and the span of the call site.
Fields§
§inlined: Option<(bool, Span)>Present when this scope was introduced by inlining a function.
The bool is true if the inlined callee is #[track_caller].
The Span is the call site where inlining occurred.
inlined_parent_scope: Option<SourceScope>Nearest (transitive) parent scope that was itself inlined. Skips over intermediate scopes within the same inlined function body.
Trait Implementations§
Source§impl Clone for SourceScopeInfo
impl Clone for SourceScopeInfo
Source§fn clone(&self) -> SourceScopeInfo
fn clone(&self) -> SourceScopeInfo
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SourceScopeInfo
impl Debug for SourceScopeInfo
Source§impl Default for SourceScopeInfo
impl Default for SourceScopeInfo
Source§fn default() -> SourceScopeInfo
fn default() -> SourceScopeInfo
impl Eq for SourceScopeInfo
Source§impl PartialEq for SourceScopeInfo
impl PartialEq for SourceScopeInfo
Source§impl Serialize for SourceScopeInfo
impl Serialize for SourceScopeInfo
impl StructuralPartialEq for SourceScopeInfo
Auto Trait Implementations§
impl !DynSend for SourceScopeInfo
impl !DynSync for SourceScopeInfo
impl !Send for SourceScopeInfo
impl !Sync for SourceScopeInfo
impl Freeze for SourceScopeInfo
impl RefUnwindSafe for SourceScopeInfo
impl Unpin for SourceScopeInfo
impl UnsafeUnpin for SourceScopeInfo
impl UnwindSafe for SourceScopeInfo
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
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§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
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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§impl<K> IntoQueryKey<K> for K
impl<K> IntoQueryKey<K> for K
§fn into_query_key(self) -> K
fn into_query_key(self) -> K
Self to K.
This should always be a very cheap conversion, e.g. LocalDefId::to_def_id.§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes