Struct bitvec::prelude::BitRef [−][src]
A proxy reference, equivalent to C++ std::bitset<N>::reference
.
This type wraps a BitPtr
and caches a bool
in a padding byte. It is then
able to freely produce references to the cached bool, and commits the cache back
to the referent bit location on drop
.
Lifetimes
'a
: The lifetime of the source&'a mut BitSlice
that created theBitRef
.
Type Parameters
M
: The write permission of the reference. When this isConst
, theDerefMut
implementation is removed, forbidding the proxy from writing back to memory.O
: The ordering used to address a bit in memory.T
: The storage type containing the referent bit.
Quirks
Because this type has both a lifetime and a destructor, it can introduce an
uncommon error condition in Rust. When an expression that produces this type is
in the final expression of a block, including if that expression is used as a
condition in a match
, if let
, or if
, then the compiler will attempt to
extend the drop scope of this type to the outside of the block. This causes a
lifetime mismatch error if the source region from which this proxy is produced
goes out of scope at the end of the block.
If you get a compiler error that this type causes something to be dropped while borrowed, you can end the borrow by putting any expression-ending syntax element after the offending expression that produces this type, including a semicolon or an item definition.
Examples
use bitvec::prelude::*; let bits = bits![mut 0; 2]; let (left, right) = bits.split_at_mut(1); let mut first = left.get_mut(0).unwrap(); let second = right.get_mut(0).unwrap(); // Referential behavior *first = true; // Direct write second.set(true); drop(first); // it’s not a reference! assert_eq!(bits, bits![1; 2]);
Implementations
impl<M, O, T> BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
pub unsafe fn from_bitptr(bitptr: BitPtr<M, O, T>) -> Self
[src]
Converts a bit-pointer into a proxy bit-reference.
The conversion reads from the pointer, then stores the bool
in a
padding byte.
Parameters
bitptr
: A bit-pointer to turn into a bit-reference.
Returns
A bit-reference pointing at bitptr
.
Safety
The bitptr
must address a location that is valid for reads and, if M
is Mut
, writes.
pub fn into_bitptr(self) -> BitPtr<M, O, T>
[src]
Decays the bit-reference to an ordinary bit-pointer.
Parameters
self
Returns
The interior bit-pointer, without the associated cache. If this was a write-capable pointer, then the cached bit is committed to memory before this method returns.
impl<O, T> BitRef<'_, Mut, O, T> where
O: BitOrder,
T: BitStore,
[src]
O: BitOrder,
T: BitStore,
pub fn replace(&mut self, src: bool) -> bool
[src]
pub fn swap<O2, T2>(&mut self, other: &mut BitRef<'_, Mut, O2, T2>) where
O2: BitOrder,
T2: BitStore,
[src]
O2: BitOrder,
T2: BitStore,
pub fn set(self, value: bool)
[src]
Writes a bit into the proxied location without an intermediate copy.
This function writes value
directly into the proxied location, and
does not store value
in the proxy’s internal cache. This should be
equivalent to the behavior seen when using ordinary DerefMut
proxying, but the latter depends on compiler optimization.
Parameters
self
: This destroys the proxy, as it becomes invalid when writing directly to the location without updating the cache.value
: The new bit to write into the proxied slot.
Trait Implementations
impl<O, T> Clone for BitRef<'_, Const, O, T> where
O: BitOrder,
T: BitStore,
[src]
O: BitOrder,
T: BitStore,
fn clone(&self) -> Self
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<M, O, T> Debug for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
impl<M, O, T> Deref for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
impl<O, T> DerefMut for BitRef<'_, Mut, O, T> where
O: BitOrder,
T: BitStore,
[src]
O: BitOrder,
T: BitStore,
impl<M, O, T> Display for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
impl<M, O, T> Drop for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
impl<M, O, T> Eq for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
Implement equality by comparing the proxied bool
values.
impl<'a, M, O1, O2, T1, T2> Extend<BitRef<'a, M, O2, T2>> for BitVec<O1, T1> where
M: Mutability,
O1: BitOrder,
O2: BitOrder,
T1: BitStore,
T2: BitStore,
[src]
M: Mutability,
O1: BitOrder,
O2: BitOrder,
T1: BitStore,
T2: BitStore,
fn extend<I>(&mut self, iter: I) where
I: IntoIterator<Item = BitRef<'a, M, O2, T2>>,
[src]
I: IntoIterator<Item = BitRef<'a, M, O2, T2>>,
pub fn extend_one(&mut self, item: A)
[src]
pub fn extend_reserve(&mut self, additional: usize)
[src]
impl<'a, M, O1, O2, T1, T2> FromIterator<BitRef<'a, M, O2, T2>> for BitVec<O1, T1> where
M: Mutability,
O1: BitOrder,
O2: BitOrder,
T1: BitStore,
T2: BitStore,
[src]
M: Mutability,
O1: BitOrder,
O2: BitOrder,
T1: BitStore,
T2: BitStore,
fn from_iter<I>(iter: I) -> Self where
I: IntoIterator<Item = BitRef<'a, M, O2, T2>>,
[src]
I: IntoIterator<Item = BitRef<'a, M, O2, T2>>,
impl<M, O, T> Hash for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
fn hash<H>(&self, state: &mut H) where
H: Hasher,
[src]
H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<M, O, T> Not for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
type Output = bool
The resulting type after applying the !
operator.
fn not(self) -> Self::Output
[src]
impl<M, O, T> Ord for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
Implement ordering by comparing the proxied bool
values.
fn cmp(&self, other: &Self) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl<M, O, T> PartialEq<&'_ bool> for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
impl<M1, M2, O1, O2, T1, T2> PartialEq<BitRef<'_, M2, O2, T2>> for BitRef<'_, M1, O1, T1> where
M1: Mutability,
M2: Mutability,
O1: BitOrder,
O2: BitOrder,
T1: BitStore,
T2: BitStore,
[src]
M1: Mutability,
M2: Mutability,
O1: BitOrder,
O2: BitOrder,
T1: BitStore,
T2: BitStore,
Test equality of proxy references by the value of their proxied bit.
To test equality by address, decay to a BitPtr
with into_bitptr
.
fn eq(&self, other: &BitRef<'_, M2, O2, T2>) -> bool
[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<M, O, T> PartialEq<bool> for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
impl<M, O, T> PartialOrd<&'_ bool> for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
fn partial_cmp(&self, other: &&bool) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<M1, M2, O1, O2, T1, T2> PartialOrd<BitRef<'_, M2, O2, T2>> for BitRef<'_, M1, O1, T1> where
M1: Mutability,
M2: Mutability,
O1: BitOrder,
O2: BitOrder,
T1: BitStore,
T2: BitStore,
[src]
M1: Mutability,
M2: Mutability,
O1: BitOrder,
O2: BitOrder,
T1: BitStore,
T2: BitStore,
Order proxy references by the value of their proxied bit.
To order by address, decay to a BitPtr
with into_bitptr
.
fn partial_cmp(&self, other: &BitRef<'_, M2, O2, T2>) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<M, O, T> PartialOrd<bool> for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
fn partial_cmp(&self, other: &bool) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<M, O, T> Pointer for BitRef<'_, M, O, T> where
M: Mutability,
O: BitOrder,
T: BitStore,
[src]
M: Mutability,
O: BitOrder,
T: BitStore,
Auto Trait Implementations
impl<'a, M, O = Lsb0, T = usize> !RefUnwindSafe for BitRef<'a, M, O, T>
impl<'a, M, O = Lsb0, T = usize> !Send for BitRef<'a, M, O, T>
impl<'a, M, O = Lsb0, T = usize> !Sync for BitRef<'a, M, O, T>
impl<'a, M, O, T> Unpin for BitRef<'a, M, O, T> where
M: Unpin,
O: Unpin,
M: Unpin,
O: Unpin,
impl<'a, M, O = Lsb0, T = usize> !UnwindSafe for BitRef<'a, M, O, T>
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> Conv for T
[src]
impl<T> Conv for T
[src]
impl<T> FmtForward for T
[src]
pub fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
[src]
Self: Binary,
pub fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
[src]
Self: Display,
pub fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
[src]
Self: LowerExp,
pub fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
[src]
Self: LowerHex,
pub fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
[src]
Self: Octal,
pub fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
[src]
Self: Pointer,
pub fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
[src]
Self: UpperExp,
pub fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
[src]
Self: UpperHex,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pipe for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
[src]
pub fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
[src]
R: 'a,
pub fn pipe_ref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
[src]
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
pub fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
R: 'a,
B: 'a + ?Sized,
[src]
Self: Borrow<B>,
R: 'a,
B: 'a + ?Sized,
pub fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
R: 'a,
B: 'a + ?Sized,
[src]
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
R: 'a,
B: 'a + ?Sized,
pub fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
R: 'a,
U: 'a + ?Sized,
[src]
Self: AsRef<U>,
R: 'a,
U: 'a + ?Sized,
pub fn pipe_as_mut<'a, U, R>(
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
Self: AsMut<U>,
R: 'a,
U: 'a + ?Sized,
[src]
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
Self: AsMut<U>,
R: 'a,
U: 'a + ?Sized,
pub fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
[src]
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
pub fn pipe_deref_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
[src]
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
impl<T> Pipe for T
[src]
impl<T> PipeAsRef for T
[src]
pub fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
[src]
Self: AsRef<T>,
T: 'a,
R: 'a,
pub fn pipe_as_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
[src]
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
impl<T> PipeBorrow for T
[src]
pub fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
[src]
Self: Borrow<T>,
T: 'a,
R: 'a,
pub fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
[src]
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
impl<T> PipeDeref for T
[src]
pub fn pipe_deref<'a, R>(
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
[src]
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
pub fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
[src]
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
impl<T> PipeRef for T
[src]
pub fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
[src]
R: 'a,
pub fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
[src]
R: 'a,
impl<T> Tap for T
[src]
pub fn tap(self, func: impl FnOnce(&Self)) -> Self
[src]
pub fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self
[src]
pub fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
[src]
Self: Borrow<B>,
B: ?Sized,
pub fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
[src]
Self: BorrowMut<B>,
B: ?Sized,
pub fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
[src]
Self: AsRef<R>,
R: ?Sized,
pub fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
[src]
Self: AsMut<R>,
R: ?Sized,
pub fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
[src]
Self: Deref<Target = T>,
T: ?Sized,
pub fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
[src]
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
pub fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
[src]
pub fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
[src]
pub fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
[src]
Self: Borrow<B>,
B: ?Sized,
pub fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
[src]
Self: BorrowMut<B>,
B: ?Sized,
pub fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
[src]
Self: AsRef<R>,
R: ?Sized,
pub fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
[src]
Self: AsMut<R>,
R: ?Sized,
pub fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
[src]
Self: Deref<Target = T>,
T: ?Sized,
pub fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
[src]
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
impl<T> Tap for T
[src]
pub fn tap<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
[src]
F: FnOnce(&Self) -> R,
pub fn tap_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
[src]
F: FnOnce(&Self) -> R,
pub fn tap_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
[src]
F: FnOnce(&mut Self) -> R,
pub fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
[src]
F: FnOnce(&mut Self) -> R,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
[src]
U: ?Sized,
pub fn tap_ref<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
[src]
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
[src]
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
[src]
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
[src]
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
[src]
U: ?Sized,
pub fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
[src]
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
[src]
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
[src]
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
[src]
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
impl<T> TapDeref for T
[src]
pub fn tap_deref<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
[src]
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
[src]
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
[src]
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
pub fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
[src]
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
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> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T> TryConv for T
[src]
impl<T> TryConv for 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>,