pub struct DeducedParamAttrs {
pub usage: UsageSummary,
}Expand description
Parameter attributes that can only be determined by examining the body of a function instead of just its signature.
These can be useful for optimization purposes when a function is directly called. We compute them and store them into the crate metadata so that downstream crates can make use of them.
Right now, we have readonly and captures(none), but no_alias might be useful in the
future.
Fields§
§usage: UsageSummaryImplementations§
Source§impl DeducedParamAttrs
impl DeducedParamAttrs
Trait Implementations§
Source§impl Clone for DeducedParamAttrs
impl Clone for DeducedParamAttrs
Source§fn clone(&self) -> DeducedParamAttrs
fn clone(&self) -> DeducedParamAttrs
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 Debug for DeducedParamAttrs
impl Debug for DeducedParamAttrs
Source§impl<__D: SpanDecoder> Decodable<__D> for DeducedParamAttrs
impl<__D: SpanDecoder> Decodable<__D> for DeducedParamAttrs
Source§impl<__E: SpanEncoder> Encodable<__E> for DeducedParamAttrs
impl<__E: SpanEncoder> Encodable<__E> for DeducedParamAttrs
Source§impl Erasable for DeducedParamAttrs
impl Erasable for DeducedParamAttrs
Source§impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for DeducedParamAttrs
impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for DeducedParamAttrs
fn hash_stable( &self, __hcx: &mut StableHashingContext<'__ctx>, __hasher: &mut StableHasher, )
Source§impl PartialEq for DeducedParamAttrs
impl PartialEq for DeducedParamAttrs
Source§impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for DeducedParamAttrs
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for DeducedParamAttrs
impl Copy for DeducedParamAttrs
impl StructuralPartialEq for DeducedParamAttrs
Auto Trait Implementations§
impl DynSend for DeducedParamAttrs
impl DynSync for DeducedParamAttrs
impl Freeze for DeducedParamAttrs
impl RefUnwindSafe for DeducedParamAttrs
impl Send for DeducedParamAttrs
impl Sync for DeducedParamAttrs
impl Unpin for DeducedParamAttrs
impl UnsafeUnpin for DeducedParamAttrs
impl UnwindSafe for DeducedParamAttrs
Blanket Implementations§
Source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut T
fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'tcx mut [T]
Source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut T
fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'tcx mut [T]
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, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<'tcx, T> DepNodeKey<'tcx> for T
impl<'tcx, T> DepNodeKey<'tcx> for T
default fn key_fingerprint_style() -> KeyFingerprintStyle
Source§default fn to_fingerprint(&self, tcx: TyCtxt<'tcx>) -> Fingerprint
default fn to_fingerprint(&self, tcx: TyCtxt<'tcx>) -> Fingerprint
This method turns a query key into an opaque
Fingerprint to be used
in DepNode.default fn to_debug_str(&self, tcx: TyCtxt<'tcx>) -> String
Source§default fn try_recover_key(_: TyCtxt<'tcx>, _: &DepNode) -> Option<T>
default fn try_recover_key(_: TyCtxt<'tcx>, _: &DepNode) -> Option<T>
This method tries to recover the query key from the given
DepNode,
something which is needed when forcing DepNodes during red-green
evaluation. The query system will only call this method if
fingerprint_style() is not FingerprintStyle::Opaque.
It is always valid to return None here, in which case incremental
compilation will treat the query as having changed instead of forcing it.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 moreSource§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
Source§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>
impl<T> ErasedDestructor for Twhere
T: 'static,
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: 1 byte