[][src]Struct stdweb::Once

pub struct Once<T>(pub T);

A wrapper for passing FnOnce callbacks into the js! macro.

Since it only supports FnOnce callbacks there is no need to drop() them manually on the JavaScript side provided they were actually called.

You still need to drop() any callbacks which were not called.

Examples

let callback = || { println!( "Hello world!" ); };
js! {
    var cb = @{Once(callback)};
    cb();
    // There is no need to drop it; since the function
    // is only callable once it automatically drops
    // itself after being called.
}

Trait Implementations

impl<T> Debug for Once<T>[src]

Auto Trait Implementations

impl<T> Send for Once<T> where
    T: Send

impl<T> Sync for Once<T> where
    T: Sync

impl<T> Unpin for Once<T> where
    T: Unpin

impl<T> UnwindSafe for Once<T> where
    T: UnwindSafe

impl<T> RefUnwindSafe for Once<T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]