Trait objc2::mutability::IsMutable

source ·
pub unsafe trait IsMutable: Sealed + IsAllowedMutable { }
Expand description

Marker trait for classes that are only mutable through &mut.

This is implemented for classes whose ClassType::Mutability is one of:

Notably, InteriorMutable does not implement this (though it is technically mutable), since it is allowed to mutate through shared references.

This trait inherits IsAllowedMutable, so if a function is bound by this, functionality given with that trait is available.

§Safety

This is a sealed trait, and should not need to be implemented. Open an issue if you know a use-case where this restrition should be lifted!

Implementors§

source§

impl<P: ?Sized + IsMutable> IsMutable for ProtocolObject<P>

source§

impl<T: ?Sized + ClassType> IsMutable for T
where T::Mutability: MutabilityIsMutable,