NonNull<T>
T
parameter &T
parameter &mut T
parameter T
return value Option<T>
parameter Option<T>
return value JavaScript representation Yes No No Yes Yes Yes A JavaScript number value Example Rust Usage
Example JavaScript Usage# #![allow(unused_variables)] #fn main() { use std::ptr; use std::ptr::NonNull; use wasm_bindgen::prelude::*; #[wasm_bindgen] pub unsafe fn take_pointer_by_value(x: Option<NonNull<u8>>) { Box::from_raw(x.unwrap().as_ptr()); } #[wasm_bindgen] pub fn return_pointer() -> Option<NonNull<u8>> { Some(NonNull::from(Box::leak(Box::new(42)))) } #}
import {
take_pointer_by_value,
return_pointer,
} from './guide_supported_types_examples';
import { memory } from './guide_supported_types_examples_bg';
let ptr = return_pointer();
let buf = new Uint8Array(memory.buffer);
let value = buf[ptr];
console.log(`The byte at the ${ptr} address is ${value}`);
take_pointer_by_value(ptr);
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4