Struct stdweb::DiscardOnDrop [−][src]
#[must_use = "\n\n The DiscardOnDrop is unused, which causes it to be immediately discarded.\n You probably don\'t want that to happen.\n\n How to fix this:\n\n * Store the DiscardOnDrop in a variable or data structure.\n\n * Or use the leak() method which will cause it to not be\n discarded (this will usually leak memory!)\n\n See the documentation for more details.\n"]pub struct DiscardOnDrop<A: Discard>(_);
If you have a value which implements Discard
, you can use
DiscardOnDrop::new(value)
which will wrap the value.
When the wrapper is dropped it will automatically call value.discard()
.
You can use the leak
method to unwrap it (which returns value
). This causes
it to no longer call discard
when it is dropped, which
means it will usually leak memory unless you manually call discard
.
Methods
impl<A: Discard> DiscardOnDrop<A>
[src]
impl<A: Discard> DiscardOnDrop<A>
pub fn new(discarder: A) -> Self
[src]
pub fn new(discarder: A) -> Self
Creates a new DiscardOnDrop
.
When the DiscardOnDrop
is dropped it will automatically call discarder.discard()
.
pub fn leak(self) -> A
[src]
pub fn leak(self) -> A
Returns the wrapped discarder
.
It will no longer automatically call discarder.discard()
, so this will usually leak
memory unless you manually call discarder.discard()
.
Trait Implementations
impl<A: Debug + Discard> Debug for DiscardOnDrop<A>
[src]
impl<A: Debug + Discard> Debug for DiscardOnDrop<A>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<A: Discard> Deref for DiscardOnDrop<A>
[src]
impl<A: Discard> Deref for DiscardOnDrop<A>
type Target = A
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
fn deref(&self) -> &Self::Target
Dereferences the value.
impl<A: Discard> DerefMut for DiscardOnDrop<A>
[src]
impl<A: Discard> DerefMut for DiscardOnDrop<A>
Auto Trait Implementations
impl<A> Send for DiscardOnDrop<A> where
A: Send,
impl<A> Send for DiscardOnDrop<A> where
A: Send,
impl<A> Sync for DiscardOnDrop<A> where
A: Sync,
impl<A> Sync for DiscardOnDrop<A> where
A: Sync,