pub enum Owner {
Address(Address),
Object(ObjectId),
Shared(Version),
Immutable,
}
Expand description
Enum of different types of ownership for an object.
§BCS
The BCS serialized form for this type is defined by the following ABNF:
owner = owner-address / owner-object / owner-shared / owner-immutable
owner-address = %x00 address
owner-object = %x01 object-id
owner-shared = %x02 u64
owner-immutable = %x03
Variants§
Address(Address)
Object is exclusively owned by a single address, and is mutable.
Object(ObjectId)
Object is exclusively owned by a single object, and is mutable.
Object is shared, can be used by any address, and is mutable.
Immutable
Object is immutable, and hence ownership doesn’t matter.
Trait Implementations§
Source§impl Arbitrary for Owner
impl Arbitrary for Owner
Source§type Parameters = ()
type Parameters = ()
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.Source§type Strategy = BoxedStrategy<Owner>
type Strategy = BoxedStrategy<Owner>
The type of
Strategy
used to generate values of type Self
.Source§fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
Source§impl<'de> Deserialize<'de> for Owner
impl<'de> Deserialize<'de> for Owner
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Ord for Owner
impl Ord for Owner
Source§impl PartialOrd for Owner
impl PartialOrd for Owner
impl Copy for Owner
impl Eq for Owner
impl StructuralPartialEq for Owner
Auto Trait Implementations§
impl Freeze for Owner
impl RefUnwindSafe for Owner
impl Send for Owner
impl Sync for Owner
impl Unpin for Owner
impl UnwindSafe for Owner
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moreSource§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