Struct darling::util::Flag [−][src]
Marker type equivalent to Option<()>
for use in attribute parsing.
Implementations
impl Flag
[src]
Methods from Deref<Target = Option<()>>
#[must_use =
"if you intended to assert that this has a value, consider `.unwrap()` instead"]pub const fn is_some(&self) -> bool
1.0.0 (const: 1.48.0)[src]
Returns true
if the option is a Some
value.
Examples
let x: Option<u32> = Some(2); assert_eq!(x.is_some(), true); let x: Option<u32> = None; assert_eq!(x.is_some(), false);
#[must_use =
"if you intended to assert that this doesn't have a value, consider \
`.and_then(|| panic!(\"`Option` had a value when expected `None`\"))` instead"]pub const fn is_none(&self) -> bool
1.0.0 (const: 1.48.0)[src]
Returns true
if the option is a None
value.
Examples
let x: Option<u32> = Some(2); assert_eq!(x.is_none(), false); let x: Option<u32> = None; assert_eq!(x.is_none(), true);
#[must_use]pub fn contains<U>(&self, x: &U) -> bool where
U: PartialEq<T>,
[src]
U: PartialEq<T>,
option_result_contains
)Returns true
if the option is a Some
value containing the given value.
Examples
#![feature(option_result_contains)] let x: Option<u32> = Some(2); assert_eq!(x.contains(&2), true); let x: Option<u32> = Some(3); assert_eq!(x.contains(&2), false); let x: Option<u32> = None; assert_eq!(x.contains(&2), false);
pub const fn as_ref(&self) -> Option<&T>
1.0.0 (const: 1.48.0)[src]
Converts from &Option<T>
to Option<&T>
.
Examples
Converts an Option<
String
>
into an Option<
usize
>
, preserving the original.
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);
pub fn as_pin_ref(self: Pin<&Option<T>>) -> Option<Pin<&T>>
1.33.0[src]
pub fn as_pin_mut(self: Pin<&mut Option<T>>) -> Option<Pin<&mut T>>
1.33.0[src]
pub const fn iter(&self) -> Iter<'_, T>
1.0.0[src]
Returns an iterator over the possibly contained value.
Examples
let x = Some(4); assert_eq!(x.iter().next(), Some(&4)); let x: Option<u32> = None; assert_eq!(x.iter().next(), None);
pub fn as_deref(&self) -> Option<&<T as Deref>::Target>
1.40.0[src]
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
impl BitAnd<Flag> for Flag
[src]
type Output = Flag
The resulting type after applying the &
operator.
pub fn bitand(self, rhs: Flag) -> Flag
[src]
impl BitOr<Flag> for Flag
[src]
type Output = Flag
The resulting type after applying the |
operator.
pub fn bitor(self, rhs: Flag) -> Flag
[src]
impl Clone for Flag
[src]
impl Copy for Flag
[src]
impl Debug for Flag
[src]
impl Default for Flag
[src]
impl Deref for Flag
[src]
type Target = Option<()>
The resulting type after dereferencing.
pub fn deref(&self) -> &<Flag as Deref>::Target
[src]
impl Eq for Flag
[src]
impl From<Flag> for bool
[src]
impl From<Option<()>> for Flag
[src]
impl From<bool> for Flag
[src]
impl FromMeta for Flag
[src]
pub fn from_meta(mi: &Meta) -> Result<Flag, Error>
[src]
pub fn from_nested_meta(item: &NestedMeta) -> Result<Self, Error>
[src]
pub fn from_word() -> Result<Self, Error>
[src]
pub fn from_list(items: &[NestedMeta]) -> Result<Self, Error>
[src]
pub fn from_value(value: &Lit) -> Result<Self, Error>
[src]
pub fn from_char(value: char) -> Result<Self, Error>
[src]
pub fn from_string(value: &str) -> Result<Self, Error>
[src]
pub fn from_bool(value: bool) -> Result<Self, Error>
[src]
impl Not for Flag
[src]
impl PartialEq<Flag> for Option<()>
[src]
impl PartialEq<Flag> for Flag
[src]
impl PartialEq<Option<()>> for Flag
[src]
pub fn eq(&self, rhs: &Option<()>) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<bool> for Flag
[src]
impl StructuralEq for Flag
[src]
impl StructuralPartialEq for Flag
[src]
Auto Trait Implementations
impl RefUnwindSafe for Flag
impl Send for Flag
impl Sync for Flag
impl Unpin for Flag
impl UnwindSafe for Flag
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,