Expand description
Structs§
Enums§
Functions§
- bounds_
reference_ 🔒self  - contains_
illegal_ 🔒impl_ trait_ in_ trait  - contains_
illegal_ 🔒self_ type_ reference  - This is somewhat subtle. In general, we want to forbid
references to 
Selfin the argument and return types, since the value ofSelfis erased. However, there is one exception: it is ok to referenceSelfin order to access an associated type of the current trait, since we retain the value of those associated types in the object type itself. - dyn_
compatibility_ 🔒violations  - dyn_
compatibility_ violations_ for_ assoc_ item  - Returns 
Some(_)if this item makes the containing trait dyn-incompatible. - dyn_
compatibility_ 🔒violations_ for_ trait  - generics_
require_ 🔒sized_ self  - get_
sized_ 🔒bounds  - hir_
ty_ lowering_ dyn_ compatibility_ violations  - Returns the dyn-compatibility violations that affect HIR ty lowering.
 - is_
dyn_ 🔒compatible  - is_
vtable_ safe_ method  - We say a method is vtable safe if it can be invoked on a trait
object. Note that dyn-compatible traits can have some
non-vtable-safe methods, so long as they require 
Self: Sizedor otherwise ensure that they cannot be used whenSelf = Trait. - predicate_
references_ 🔒self  - predicates_
reference_ 🔒self  - provide 🔒
 - receiver_
for_ 🔒self_ ty  - Performs a type instantiation to produce the version of 
receiver_tywhenSelf = self_ty. For example, forreceiver_ty = Rc<Self>andself_ty = Foo, returnsRc<Foo>. - receiver_
is_ 🔒dispatchable  - Checks the method’s receiver (the 
selfargument) can be dispatched on whenSelfis a trait object. We require thatDispatchableFromDynbe implemented for the receiver type in the following way: - sized_
trait_ 🔒bound_ spans  - super_
predicates_ 🔒have_ non_ lifetime_ binders  - trait_
has_ 🔒sized_ self  - virtual_
call_ 🔒violations_ for_ method  - Returns 
Some(_)if this method cannot be called on a trait object; this does not necessarily imply that the enclosing trait is dyn-incompatible, because the method might have a where clauseSelf: Sized.