Struct opcua_types::status_code::StatusCode
source · [−]pub struct StatusCode { /* private fields */ }
Implementations
sourceimpl StatusCode
impl StatusCode
pub const STATUS_MASK: Self
pub const BIT_MASK: Self
pub const IS_ERROR: Self
pub const IS_UNCERTAIN: Self
pub const HISTORICAL_RAW: Self
pub const HISTORICAL_CALCULATED: Self
pub const HISTORICAL_INTERPOLATED: Self
pub const HISTORICAL_RESERVED: Self
pub const HISTORICAL_PARTIAL: Self
pub const HISTORICAL_EXTRA_DATA: Self
pub const HISTORICAL_MULTI_VALUE: Self
pub const OVERFLOW: Self
pub const LIMIT_LOW: Self
pub const LIMIT_HIGH: Self
pub const LIMIT_CONSTANT: Self
pub const LIMIT_DATA_VALUE: Self
pub const SEMANTICS_CHANGED: Self
pub const STRUCTURE_CHANGED: Self
pub const Good: Self
pub const GoodSubscriptionTransferred: Self
pub const GoodCompletesAsynchronously: Self
pub const GoodOverload: Self
pub const GoodClamped: Self
pub const GoodLocalOverride: Self
pub const GoodEntryInserted: Self
pub const GoodEntryReplaced: Self
pub const GoodNoData: Self
pub const GoodMoreData: Self
pub const GoodCommunicationEvent: Self
pub const GoodShutdownEvent: Self
pub const GoodCallAgain: Self
pub const GoodNonCriticalTimeout: Self
pub const GoodResultsMayBeIncomplete: Self
pub const GoodDataIgnored: Self
pub const GoodEdited: Self
pub const GoodPostActionFailed: Self
pub const GoodDependentValueChanged: Self
pub const GoodEdited_DependentValueChanged: Self
pub const GoodEdited_DominantValueChanged: Self
pub const GoodEdited_DominantValueChanged_DependentValueChanged: Self
pub const UncertainReferenceOutOfServer: Self
pub const UncertainNoCommunicationLastUsableValue: Self
pub const UncertainLastUsableValue: Self
pub const UncertainSubstituteValue: Self
pub const UncertainInitialValue: Self
pub const UncertainSensorNotAccurate: Self
pub const UncertainEngineeringUnitsExceeded: Self
pub const UncertainSubNormal: Self
pub const UncertainDataSubNormal: Self
pub const UncertainReferenceNotDeleted: Self
pub const UncertainNotAllNodesAvailable: Self
pub const UncertainDominantValueChanged: Self
pub const UncertainDependentValueChanged: Self
pub const BadUnexpectedError: Self
pub const BadInternalError: Self
pub const BadOutOfMemory: Self
pub const BadCommunicationError: Self
pub const BadEncodingError: Self
pub const BadDecodingError: Self
pub const BadEncodingLimitsExceeded: Self
pub const BadUnknownResponse: Self
pub const BadTimeout: Self
pub const BadServiceUnsupported: Self
pub const BadShutdown: Self
pub const BadServerNotConnected: Self
pub const BadServerHalted: Self
pub const BadNothingToDo: Self
pub const BadTooManyOperations: Self
pub const BadDataTypeIdUnknown: Self
pub const BadCertificateInvalid: Self
pub const BadSecurityChecksFailed: Self
pub const BadCertificateTimeInvalid: Self
pub const BadCertificateIssuerTimeInvalid: Self
pub const BadCertificateHostNameInvalid: Self
pub const BadCertificateUriInvalid: Self
pub const BadCertificateUseNotAllowed: Self
pub const BadCertificateIssuerUseNotAllowed: Self
pub const BadCertificateUntrusted: Self
pub const BadCertificateRevocationUnknown: Self
pub const BadCertificateIssuerRevocationUnknown: Self
pub const BadCertificateRevoked: Self
pub const BadCertificateIssuerRevoked: Self
pub const BadUserAccessDenied: Self
pub const BadIdentityTokenInvalid: Self
pub const BadIdentityTokenRejected: Self
pub const BadSecureChannelIdInvalid: Self
pub const BadInvalidTimestamp: Self
pub const BadNonceInvalid: Self
pub const BadSessionIdInvalid: Self
pub const BadSessionClosed: Self
pub const BadSessionNotActivated: Self
pub const BadSubscriptionIdInvalid: Self
pub const BadRequestHeaderInvalid: Self
pub const BadTimestampsToReturnInvalid: Self
pub const BadRequestCancelledByClient: Self
pub const BadNoCommunication: Self
pub const BadWaitingForInitialData: Self
pub const BadNodeIdInvalid: Self
pub const BadNodeIdUnknown: Self
pub const BadAttributeIdInvalid: Self
pub const BadIndexRangeInvalid: Self
pub const BadIndexRangeNoData: Self
pub const BadDataEncodingInvalid: Self
pub const BadDataEncodingUnsupported: Self
pub const BadNotReadable: Self
pub const BadNotWritable: Self
pub const BadOutOfRange: Self
pub const BadNotSupported: Self
pub const BadNotFound: Self
pub const BadObjectDeleted: Self
pub const BadNotImplemented: Self
pub const BadMonitoringModeInvalid: Self
pub const BadMonitoredItemIdInvalid: Self
pub const BadMonitoredItemFilterInvalid: Self
pub const BadMonitoredItemFilterUnsupported: Self
pub const BadFilterNotAllowed: Self
pub const BadStructureMissing: Self
pub const BadEventFilterInvalid: Self
pub const BadContentFilterInvalid: Self
pub const BadFilterOperandInvalid: Self
pub const BadContinuationPointInvalid: Self
pub const BadNoContinuationPoints: Self
pub const BadReferenceTypeIdInvalid: Self
pub const BadBrowseDirectionInvalid: Self
pub const BadNodeNotInView: Self
pub const BadServerUriInvalid: Self
pub const BadServerNameMissing: Self
pub const BadDiscoveryUrlMissing: Self
pub const BadSempahoreFileMissing: Self
pub const BadRequestTypeInvalid: Self
pub const BadSecurityModeRejected: Self
pub const BadSecurityPolicyRejected: Self
pub const BadTooManySessions: Self
pub const BadUserSignatureInvalid: Self
pub const BadApplicationSignatureInvalid: Self
pub const BadNoValidCertificates: Self
pub const BadRequestCancelledByRequest: Self
pub const BadParentNodeIdInvalid: Self
pub const BadReferenceNotAllowed: Self
pub const BadNodeIdRejected: Self
pub const BadNodeIdExists: Self
pub const BadNodeClassInvalid: Self
pub const BadBrowseNameInvalid: Self
pub const BadBrowseNameDuplicated: Self
pub const BadNodeAttributesInvalid: Self
pub const BadTypeDefinitionInvalid: Self
pub const BadSourceNodeIdInvalid: Self
pub const BadTargetNodeIdInvalid: Self
pub const BadDuplicateReferenceNotAllowed: Self
pub const BadInvalidSelfReference: Self
pub const BadReferenceLocalOnly: Self
pub const BadNoDeleteRights: Self
pub const BadServerIndexInvalid: Self
pub const BadViewIdUnknown: Self
pub const BadTooManyMatches: Self
pub const BadQueryTooComplex: Self
pub const BadNoMatch: Self
pub const BadMaxAgeInvalid: Self
pub const BadHistoryOperationInvalid: Self
pub const BadHistoryOperationUnsupported: Self
pub const BadWriteNotSupported: Self
pub const BadTypeMismatch: Self
pub const BadMethodInvalid: Self
pub const BadArgumentsMissing: Self
pub const BadTooManySubscriptions: Self
pub const BadTooManyPublishRequests: Self
pub const BadNoSubscription: Self
pub const BadSequenceNumberUnknown: Self
pub const BadMessageNotAvailable: Self
pub const BadInsufficientClientProfile: Self
pub const BadTcpServerTooBusy: Self
pub const BadTcpMessageTypeInvalid: Self
pub const BadTcpSecureChannelUnknown: Self
pub const BadTcpMessageTooLarge: Self
pub const BadTcpNotEnoughResources: Self
pub const BadTcpInternalError: Self
pub const BadTcpEndpointUrlInvalid: Self
pub const BadRequestInterrupted: Self
pub const BadRequestTimeout: Self
pub const BadSecureChannelClosed: Self
pub const BadSecureChannelTokenUnknown: Self
pub const BadSequenceNumberInvalid: Self
pub const BadConfigurationError: Self
pub const BadNotConnected: Self
pub const BadDeviceFailure: Self
pub const BadSensorFailure: Self
pub const BadOutOfService: Self
pub const BadDeadbandFilterInvalid: Self
pub const BadRefreshInProgress: Self
pub const BadConditionAlreadyDisabled: Self
pub const BadConditionDisabled: Self
pub const BadEventIdUnknown: Self
pub const BadNoData: Self
pub const BadDataLost: Self
pub const BadEntryExists: Self
pub const BadNoEntryExists: Self
pub const BadTimestampNotSupported: Self
pub const BadInvalidArgument: Self
pub const BadConnectionRejected: Self
pub const BadDisconnect: Self
pub const BadConnectionClosed: Self
pub const BadInvalidState: Self
pub const BadEndOfStream: Self
pub const BadNoDataAvailable: Self
pub const BadWaitingForResponse: Self
pub const BadOperationAbandoned: Self
pub const BadExpectedStreamToBlock: Self
pub const BadWouldBlock: Self
pub const BadSyntaxError: Self
pub const BadMaxConnectionsReached: Self
pub const BadRequestTooLarge: Self
pub const BadResponseTooLarge: Self
pub const BadEventNotAcknowledgeable: Self
pub const BadInvalidTimestampArgument: Self
pub const BadProtocolVersionUnsupported: Self
pub const BadStateNotActive: Self
pub const BadFilterOperatorInvalid: Self
pub const BadFilterOperatorUnsupported: Self
pub const BadFilterOperandCountMismatch: Self
pub const BadFilterElementInvalid: Self
pub const BadFilterLiteralInvalid: Self
pub const BadIdentityChangeNotSupported: Self
pub const BadNotTypeDefinition: Self
pub const BadViewTimestampInvalid: Self
pub const BadViewParameterMismatch: Self
pub const BadViewVersionInvalid: Self
pub const BadConditionAlreadyEnabled: Self
pub const BadDialogNotActive: Self
pub const BadDialogResponseInvalid: Self
pub const BadConditionBranchAlreadyAcked: Self
pub const BadConditionBranchAlreadyConfirmed: Self
pub const BadConditionAlreadyShelved: Self
pub const BadConditionNotShelved: Self
pub const BadShelvingTimeOutOfRange: Self
pub const BadAggregateListMismatch: Self
pub const BadAggregateNotSupported: Self
pub const BadAggregateInvalidInputs: Self
pub const BadBoundNotFound: Self
pub const BadBoundNotSupported: Self
pub const BadAggregateConfigurationRejected: Self
pub const BadTooManyMonitoredItems: Self
pub const BadDominantValueChanged: Self
pub const BadDependentValueChanged: Self
pub const BadRequestNotAllowed: Self
pub const BadTooManyArguments: Self
pub const BadSecurityModeInsufficient: Self
pub const BadCertificateChainIncomplete: Self
pub const BadLicenseExpired: Self
pub const BadLicenseLimitsExceeded: Self
pub const BadLicenseNotAvailable: Self
pub const BadNotExecutable: Self
pub const BadNumericOverflow: Self
pub const BadRequestNotComplete: Self
pub const BadCertificatePolicyCheckFailed: Self
pub const BadAlreadyExists: Self
pub const BadEdited_OutOfRange: Self
pub const BadInitialValue_OutOfRange: Self
pub const BadOutOfRange_DominantValueChanged: Self
pub const BadEdited_OutOfRange_DominantValueChanged: Self
pub const BadOutOfRange_DominantValueChanged_DependentValueChanged: Self
pub const BadEdited_OutOfRange_DominantValueChanged_DependentValueChanged: Self
sourcepub const fn from_bits(bits: u32) -> Option<Self>
pub const fn from_bits(bits: u32) -> Option<Self>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
sourcepub const fn from_bits_truncate(bits: u32) -> Self
pub const fn from_bits_truncate(bits: u32) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const unsafe fn from_bits_unchecked(bits: u32) -> Self
pub const unsafe fn from_bits_unchecked(bits: u32) -> Self
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
Safety
The caller of the bitflags!
macro can chose to allow or
disallow extra bits for their bitflags type.
The caller of from_bits_unchecked()
has to ensure that
all bits correspond to a defined flag or that extra bits
are valid for this bitflags type.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true
if there are flags common to both self
and other
.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Returns true
if all of the flags in other
are contained within self
.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Inserts or removes the specified flags depending on the passed value.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection between the flags in self
and
other
.
Specifically, the returned set contains only the flags which are
present in both self
and other
.
This is equivalent to using the &
operator (e.g.
ops::BitAnd
), as in flags & other
.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
Returns the union of between the flags in self
and other
.
Specifically, the returned set contains all flags which are
present in either self
or other
, including any which are
present in both (see Self::symmetric_difference
if that
is undesirable).
This is equivalent to using the |
operator (e.g.
ops::BitOr
), as in flags | other
.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns the difference between the flags in self
and other
.
Specifically, the returned set contains all flags present in
self
, except for the ones present in other
.
It is also conceptually equivalent to the “bit-clear” operation:
flags & !other
(and this syntax is also supported).
This is equivalent to using the -
operator (e.g.
ops::Sub
), as in flags - other
.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
Returns the symmetric difference between the flags
in self
and other
.
Specifically, the returned set contains the flags present which
are present in self
or other
, but that are not present in
both. Equivalently, it contains the flags present in exactly
one of the sets self
and other
.
This is equivalent to using the ^
operator (e.g.
ops::BitXor
), as in flags ^ other
.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
Returns the complement of this set of flags.
Specifically, the returned set contains all the flags which are
not set in self
, but which are allowed for this type.
Alternatively, it can be thought of as the set difference
between Self::all()
and self
(e.g. Self::all() - self
)
This is equivalent to using the !
operator (e.g.
ops::Not
), as in !flags
.
sourceimpl StatusCode
impl StatusCode
sourcepub fn name(self) -> &'static str
pub fn name(self) -> &'static str
Returns the descriptive name for the status code, e.g. to put a meaningful code in a log file
sourcepub fn description(self) -> &'static str
pub fn description(self) -> &'static str
Returns the descriptive text for the status code
sourcepub fn from_u32(code: u32) -> Option<StatusCode>
pub fn from_u32(code: u32) -> Option<StatusCode>
Takes an OPC UA status code as a UInt32 and returns the matching StatusCode, assuming there is one Note that this is lossy since any bits associated with the status code will be ignored.
sourceimpl StatusCode
impl StatusCode
sourcepub fn bitflags(&self) -> StatusCode
pub fn bitflags(&self) -> StatusCode
Returns the bit flags of the status code, i.e. it masks out the actual status code value
sourcepub fn status(&self) -> StatusCode
pub fn status(&self) -> StatusCode
Returns the status only, i.e. it masks out any bit flags that come with the status code
sourcepub fn is_uncertain(&self) -> bool
pub fn is_uncertain(&self) -> bool
Tests if the status code is uncertain
Trait Implementations
sourceimpl Binary for StatusCode
impl Binary for StatusCode
sourceimpl BinaryEncoder<StatusCode> for StatusCode
impl BinaryEncoder<StatusCode> for StatusCode
sourcefn byte_len(&self) -> usize
fn byte_len(&self) -> usize
Returns the exact byte length of the structure as it would be if encode
were called.
This may be called prior to writing to ensure the correct amount of space is available. Read more
sourcefn encode<S: Write>(&self, stream: &mut S) -> EncodingResult<usize>
fn encode<S: Write>(&self, stream: &mut S) -> EncodingResult<usize>
Encodes the instance to the write stream.
sourcefn decode<S: Read>(stream: &mut S, _: &DecodingOptions) -> EncodingResult<Self>
fn decode<S: Read>(stream: &mut S, _: &DecodingOptions) -> EncodingResult<Self>
Decodes an instance from the read stream. The decoding options contains restrictions set by
the server / client on the length of strings, arrays etc. If these limits are exceeded the
implementation should return with a BadDecodingError
as soon as possible. Read more
fn encode_to_vec(&self) -> Vec<u8>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
sourceimpl BitAnd<StatusCode> for StatusCode
impl BitAnd<StatusCode> for StatusCode
sourceimpl BitAndAssign<StatusCode> for StatusCode
impl BitAndAssign<StatusCode> for StatusCode
sourcefn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
Disables all flags disabled in the set.
sourceimpl BitOr<StatusCode> for StatusCode
impl BitOr<StatusCode> for StatusCode
sourcefn bitor(self, other: StatusCode) -> Self
fn bitor(self, other: StatusCode) -> Self
Returns the union of the two sets of flags.
type Output = Self
type Output = Self
The resulting type after applying the |
operator.
sourceimpl BitOrAssign<StatusCode> for StatusCode
impl BitOrAssign<StatusCode> for StatusCode
sourcefn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
sourceimpl BitXor<StatusCode> for StatusCode
impl BitXor<StatusCode> for StatusCode
sourceimpl BitXorAssign<StatusCode> for StatusCode
impl BitXorAssign<StatusCode> for StatusCode
sourcefn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
sourceimpl Clone for StatusCode
impl Clone for StatusCode
sourcefn clone(&self) -> StatusCode
fn clone(&self) -> StatusCode
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for StatusCode
impl Debug for StatusCode
sourceimpl<'de> Deserialize<'de> for StatusCode
impl<'de> Deserialize<'de> for StatusCode
sourcefn deserialize<D>(
deserializer: D
) -> Result<Self, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<Self, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Display for StatusCode
impl Display for StatusCode
sourceimpl Error for StatusCode
impl Error for StatusCode
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
sourceimpl Extend<StatusCode> for StatusCode
impl Extend<StatusCode> for StatusCode
sourcefn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
Extends a collection with the contents of an iterator. Read more
sourcefn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)Extends a collection with exactly one element.
sourcefn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
sourceimpl From<StatusCode> for DataValue
impl From<StatusCode> for DataValue
sourcefn from(v: StatusCode) -> Self
fn from(v: StatusCode) -> Self
Converts to this type from the input type.
sourceimpl From<StatusCode> for Error
impl From<StatusCode> for Error
sourcefn from(e: StatusCode) -> Error
fn from(e: StatusCode) -> Error
Converts to this type from the input type.
sourceimpl From<StatusCode> for Variant
impl From<StatusCode> for Variant
sourcefn from(v: StatusCode) -> Self
fn from(v: StatusCode) -> Self
Converts to this type from the input type.
sourceimpl FromIterator<StatusCode> for StatusCode
impl FromIterator<StatusCode> for StatusCode
sourcefn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
Creates a value from an iterator. Read more
sourceimpl FromStr for StatusCode
impl FromStr for StatusCode
sourceimpl Hash for StatusCode
impl Hash for StatusCode
sourceimpl LowerHex for StatusCode
impl LowerHex for StatusCode
sourceimpl Not for StatusCode
impl Not for StatusCode
sourceimpl Octal for StatusCode
impl Octal for StatusCode
sourceimpl Ord for StatusCode
impl Ord for StatusCode
sourceimpl PartialEq<StatusCode> for StatusCode
impl PartialEq<StatusCode> for StatusCode
sourcefn eq(&self, other: &StatusCode) -> bool
fn eq(&self, other: &StatusCode) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &StatusCode) -> bool
fn ne(&self, other: &StatusCode) -> bool
This method tests for !=
.
sourceimpl PartialOrd<StatusCode> for StatusCode
impl PartialOrd<StatusCode> for StatusCode
sourcefn partial_cmp(&self, other: &StatusCode) -> Option<Ordering>
fn partial_cmp(&self, other: &StatusCode) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl Serialize for StatusCode
impl Serialize for StatusCode
sourceimpl Sub<StatusCode> for StatusCode
impl Sub<StatusCode> for StatusCode
sourceimpl SubAssign<StatusCode> for StatusCode
impl SubAssign<StatusCode> for StatusCode
sourcefn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Disables all flags enabled in the set.
sourceimpl UpperHex for StatusCode
impl UpperHex for StatusCode
impl Copy for StatusCode
impl Eq for StatusCode
impl StructuralEq for StatusCode
impl StructuralPartialEq for StatusCode
Auto Trait Implementations
impl RefUnwindSafe for StatusCode
impl Send for StatusCode
impl Sync for StatusCode
impl Unpin for StatusCode
impl UnwindSafe for StatusCode
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more