[−][src]Struct git_features::interrupt::ResetOnDrop
pub struct ResetOnDrop { /* fields omitted */ }
Useful if some parts of the program set the interrupt programmatically to cause others to stop, while assuring the interrupt state is reset at the end of the function to avoid other side-effects.
Note that this is inherently racy and that this will only work deterministically if there is only one top-level function running in a process.
Trait Implementations
impl Default for ResetOnDrop
[src][+]
pub fn default() -> Self
[src][−]
Returns the "default value" for a type. Read more
impl Drop for ResetOnDrop
[src][+]
pub fn drop(&mut self)
[src][−]
Executes the destructor for this type. Read more
Auto Trait Implementations
impl RefUnwindSafe for ResetOnDrop
[src]
impl Send for ResetOnDrop
[src]
impl Sync for ResetOnDrop
[src]
impl Unpin for ResetOnDrop
[src]
impl UnwindSafe for ResetOnDrop
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
pub fn type_id(&self) -> TypeId
[src][−]
Gets the TypeId
of self
. Read more
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
pub fn borrow(&self) -> &T
[src][−]
Immutably borrows from an owned value. Read more
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src][−]
Mutably borrows from an owned value. Read more
impl<T> Conv for T
[+]
pub fn conv<T>(self) -> T where
Self: Into<T>,
[−]
Self: Into<T>,
Converts self
into T
using Into<T>
. Read more
impl<T> Conv for T
[+]
pub fn conv<T>(self) -> T where
Self: Into<T>,
[−]
Self: Into<T>,
Converts self
into a target type. Read more
impl<T> FmtForward for T
[+]
pub fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
[−]
Self: Binary,
Causes self
to use its Binary
implementation when Debug
-formatted.
pub fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
[−]
Self: Display,
Causes self
to use its Display
implementation when
Debug
-formatted. Read more
pub fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
[−]
Self: LowerExp,
Causes self
to use its LowerExp
implementation when
Debug
-formatted. Read more
pub fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
[−]
Self: LowerHex,
Causes self
to use its LowerHex
implementation when
Debug
-formatted. Read more
pub fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
[−]
Self: Octal,
Causes self
to use its Octal
implementation when Debug
-formatted.
pub fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
[−]
Self: Pointer,
Causes self
to use its Pointer
implementation when
Debug
-formatted. Read more
pub fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
[−]
Self: UpperExp,
Causes self
to use its UpperExp
implementation when
Debug
-formatted. Read more
pub fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
[−]
Self: UpperHex,
Causes self
to use its UpperHex
implementation when
Debug
-formatted. Read more
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,
[+]
T: ?Sized,
pub fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
[−]
Pipes by value. This is generally the method you want to use. Read more
pub fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
[−]
R: 'a,
Borrows self
and passes that borrow into the pipe function. Read more
pub fn pipe_ref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
[−]
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
Mutably borrows self
and passes that borrow into the pipe function. Read more
pub fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
B: 'a + ?Sized,
R: 'a,
Self: Borrow<B>,
[−]
B: 'a + ?Sized,
R: 'a,
Self: Borrow<B>,
Borrows self
, then passes self.borrow()
into the pipe function. Read more
pub fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
B: 'a + ?Sized,
R: 'a,
Self: BorrowMut<B>,
[−]
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
B: 'a + ?Sized,
R: 'a,
Self: BorrowMut<B>,
Mutably borrows self
, then passes self.borrow_mut()
into the pipe
function. Read more
pub fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
R: 'a,
Self: AsRef<U>,
U: 'a + ?Sized,
[−]
R: 'a,
Self: AsRef<U>,
U: 'a + ?Sized,
Borrows self
, then passes self.as_ref()
into the pipe function.
pub fn pipe_as_mut<'a, U, R>(
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
R: 'a,
Self: AsMut<U>,
U: 'a + ?Sized,
[−]
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
R: 'a,
Self: AsMut<U>,
U: 'a + ?Sized,
Mutably borrows self
, then passes self.as_mut()
into the pipe
function. Read more
pub fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
R: 'a,
Self: Deref<Target = T>,
T: 'a + ?Sized,
[−]
R: 'a,
Self: Deref<Target = T>,
T: 'a + ?Sized,
Borrows self
, then passes self.deref()
into the pipe function.
pub fn pipe_deref_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
R: 'a,
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
[−]
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
R: 'a,
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
Mutably borrows self
, then passes self.deref_mut()
into the pipe
function. Read more
impl<T> Pipe for T
[+]
pub fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
[−]
Pipes a value into a function that cannot ordinarily be called in suffix position. Read more
impl<T> PipeAsRef for T
[+]
pub fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
R: 'a,
Self: AsRef<T>,
T: 'a,
[−]
R: 'a,
Self: AsRef<T>,
T: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
pub fn pipe_as_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
R: 'a,
Self: AsMut<T>,
T: 'a,
[−]
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
R: 'a,
Self: AsMut<T>,
T: 'a,
Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more
impl<T> PipeBorrow for T
[+]
pub fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
R: 'a,
Self: Borrow<T>,
T: 'a,
[−]
R: 'a,
Self: Borrow<T>,
T: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
pub fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
R: 'a,
Self: BorrowMut<T>,
T: 'a,
[−]
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
R: 'a,
Self: BorrowMut<T>,
T: 'a,
Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more
impl<T> PipeDeref for T
[+]
pub fn pipe_deref<'a, R>(
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
R: 'a,
Self: Deref,
[−]
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
R: 'a,
Self: Deref,
Pipes a dereference into a function that cannot normally be called in suffix position. Read more
pub fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
R: 'a,
Self: DerefMut,
[−]
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
R: 'a,
Self: DerefMut,
Pipes a mutable dereference into a function that cannot normally be called in suffix position. Read more
impl<T> PipeRef for T
[+]
pub fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
[−]
R: 'a,
Pipes a reference into a function that cannot ordinarily be called in suffix position. Read more
pub fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
[−]
R: 'a,
Pipes a mutable reference into a function that cannot ordinarily be called in suffix position. Read more
impl<T> Pointable for T
[+]
pub const ALIGN: usize
[−][−]
The alignment of pointer.
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[−]
Initializes a with the given initializer. Read more
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[−]
Dereferences the given pointer. Read more
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[−]
Mutably dereferences the given pointer. Read more
pub unsafe fn drop(ptr: usize)
[−]
Drops the object pointed to by the given pointer. Read more
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Tap for T
[+]
pub fn tap(self, func: impl FnOnce(&Self)) -> Self
[−]
Immutable access to a value. Read more
pub fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self
[−]
Mutable access to a value. Read more
pub fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
B: ?Sized,
Self: Borrow<B>,
[−]
B: ?Sized,
Self: Borrow<B>,
Immutable access to the Borrow<B>
of a value. Read more
pub fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
B: ?Sized,
Self: BorrowMut<B>,
[−]
B: ?Sized,
Self: BorrowMut<B>,
Mutable access to the BorrowMut<B>
of a value. Read more
pub fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
R: ?Sized,
Self: AsRef<R>,
[−]
R: ?Sized,
Self: AsRef<R>,
Immutable access to the AsRef<R>
view of a value. Read more
pub fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
R: ?Sized,
Self: AsMut<R>,
[−]
R: ?Sized,
Self: AsMut<R>,
Mutable access to the AsMut<R>
view of a value. Read more
pub fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
[−]
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the Deref::Target
of a value. Read more
pub fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
[−]
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the Deref::Target
of a value. Read more
pub fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
[−]
Calls .tap()
only in debug builds, and is erased in release builds.
pub fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
[−]
Calls .tap_mut()
only in debug builds, and is erased in release
builds. Read more
pub fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
B: ?Sized,
Self: Borrow<B>,
[−]
B: ?Sized,
Self: Borrow<B>,
Calls .tap_borrow()
only in debug builds, and is erased in release
builds. Read more
pub fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
B: ?Sized,
Self: BorrowMut<B>,
[−]
B: ?Sized,
Self: BorrowMut<B>,
Calls .tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read more
pub fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
R: ?Sized,
Self: AsRef<R>,
[−]
R: ?Sized,
Self: AsRef<R>,
Calls .tap_ref()
only in debug builds, and is erased in release
builds. Read more
pub fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
R: ?Sized,
Self: AsMut<R>,
[−]
R: ?Sized,
Self: AsMut<R>,
Calls .tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more
pub fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
[−]
Self: Deref<Target = T>,
T: ?Sized,
Calls .tap_deref()
only in debug builds, and is erased in release
builds. Read more
pub fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
[−]
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Calls .tap_deref_mut()
only in debug builds, and is erased in release
builds. Read more
impl<T> Tap for T
[+]
pub fn tap<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
[−]
F: FnOnce(&Self) -> R,
Provides immutable access for inspection. Read more
pub fn tap_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
[−]
F: FnOnce(&Self) -> R,
Calls tap
in debug builds, and does nothing in release builds.
pub fn tap_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
[−]
F: FnOnce(&mut Self) -> R,
Provides mutable access for modification. Read more
pub fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
[−]
F: FnOnce(&mut Self) -> R,
Calls tap_mut
in debug builds, and does nothing in release builds.
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
[+]
U: ?Sized,
pub fn tap_ref<F, R>(self, func: F) -> Self where
F: FnOnce(&T) -> R,
Self: AsRef<T>,
[−]
F: FnOnce(&T) -> R,
Self: AsRef<T>,
Provides immutable access to the reference for inspection.
pub fn tap_ref_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&T) -> R,
Self: AsRef<T>,
[−]
F: FnOnce(&T) -> R,
Self: AsRef<T>,
Calls tap_ref
in debug builds, and does nothing in release builds.
pub fn tap_ref_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
[−]
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
Provides mutable access to the reference for modification.
pub fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
[−]
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
Calls tap_ref_mut
in debug builds, and does nothing in release builds.
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
[+]
U: ?Sized,
pub fn tap_borrow<F, R>(self, func: F) -> Self where
F: FnOnce(&T) -> R,
Self: Borrow<T>,
[−]
F: FnOnce(&T) -> R,
Self: Borrow<T>,
Provides immutable access to the borrow for inspection. Read more
pub fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&T) -> R,
Self: Borrow<T>,
[−]
F: FnOnce(&T) -> R,
Self: Borrow<T>,
Calls tap_borrow
in debug builds, and does nothing in release builds.
pub fn tap_borrow_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
[−]
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
Provides mutable access to the borrow for modification.
pub fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
[−]
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
Calls tap_borrow_mut
in debug builds, and does nothing in release
builds. Read more
impl<T> TapDeref for T
[+]
pub fn tap_deref<F, R>(self, func: F) -> Self where
F: FnOnce(&Self::Target) -> R,
Self: Deref,
[−]
F: FnOnce(&Self::Target) -> R,
Self: Deref,
Immutably dereferences self
for inspection.
pub fn tap_deref_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&Self::Target) -> R,
Self: Deref,
[−]
F: FnOnce(&Self::Target) -> R,
Self: Deref,
Calls tap_deref
in debug builds, and does nothing in release builds.
pub fn tap_deref_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
[−]
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
Mutably dereferences self
for modification.
pub fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
[−]
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
Calls tap_deref_mut
in debug builds, and does nothing in release
builds. Read more
impl<T> TryConv for T
[+]
pub fn try_conv<T>(self) -> Result<T, Self::Error> where
Self: TryInto<T>,
[−]
Self: TryInto<T>,
Attempts to convert self
into T
using TryInto<T>
. Read more
impl<T> TryConv for T
[+]
pub fn try_conv<T>(self) -> Result<T, Self::Error> where
Self: TryInto<T>,
[−]
Self: TryInto<T>,
Attempts to convert self
into a target type. Read more
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][−]
Performs the conversion.
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,