pub struct UnsafeTypedArray<'a, T: 'a>(/* private fields */);
Expand description
A wrapper type for exposing raw Rust slices as TypedArray
s
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 );
);
Implementations§
Trait Implementations§
Source§impl<'a, T> Debug for UnsafeTypedArray<'a, T>
impl<'a, T> Debug for UnsafeTypedArray<'a, T>
impl<'r> JsSerialize for UnsafeTypedArray<'r, f32>
impl<'r> JsSerialize for UnsafeTypedArray<'r, f64>
impl<'r> JsSerialize for UnsafeTypedArray<'r, i16>
impl<'r> JsSerialize for UnsafeTypedArray<'r, i32>
impl<'r> JsSerialize for UnsafeTypedArray<'r, i8>
impl<'r> JsSerialize for UnsafeTypedArray<'r, u16>
impl<'r> JsSerialize for UnsafeTypedArray<'r, u32>
impl<'r> JsSerialize for UnsafeTypedArray<'r, u8>
Auto Trait Implementations§
impl<'a, T> Freeze for UnsafeTypedArray<'a, T>
impl<'a, T> RefUnwindSafe for UnsafeTypedArray<'a, T>where
T: RefUnwindSafe,
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,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more