#[repr(C)]pub struct RBoxError_<M = SyncSend> { /* private fields */ }Expand description
Ffi-safe version of Box<dyn std::error::Error + 'static>
whose Send + Syncness is determined by the M type parameter.
§Examples
§Converting from and into Box<dyn Error + ...>
use std::{convert::TryFrom, error::Error as ErrorTrait};
use abi_stable::std_types::{RBox, RBoxError, SendRBoxError, UnsyncRBoxError};
{
let from: Box<dyn ErrorTrait> = "hello, error".into();
let rbox = UnsyncRBoxError::from_box(from);
let _: Box<dyn ErrorTrait> = rbox.into_box();
}
{
let arr_err = <[(); 0]>::try_from(&[()][..]).unwrap_err();
let from: Box<dyn ErrorTrait + Send> = Box::new(arr_err);
let rbox = SendRBoxError::from_box(from);
let _: Box<dyn ErrorTrait + Send> = rbox.into_box();
}
{
let arr_err = <[(); 0]>::try_from(&[()][..]).unwrap_err();
let from: Box<dyn ErrorTrait + Send + Sync> = Box::new(arr_err);
let rbox = RBoxError::from_box(from);
let _: Box<dyn ErrorTrait + Send + Sync> = rbox.into_box();
}
§Downcasting by value
use std::num::{ParseFloatError, ParseIntError};
use abi_stable::std_types::{RBox, RBoxError};
// Constructing a `RBoxError` from a `Box<dyn Error>`, then downcasting to a `ParseIntError`.
{
let parse_err = "".parse::<u64>().unwrap_err();
let dyn_err: Box<dyn std::error::Error + Send + Sync + 'static> =
Box::new(parse_err.clone());
let err = RBoxError::from_box(dyn_err);
assert_eq!(
err.downcast::<ParseIntError>().unwrap(),
RBox::new(parse_err)
);
}
// Constructing a `RBoxError` from a `ParseFloatError`, then downcasting back to it.
{
let parse_err = "".parse::<f32>().unwrap_err();
let err = RBoxError::new(parse_err.clone());
assert_eq!(
err.downcast::<ParseFloatError>().unwrap(),
RBox::new(parse_err)
);
}
// Constructing a `RBoxError` from a `ParseFloatError`,
// then attempting to downcasting it to a `ParseIntError`.
{
let parse_err = "".parse::<f32>().unwrap_err();
let err = RBoxError::new(parse_err);
assert!(err.downcast::<ParseIntError>().is_err());
}
§Downcasting by reference
use std::{convert::TryFrom, num::TryFromIntError, str::Utf8Error};
use abi_stable::std_types::{RBox, UnsyncRBoxError};
// Constructing a `UnsyncRBoxError` from a `Box<dyn Error>`,
// then downcasting to a `TryFromIntError`.
{
let int_err = u32::try_from(-1_i32).unwrap_err();
let dyn_err: Box<dyn std::error::Error + 'static> = Box::new(int_err.clone());
let err = UnsyncRBoxError::from_box(dyn_err);
assert_eq!(err.downcast_ref::<TryFromIntError>().unwrap(), &int_err);
}
// Constructing a `UnsyncRBoxError` from a `Utf8Error`, then downcasting back to it.
{
let utf8_err = std::str::from_utf8(&[255]).unwrap_err();
let err = UnsyncRBoxError::new(utf8_err.clone());
assert_eq!(err.downcast_ref::<Utf8Error>().unwrap(), &utf8_err);
}
// Constructing a `UnsyncRBoxError` from a `Utf8Error`,
// then attempting to downcasting it to a `TryFromIntError`.
{
let utf8_err = std::str::from_utf8(&[255]).unwrap_err();
let err = UnsyncRBoxError::new(utf8_err);
assert!(err.downcast_ref::<TryFromIntError>().is_none());
}
§Downcasting by mutable reference
use std::string::{FromUtf16Error, FromUtf8Error};
use abi_stable::std_types::{RBox, SendRBoxError};
// Constructing a `SendRBoxError` from a `Box<dyn Error>`,
// then downcasting to a `FromUtf8Error`.
{
let str_err = || String::from_utf8(vec![255]).unwrap_err();
let dyn_err: Box<dyn std::error::Error + Send + 'static> = Box::new(str_err());
let mut err = SendRBoxError::from_box(dyn_err);
assert!(err.downcast_ref::<FromUtf8Error>().is_some(), "part A");
}
// Constructing a `SendRBoxError` from a `FromUtf8Error`, then downcasting back to it.
{
let str_err = || String::from_utf8(vec![255]).unwrap_err();
let mut err = SendRBoxError::new(str_err());
assert!(err.downcast_ref::<FromUtf8Error>().is_some(), "part B");
}
// Constructing a `SendRBoxError` from a `FromUtf16Error`,
// then attempting to downcasting it to a `FromUtf8Error`.
{
let str_err = || String::from_utf16(&[0xD834]).unwrap_err();
let mut err = SendRBoxError::new(str_err());
assert!(err.downcast_ref::<FromUtf8Error>().is_none(), "part C");
}
Implementations§
Source§impl RBoxError_<SyncSend>
impl RBoxError_<SyncSend>
Source§impl RBoxError_<UnsyncSend>
impl RBoxError_<UnsyncSend>
Sourcepub fn new<T>(value: T) -> Selfwhere
T: ErrorTrait + Send + 'static,
pub fn new<T>(value: T) -> Selfwhere
T: ErrorTrait + Send + 'static,
Constructs a Send + !Sync RBoxError_ from an error.
§Example
use abi_stable::std_types::SendRBoxError;
let str_err = String::from_utf16(&[0xD834]).unwrap_err() ;
let err = SendRBoxError::new(str_err);Source§impl RBoxError_<UnsyncUnsend>
impl RBoxError_<UnsyncUnsend>
Sourcepub fn new<T>(value: T) -> Selfwhere
T: ErrorTrait + 'static,
pub fn new<T>(value: T) -> Selfwhere
T: ErrorTrait + 'static,
Constructs a !Send + !Sync RBoxError_ from an error.
§Example
use abi_stable::std_types::UnsyncRBoxError;
let str_err = std::str::from_utf8(&[255]).unwrap_err() ;
let err = UnsyncRBoxError::new(str_err);Source§impl<M> RBoxError_<M>
impl<M> RBoxError_<M>
Sourcepub fn from_fmt<T>(value: &T) -> Self
pub fn from_fmt<T>(value: &T) -> Self
Constructs an RBoxError from an error, storing the Debug and Display messages without storing the error value.
§Example
use abi_stable::std_types::RBoxError;
let int_error = "".parse::<u32>().unwrap_err();
let display_fmt = int_error.to_string();
let debug_fmt = format!("{:#?}", int_error);
let err = RBoxError::from_fmt(&int_error);
assert_eq!(display_fmt, err.to_string());
assert_eq!(debug_fmt, format!("{:?}", err));Sourcepub fn from_debug<T>(value: &T) -> Self
pub fn from_debug<T>(value: &T) -> Self
Constructs an RBoxError from a type that only implements Debug, storing the Debug message without storing the error value.
§Example
use abi_stable::std_types::RBoxError;
let int_error = "".parse::<u32>().unwrap_err();
let debug_fmt = format!("{:#?}", int_error);
let err = RBoxError::from_debug(&int_error);
assert_eq!(debug_fmt, format!("{}", err));
assert_eq!(debug_fmt, format!("{:#?}", err));Source§impl<M> RBoxError_<M>
impl<M> RBoxError_<M>
Sourcepub fn to_formatted_error<N>(&self) -> RBoxError_<N>
pub fn to_formatted_error<N>(&self) -> RBoxError_<N>
Converts this error to a formatted error
This is used to decouple an RBoxError from the dynamic library that produced it,
in order to unload the dynamic library.
Source§impl<M> RBoxError_<M>
impl<M> RBoxError_<M>
Sourcepub fn heap_address(&self) -> usize
pub fn heap_address(&self) -> usize
The address of the Box<_> this wraps
Sourcepub fn as_unsync(&self) -> &UnsyncRBoxError
pub fn as_unsync(&self) -> &UnsyncRBoxError
Casts this &RBoxError_<_> to &UnsyncRBoxError.
§Example
use abi_stable::std_types::{RBoxError, UnsyncRBoxError};
use std::convert::TryFrom;
let int_err = u32::try_from(-1_i32).unwrap_err();
let err: RBoxError = RBoxError::new(int_err);
let unsync_err: &UnsyncRBoxError = err.as_unsync();
Sourcepub fn into_unsync(self) -> UnsyncRBoxError
pub fn into_unsync(self) -> UnsyncRBoxError
Converts this RBoxError_<_> to UnsyncRBoxError.
§Example
use abi_stable::std_types::{RBoxError, UnsyncRBoxError};
use std::convert::TryFrom;
let int_err = u64::try_from(-1338_i32).unwrap_err();
let err: RBoxError = RBoxError::new(int_err);
let unsync_err: UnsyncRBoxError = err.into_unsync();
Source§impl RBoxError_<SyncSend>
impl RBoxError_<SyncSend>
Sourcepub fn as_send(&self) -> &SendRBoxError
pub fn as_send(&self) -> &SendRBoxError
Casts this &RBoxError_<_> to &SendRBoxError.
§Example
use abi_stable::std_types::{RBoxError, SendRBoxError};
use std::convert::TryFrom;
let slice: &mut [u32] = &mut [];
let arr_err=<&mut [u32;10]>::try_from(slice).unwrap_err();
let err: RBoxError = RBoxError::new(arr_err);
let unsync_err: &SendRBoxError = err.as_send();
Sourcepub fn into_send(self) -> SendRBoxError
pub fn into_send(self) -> SendRBoxError
Converts this RBoxError_<_> to SendRBoxError.
§Example
use abi_stable::std_types::{RBoxError, SendRBoxError};
use std::convert::TryFrom;
let slice: &[u32] = &[];
let arr_err=<&[u32;10]>::try_from(slice).unwrap_err();
let err: RBoxError = RBoxError::new(arr_err);
let unsync_err: SendRBoxError = err.into_send();
Source§impl RBoxError_<SyncSend>
impl RBoxError_<SyncSend>
Sourcepub fn from_box(this: Box<dyn ErrorTrait + Send + Sync + 'static>) -> Self
pub fn from_box(this: Box<dyn ErrorTrait + Send + Sync + 'static>) -> Self
Converts a Box<dyn Error + Send + Sync> to a Send + Sync RBoxError_.
RBoxError::from_box( RBoxError::into_box( err ) )
is a no-op with respect to the heap address of the RBoxError_<_>.
§Behavior
If the contents of the Box<_> is an erased RBoxError_<_>
it will be returned directly,
otherwise the Box<_> will be converted into an RBoxError_<_>
using RBoxError_::new.
§Example
For an example of converting back and forth to a Box<dyn Error>
here is the example.
Sourcepub fn into_box(self) -> Box<dyn ErrorTrait + Send + Sync + 'static>
pub fn into_box(self) -> Box<dyn ErrorTrait + Send + Sync + 'static>
Converts an RBoxError_<_> to a Box<dyn Error>.
RBoxError::from_box( RBoxError::into_box( err ) )
is a no-op with respect to the heap address of the RBoxError_<_>.
§Behavior
If the contents of the RBoxError_<_> is an erased Box<dyn Error + ... >
it will be returned directly,
otherwise the RBoxError_<_> will be converted into an Box<dyn Error + ... >
using Box::new.
§Example
For an example of converting back and forth to a Box<dyn Error>
here is the example.
Sourcepub fn downcast<T>(self) -> Result<RBox<T>, Self>where
T: ErrorTrait + 'static,
pub fn downcast<T>(self) -> Result<RBox<T>, Self>where
T: ErrorTrait + 'static,
Converts this RBoxError_<_> to an RBox<T>.
If was constructed from a Box<dyn Error + ... >,
and this is being casted to another type,
it’ll first downcast to Box<dyn Error + ... >,
then it’ll downcast the Box<dyn Error + ... > into RBox<T>.
§Errors
This returns Err(self) in any of these cases:
-
The
RBoxError_wasn’t constructed in the current dynamic library. -
The
RBoxError_was constructed with a different type thanT.
§Example
Look at the type level documentation for the example.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: ErrorTrait + 'static,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: ErrorTrait + 'static,
Converts this &RBoxError_<_> to a &T.
If was constructed from a Box<dyn Error + ... >,
and this is being casted to another type,
it’ll first downcast to &dyn Error + ... ,
then it’ll downcast the &dyn Error + ... into &T.
§Errors
This returns None in any of these cases:
-
The
RBoxError_wasn’t constructed in the current dynamic library. -
The
RBoxError_was constructed with a different type thanT.
§Example
Look at the type level documentation for the example. the example.
Sourcepub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: ErrorTrait + 'static,
pub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: ErrorTrait + 'static,
Converts this &mut RBoxError_<_> to a &mut T.
If was constructed from a Box<dyn Error + ... >,
and this is being casted to another type,
it’ll first downcast to &mut dyn Error + ... ,
then it’ll downcast the &mut dyn Error + ... into &mut T.
§Errors
This returns None in any of these cases:
-
The
RBoxError_wasn’t constructed in the current dynamic library. -
The
RBoxError_was constructed with a different type thanT.
§Example
Look at the type level documentation for the example. the example.
Source§impl RBoxError_<UnsyncSend>
impl RBoxError_<UnsyncSend>
Sourcepub fn from_box(this: Box<dyn ErrorTrait + Send + 'static>) -> Self
pub fn from_box(this: Box<dyn ErrorTrait + Send + 'static>) -> Self
Converts a Box<dyn Error + Send> to a Send + !Sync RBoxError_.
RBoxError::from_box( RBoxError::into_box( err ) )
is a no-op with respect to the heap address of the RBoxError_<_>.
§Behavior
If the contents of the Box<_> is an erased RBoxError_<_>
it will be returned directly,
otherwise the Box<_> will be converted into an RBoxError_<_>
using RBoxError_::new.
§Example
For an example of converting back and forth to a Box<dyn Error>
here is the example.
Sourcepub fn into_box(self) -> Box<dyn ErrorTrait + Send + 'static>
pub fn into_box(self) -> Box<dyn ErrorTrait + Send + 'static>
Converts an RBoxError_<_> to a Box<dyn Error>.
RBoxError::from_box( RBoxError::into_box( err ) )
is a no-op with respect to the heap address of the RBoxError_<_>.
§Behavior
If the contents of the RBoxError_<_> is an erased Box<dyn Error + ... >
it will be returned directly,
otherwise the RBoxError_<_> will be converted into an Box<dyn Error + ... >
using Box::new.
§Example
For an example of converting back and forth to a Box<dyn Error>
here is the example.
Sourcepub fn downcast<T>(self) -> Result<RBox<T>, Self>where
T: ErrorTrait + 'static,
pub fn downcast<T>(self) -> Result<RBox<T>, Self>where
T: ErrorTrait + 'static,
Converts this RBoxError_<_> to an RBox<T>.
If was constructed from a Box<dyn Error + ... >,
and this is being casted to another type,
it’ll first downcast to Box<dyn Error + ... >,
then it’ll downcast the Box<dyn Error + ... > into RBox<T>.
§Errors
This returns Err(self) in any of these cases:
-
The
RBoxError_wasn’t constructed in the current dynamic library. -
The
RBoxError_was constructed with a different type thanT.
§Example
Look at the type level documentation for the example.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: ErrorTrait + 'static,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: ErrorTrait + 'static,
Converts this &RBoxError_<_> to a &T.
If was constructed from a Box<dyn Error + ... >,
and this is being casted to another type,
it’ll first downcast to &dyn Error + ... ,
then it’ll downcast the &dyn Error + ... into &T.
§Errors
This returns None in any of these cases:
-
The
RBoxError_wasn’t constructed in the current dynamic library. -
The
RBoxError_was constructed with a different type thanT.
§Example
Look at the type level documentation for the example. the example.
Sourcepub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: ErrorTrait + 'static,
pub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: ErrorTrait + 'static,
Converts this &mut RBoxError_<_> to a &mut T.
If was constructed from a Box<dyn Error + ... >,
and this is being casted to another type,
it’ll first downcast to &mut dyn Error + ... ,
then it’ll downcast the &mut dyn Error + ... into &mut T.
§Errors
This returns None in any of these cases:
-
The
RBoxError_wasn’t constructed in the current dynamic library. -
The
RBoxError_was constructed with a different type thanT.
§Example
Look at the type level documentation for the example. the example.
Source§impl RBoxError_<UnsyncUnsend>
impl RBoxError_<UnsyncUnsend>
Sourcepub fn from_box(this: Box<dyn ErrorTrait + 'static>) -> Self
pub fn from_box(this: Box<dyn ErrorTrait + 'static>) -> Self
Converts a Box<dyn Error> to a !Send + !Sync RBoxError_.
RBoxError::from_box( RBoxError::into_box( err ) )
is a no-op with respect to the heap address of the RBoxError_<_>.
§Behavior
If the contents of the Box<_> is an erased RBoxError_<_>
it will be returned directly,
otherwise the Box<_> will be converted into an RBoxError_<_>
using RBoxError_::new.
§Example
For an example of converting back and forth to a Box<dyn Error>
here is the example.
Sourcepub fn into_box(self) -> Box<dyn ErrorTrait + 'static>
pub fn into_box(self) -> Box<dyn ErrorTrait + 'static>
Converts an RBoxError_<_> to a Box<dyn Error>.
RBoxError::from_box( RBoxError::into_box( err ) )
is a no-op with respect to the heap address of the RBoxError_<_>.
§Behavior
If the contents of the RBoxError_<_> is an erased Box<dyn Error + ... >
it will be returned directly,
otherwise the RBoxError_<_> will be converted into an Box<dyn Error + ... >
using Box::new.
§Example
For an example of converting back and forth to a Box<dyn Error>
here is the example.
Sourcepub fn downcast<T>(self) -> Result<RBox<T>, Self>where
T: ErrorTrait + 'static,
pub fn downcast<T>(self) -> Result<RBox<T>, Self>where
T: ErrorTrait + 'static,
Converts this RBoxError_<_> to an RBox<T>.
If was constructed from a Box<dyn Error + ... >,
and this is being casted to another type,
it’ll first downcast to Box<dyn Error + ... >,
then it’ll downcast the Box<dyn Error + ... > into RBox<T>.
§Errors
This returns Err(self) in any of these cases:
-
The
RBoxError_wasn’t constructed in the current dynamic library. -
The
RBoxError_was constructed with a different type thanT.
§Example
Look at the type level documentation for the example.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: ErrorTrait + 'static,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: ErrorTrait + 'static,
Converts this &RBoxError_<_> to a &T.
If was constructed from a Box<dyn Error + ... >,
and this is being casted to another type,
it’ll first downcast to &dyn Error + ... ,
then it’ll downcast the &dyn Error + ... into &T.
§Errors
This returns None in any of these cases:
-
The
RBoxError_wasn’t constructed in the current dynamic library. -
The
RBoxError_was constructed with a different type thanT.
§Example
Look at the type level documentation for the example. the example.
Sourcepub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: ErrorTrait + 'static,
pub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: ErrorTrait + 'static,
Converts this &mut RBoxError_<_> to a &mut T.
If was constructed from a Box<dyn Error + ... >,
and this is being casted to another type,
it’ll first downcast to &mut dyn Error + ... ,
then it’ll downcast the &mut dyn Error + ... into &mut T.
§Errors
This returns None in any of these cases:
-
The
RBoxError_wasn’t constructed in the current dynamic library. -
The
RBoxError_was constructed with a different type thanT.
§Example
Look at the type level documentation for the example. the example.
Trait Implementations§
Source§impl<M> Debug for RBoxError_<M>
impl<M> Debug for RBoxError_<M>
Source§impl<M> Display for RBoxError_<M>
impl<M> Display for RBoxError_<M>
Source§impl<M> Error for RBoxError_<M>
impl<M> Error for RBoxError_<M>
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl From<Box<dyn Error>> for RBoxError_<UnsyncUnsend>
impl From<Box<dyn Error>> for RBoxError_<UnsyncUnsend>
Source§fn from(this: Box<dyn ErrorTrait + 'static>) -> RBoxError_<UnsyncUnsend>
fn from(this: Box<dyn ErrorTrait + 'static>) -> RBoxError_<UnsyncUnsend>
Converts a Box<dyn Error> to a !Send + !Sync RBoxError_.
§Behavior
If the contents of the Box<_> is an erased RBoxError_<_>
it will be returned directly,
otherwise the Box<_> will be converted into an RBoxError_<_>
using RBoxError_::new.
Source§impl From<Box<dyn Error + Send>> for RBoxError_<UnsyncSend>
impl From<Box<dyn Error + Send>> for RBoxError_<UnsyncSend>
Source§fn from(this: Box<dyn ErrorTrait + Send + 'static>) -> RBoxError_<UnsyncSend>
fn from(this: Box<dyn ErrorTrait + Send + 'static>) -> RBoxError_<UnsyncSend>
Converts a Box<dyn Error + Send> to a Send + !Sync RBoxError_.
§Behavior
If the contents of the Box<_> is an erased RBoxError_<_>
it will be returned directly,
otherwise the Box<_> will be converted into an RBoxError_<_>
using RBoxError_::new.
Source§impl From<Box<dyn Error + Sync + Send>> for RBoxError_<SyncSend>
impl From<Box<dyn Error + Sync + Send>> for RBoxError_<SyncSend>
Source§fn from(
this: Box<dyn ErrorTrait + Send + Sync + 'static>,
) -> RBoxError_<SyncSend>
fn from( this: Box<dyn ErrorTrait + Send + Sync + 'static>, ) -> RBoxError_<SyncSend>
Converts a Box<dyn Error + Send + Sync> to a Send + Sync RBoxError_.
§Behavior
If the contents of the Box<_> is an erased RBoxError_<_>
it will be returned directly,
otherwise the Box<_> will be converted into an RBoxError_<_>
using RBoxError_::new.
Source§impl<M> GetStaticEquivalent_ for RBoxError_<M>where
M: __StableAbi,
impl<M> GetStaticEquivalent_ for RBoxError_<M>where
M: __StableAbi,
Source§type StaticEquivalent = _static_RBoxError_<<M as GetStaticEquivalent_>::StaticEquivalent>
type StaticEquivalent = _static_RBoxError_<<M as GetStaticEquivalent_>::StaticEquivalent>
'static equivalent of SelfSource§impl<M> StableAbi for RBoxError_<M>where
M: __StableAbi,
impl<M> StableAbi for RBoxError_<M>where
M: __StableAbi,
Source§const LAYOUT: &'static TypeLayout
const LAYOUT: &'static TypeLayout
Source§type IsNonZeroType = False
type IsNonZeroType = False
Source§const ABI_CONSTS: AbiConsts = _
const ABI_CONSTS: AbiConsts = _
const-equivalents of the associated types.Auto Trait Implementations§
impl<M> Freeze for RBoxError_<M>
impl<M> RefUnwindSafe for RBoxError_<M>where
M: RefUnwindSafe,
impl<M> Send for RBoxError_<M>where
M: Send,
impl<M> Sync for RBoxError_<M>where
M: Sync,
impl<M> Unpin for RBoxError_<M>where
M: Unpin,
impl<M> UnwindSafe for RBoxError_<M>where
M: UnwindSafe,
Blanket Implementations§
Source§impl<T> AlignerFor<1> for T
impl<T> AlignerFor<1> for T
Source§impl<T> AlignerFor<1024> for T
impl<T> AlignerFor<1024> for T
Source§type Aligner = AlignTo1024<T>
type Aligner = AlignTo1024<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<128> for T
impl<T> AlignerFor<128> for T
Source§type Aligner = AlignTo128<T>
type Aligner = AlignTo128<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<16> for T
impl<T> AlignerFor<16> for T
Source§impl<T> AlignerFor<16384> for T
impl<T> AlignerFor<16384> for T
Source§type Aligner = AlignTo16384<T>
type Aligner = AlignTo16384<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<2> for T
impl<T> AlignerFor<2> for T
Source§impl<T> AlignerFor<2048> for T
impl<T> AlignerFor<2048> for T
Source§type Aligner = AlignTo2048<T>
type Aligner = AlignTo2048<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<256> for T
impl<T> AlignerFor<256> for T
Source§type Aligner = AlignTo256<T>
type Aligner = AlignTo256<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<32> for T
impl<T> AlignerFor<32> for T
Source§impl<T> AlignerFor<32768> for T
impl<T> AlignerFor<32768> for T
Source§type Aligner = AlignTo32768<T>
type Aligner = AlignTo32768<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<4> for T
impl<T> AlignerFor<4> for T
Source§impl<T> AlignerFor<4096> for T
impl<T> AlignerFor<4096> for T
Source§type Aligner = AlignTo4096<T>
type Aligner = AlignTo4096<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<512> for T
impl<T> AlignerFor<512> for T
Source§type Aligner = AlignTo512<T>
type Aligner = AlignTo512<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<64> for T
impl<T> AlignerFor<64> for T
Source§impl<T> AlignerFor<8> for T
impl<T> AlignerFor<8> for T
Source§impl<T> AlignerFor<8192> for T
impl<T> AlignerFor<8192> for T
Source§type Aligner = AlignTo8192<T>
type Aligner = AlignTo8192<T>
AlignTo* type which aligns Self to ALIGNMENT.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, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<S> ROExtAcc for S
impl<S> ROExtAcc for S
Source§fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
offset. Read moreSource§fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
offset. Read moreSource§fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
offset. Read moreSource§fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
offset. Read moreSource§impl<S> ROExtOps<Aligned> for S
impl<S> ROExtOps<Aligned> for S
Source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
offset) with value,
returning the previous value of the field. Read moreSource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
Source§impl<S> ROExtOps<Unaligned> for S
impl<S> ROExtOps<Unaligned> for S
Source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
offset) with value,
returning the previous value of the field. Read moreSource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
Source§impl<T> SelfOps for Twhere
T: ?Sized,
impl<T> SelfOps for Twhere
T: ?Sized,
Source§fn piped<F, U>(self, f: F) -> U
fn piped<F, U>(self, f: F) -> U
Source§fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
piped except that the function takes &Self
Useful for functions that take &Self instead of Self. Read moreSource§fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
piped, except that the function takes &mut Self.
Useful for functions that take &mut Self instead of Self.Source§fn mutated<F>(self, f: F) -> Self
fn mutated<F>(self, f: F) -> Self
Source§fn observe<F>(self, f: F) -> Self
fn observe<F>(self, f: F) -> Self
Source§fn as_ref_<T>(&self) -> &T
fn as_ref_<T>(&self) -> &T
AsRef,
using the turbofish .as_ref_::<_>() syntax. Read more