Struct v9::lock::GuardMut [−][src]
Methods from Deref<Target = dyn Any>
pub fn is<T>(&self) -> bool where
T: Any,
1.0.0[src]
T: Any,
Returns true
if the boxed type is the same as T
.
Examples
use std::any::Any; fn is_string(s: &dyn Any) { if s.is::<String>() { println!("It's a string!"); } else { println!("Not a string..."); } } is_string(&0); is_string(&"cookie monster".to_string());
pub fn downcast_ref<T>(&self) -> Option<&T> where
T: Any,
1.0.0[src]
T: Any,
Returns some reference to the boxed value if it is of type T
, or
None
if it isn’t.
Examples
use std::any::Any; fn print_if_string(s: &dyn Any) { if let Some(string) = s.downcast_ref::<String>() { println!("It's a string({}): '{}'", string.len(), string); } else { println!("Not a string..."); } } print_if_string(&0); print_if_string(&"cookie monster".to_string());
pub fn downcast_mut<T>(&mut self) -> Option<&mut T> where
T: Any,
1.0.0[src]
T: Any,
Returns some mutable reference to the boxed value if it is of type T
, or
None
if it isn’t.
Examples
use std::any::Any; fn modify_if_u32(s: &mut dyn Any) { if let Some(num) = s.downcast_mut::<u32>() { *num = 42; } } let mut x = 10u32; let mut s = "starlord".to_string(); modify_if_u32(&mut x); modify_if_u32(&mut s); assert_eq!(x, 42); assert_eq!(&s, "starlord");
pub fn is<T>(&self) -> bool where
T: Any,
1.0.0[src]
T: Any,
Forwards to the method defined on the type Any
.
Examples
use std::any::Any; fn is_string(s: &(dyn Any + Send)) { if s.is::<String>() { println!("It's a string!"); } else { println!("Not a string..."); } } is_string(&0); is_string(&"cookie monster".to_string());
pub fn downcast_ref<T>(&self) -> Option<&T> where
T: Any,
1.0.0[src]
T: Any,
Forwards to the method defined on the type Any
.
Examples
use std::any::Any; fn print_if_string(s: &(dyn Any + Send)) { if let Some(string) = s.downcast_ref::<String>() { println!("It's a string({}): '{}'", string.len(), string); } else { println!("Not a string..."); } } print_if_string(&0); print_if_string(&"cookie monster".to_string());
pub fn downcast_mut<T>(&mut self) -> Option<&mut T> where
T: Any,
1.0.0[src]
T: Any,
Forwards to the method defined on the type Any
.
Examples
use std::any::Any; fn modify_if_u32(s: &mut (dyn Any + Send)) { if let Some(num) = s.downcast_mut::<u32>() { *num = 42; } } let mut x = 10u32; let mut s = "starlord".to_string(); modify_if_u32(&mut x); modify_if_u32(&mut s); assert_eq!(x, 42); assert_eq!(&s, "starlord");
pub fn is<T>(&self) -> bool where
T: Any,
1.28.0[src]
T: Any,
Forwards to the method defined on the type Any
.
Examples
use std::any::Any; fn is_string(s: &(dyn Any + Send + Sync)) { if s.is::<String>() { println!("It's a string!"); } else { println!("Not a string..."); } } is_string(&0); is_string(&"cookie monster".to_string());
pub fn downcast_ref<T>(&self) -> Option<&T> where
T: Any,
1.28.0[src]
T: Any,
Forwards to the method defined on the type Any
.
Examples
use std::any::Any; fn print_if_string(s: &(dyn Any + Send + Sync)) { if let Some(string) = s.downcast_ref::<String>() { println!("It's a string({}): '{}'", string.len(), string); } else { println!("Not a string..."); } } print_if_string(&0); print_if_string(&"cookie monster".to_string());
pub fn downcast_mut<T>(&mut self) -> Option<&mut T> where
T: Any,
1.28.0[src]
T: Any,
Forwards to the method defined on the type Any
.
Examples
use std::any::Any; fn modify_if_u32(s: &mut (dyn Any + Send + Sync)) { if let Some(num) = s.downcast_mut::<u32>() { *num = 42; } } let mut x = 10u32; let mut s = "starlord".to_string(); modify_if_u32(&mut x); modify_if_u32(&mut s); assert_eq!(x, 42); assert_eq!(&s, "starlord");
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for GuardMut
impl !Send for GuardMut
impl !Sync for GuardMut
impl Unpin for GuardMut
impl !UnwindSafe for GuardMut
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<X> ForeignKey for X
[src]
fn __v9_link_foreign_table_name() -> Option<Name>
[src]
fn __v9_link_foreign_key<LM: TableMarker>(_universe: &mut Universe)
[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, 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>,