DerefUsed for immutable dereferencing operations, like *v.
DerefMutUsed for mutable dereferencing operations, like in *v = 1;.
DerefPurePerma-unstable marker trait. Indicates that the type has a well-behaved Deref
(and, if applicable, DerefMut) implementation. This is relied on for soundness
of deref patterns.
LegacyReceiverIndicates that a struct can be used as a method receiver, without the
arbitrary_self_types feature. This is implemented by stdlib pointer types like Box<T>,
Rc<T>, &T, and Pin<P>.
ReceiverIndicates that a struct can be used as a method receiver.
That is, a type can use this type as a type of self, like this: