pub struct VariantProp(/* private fields */);
Methods from Deref<Target = Option<Variant>>§
1.0.0 · Sourcepub fn as_ref(&self) -> Option<&T>
pub fn as_ref(&self) -> Option<&T>
Converts from &Option<T>
to Option<&T>
.
§Examples
Calculates the length of an Option<String>
as an Option<usize>
without moving the String
. The map
method takes the self
argument by value,
consuming the original, so this technique uses as_ref
to first take an Option
to a
reference to the value inside the original.
let text: Option<String> = Some("Hello, world!".to_string());
// First, cast `Option<String>` to `Option<&String>` with `as_ref`,
// then consume *that* with `map`, leaving `text` on the stack.
let text_length: Option<usize> = text.as_ref().map(|s| s.len());
println!("still can print text: {text:?}");
1.75.0 · Sourcepub fn as_slice(&self) -> &[T]
pub fn as_slice(&self) -> &[T]
Returns a slice of the contained value, if any. If this is None
, an
empty slice is returned. This can be useful to have a single type of
iterator over an Option
or slice.
Note: Should you have an Option<&T>
and wish to get a slice of T
,
you can unpack it via opt.map_or(&[], std::slice::from_ref)
.
§Examples
assert_eq!(
[Some(1234).as_slice(), None.as_slice()],
[&[1234][..], &[][..]],
);
The inverse of this function is (discounting
borrowing) [_]::first
:
for i in [Some(1234_u16), None] {
assert_eq!(i.as_ref(), i.as_slice().first());
}
1.40.0 · Sourcepub fn as_deref(&self) -> Option<&<T as Deref>::Target>where
T: Deref,
pub fn as_deref(&self) -> Option<&<T as Deref>::Target>where
T: Deref,
Converts from Option<T>
(or &Option<T>
) to Option<&T::Target>
.
Leaves the original Option in-place, creating a new one with a reference
to the original one, additionally coercing the contents via Deref
.
§Examples
let x: Option<String> = Some("hey".to_owned());
assert_eq!(x.as_deref(), Some("hey"));
let x: Option<String> = None;
assert_eq!(x.as_deref(), None);
Trait Implementations§
Source§impl Clone for VariantProp
impl Clone for VariantProp
Source§fn clone(&self) -> VariantProp
fn clone(&self) -> VariantProp
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for VariantProp
impl Debug for VariantProp
Source§impl Default for VariantProp
impl Default for VariantProp
Source§fn default() -> VariantProp
fn default() -> VariantProp
Source§impl Deref for VariantProp
impl Deref for VariantProp
Source§impl ImplicitClone for VariantProp
impl ImplicitClone for VariantProp
Source§fn implicit_clone(&self) -> Self
fn implicit_clone(&self) -> Self
Source§impl IntoPropValue<VariantProp> for &str
impl IntoPropValue<VariantProp> for &str
Source§fn into_prop_value(self) -> VariantProp
fn into_prop_value(self) -> VariantProp
self
to a value of a Properties
struct.Source§impl IntoPropValue<VariantProp> for Variant
impl IntoPropValue<VariantProp> for Variant
Source§fn into_prop_value(self) -> VariantProp
fn into_prop_value(self) -> VariantProp
self
to a value of a Properties
struct.Source§impl PartialEq for VariantProp
impl PartialEq for VariantProp
impl Copy for VariantProp
impl StructuralPartialEq for VariantProp
Auto Trait Implementations§
impl Freeze for VariantProp
impl RefUnwindSafe for VariantProp
impl Send for VariantProp
impl Sync for VariantProp
impl Unpin for VariantProp
impl UnwindSafe for VariantProp
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoPropValue<Option<T>> for T
impl<T> IntoPropValue<Option<T>> for T
Source§fn into_prop_value(self) -> Option<T>
fn into_prop_value(self) -> Option<T>
self
to a value of a Properties
struct.Source§impl<T> IntoPropValue<T> for T
impl<T> IntoPropValue<T> for T
Source§fn into_prop_value(self) -> T
fn into_prop_value(self) -> T
self
to a value of a Properties
struct.