[][src]Struct stdweb::UnsafeTypedArray

pub struct UnsafeTypedArray<'a, T: 'a>(_);

A wrapper type for exposing raw Rust slices as TypedArrays at zero cost without copying.

The only thing you can do with this is to pass it to the js! macro.

Using this is highly unsafe! After you pass it to the js! macro you must use it before triggering any Rust code whatsoever, either directly or indirectly. Breaking this rule will result in undefined behavior!

Examples

let slice: &[u8] = &[1, 2, 3];
let slice = unsafe { UnsafeTypedArray::new( slice ) };
js!(
    var slice = @{slice};
    // `slice` is an Uint8Array
    var sum = slice[0] + slice[1] + slice[2];
    console.log( "Sum of array elements: ", sum );
);

Methods

impl<'a, T> UnsafeTypedArray<'a, T>[src]

pub unsafe fn new(slice: &'a [T]) -> Self[src]

Creates a new UnsafeTypedArray.

Even though this function is marked as unsafe the unsafely only comes into play after you pass it to the js! macro.

Trait Implementations

impl<'r> JsSerialize for UnsafeTypedArray<'r, u8>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, i8>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, u16>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, i16>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, u32>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, i32>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, f32>[src]

impl<'r> JsSerialize for UnsafeTypedArray<'r, f64>[src]

impl<'a, T> Debug for UnsafeTypedArray<'a, T>[src]

Auto Trait Implementations

impl<'a, T> Send for UnsafeTypedArray<'a, T> where
    T: Sync

impl<'a, T> Sync for UnsafeTypedArray<'a, T> where
    T: Sync

impl<'a, T> Unpin for UnsafeTypedArray<'a, T>

impl<'a, T> UnwindSafe for UnsafeTypedArray<'a, T> where
    T: RefUnwindSafe

impl<'a, T> RefUnwindSafe for UnsafeTypedArray<'a, 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]