Use this rather than
PredicateS, whenever possible.
0: Interned<'tcx, PredicateS<'tcx>>
Gets the inner
Flips the polarity of a Predicate.
T: Trait predicate it returns
T: !Trait and given
T: !Trait returns
Whether this projection can be soundly normalized.
Wf predicates must not be normalized, as normalization can remove required bounds which would cause us to unsoundly accept some programs. See #91068.
Performs a substitution suitable for going from a poly-trait-ref to supertraits that must hold if that poly-trait-ref holds. This is slightly different from a normal substitution in terms of what happens with bound regions. See lengthy comment below for details.
TypeFoldermethods, when a non-custom traversal is desired for the value of the type of interest passed to that method. For example, in
MyFolder::try_fold_ty(ty), it is valid to call
ty.try_super_fold_with(self), but any other folding should be done with
xyz.try_fold_with(self). Read more
try_super_fold_withfor use with infallible folders. Do not override this method, to ensure coherence with
try_super_fold_with. Read more
TypeVisitormethods, when a non-custom traversal is desired for the value of the type of interest passed to that method. For example, in
MyVisitor::visit_ty(ty), it is valid to call
ty.super_visit_with(self), but any other visiting should be done with
xyz.visit_with(self). Read more
twith a visitor
t.visit_with(v). Read more
selfhas any late-bound regions that are either bound by
binderor bound by some binder outside of
ty::INNERMOST, this indicates whether there are any late-bound regions that appear free. Read more
selfhas any regions that escape
binder(and hence are not bound by it). Read more
implspecialization. Read more
DepNode, something which is needed when forcing
DepNodes during red-green evaluation. The query system will only call this method if
FingerprintStyle::Opaque. It is always valid to return
Nonehere, in which case incremental compilation will treat the query as having changed instead of forcing it. Read more
Returns the argument unchanged.
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: 8 bytes