[][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

Blanket Implementations

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

impl<T> From for T[src]

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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