#[non_exhaustive]pub enum CloningStrategy {
NeverClone,
CloneIfNecessary,
}
Expand description
Determines whether Pavex is allowed to clone a component—e.g. the output type returned by a constructor or a state input.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
NeverClone
Pavex will never try clone the type.
Pavex will return an error if cloning is necessary to generate code
that satisfies Rust’s borrow checker.
CloneIfNecessary
Pavex will only clone the type if it’s necessary to generate code that satisfies Rust’s borrow checker.
Trait Implementations§
source§impl Clone for CloningStrategy
impl Clone for CloningStrategy
source§fn clone(&self) -> CloningStrategy
fn clone(&self) -> CloningStrategy
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CloningStrategy
impl Debug for CloningStrategy
source§impl<'de> Deserialize<'de> for CloningStrategy
impl<'de> Deserialize<'de> for CloningStrategy
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 PartialEq for CloningStrategy
impl PartialEq for CloningStrategy
source§impl Serialize for CloningStrategy
impl Serialize for CloningStrategy
impl Copy for CloningStrategy
impl Eq for CloningStrategy
impl StructuralPartialEq for CloningStrategy
Auto Trait Implementations§
impl Freeze for CloningStrategy
impl RefUnwindSafe for CloningStrategy
impl Send for CloningStrategy
impl Sync for CloningStrategy
impl Unpin for CloningStrategy
impl UnwindSafe for CloningStrategy
Blanket Implementations§
source§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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.