diff --git a/CHANGELOG.md b/CHANGELOG.md index 4094197a859..be9404e05f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ ## Unreleased +### Added + +* Implement `From>` for `JsValue`. + [#3877](https://github.com/rustwasm/wasm-bindgen/pull/3877) + ### Fixed * Copy port from headless test server when using `WASM_BINDGEN_TEST_ADDRESS`. diff --git a/src/lib.rs b/src/lib.rs index f38d6a3e2c4..2f9e48e6d77 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,6 +16,7 @@ use core::mem; use core::ops::{ Add, BitAnd, BitOr, BitXor, Deref, DerefMut, Div, Mul, Neg, Not, Rem, Shl, Shr, Sub, }; +use core::ptr::NonNull; use core::u32; use crate::convert::{FromWasmAbi, TryFromJsValue, WasmRet, WasmSlice}; @@ -790,6 +791,13 @@ impl From<*const T> for JsValue { } } +impl From> for JsValue { + #[inline] + fn from(s: NonNull) -> JsValue { + JsValue::from(s.as_ptr() as usize) + } +} + if_std! { impl<'a> From<&'a String> for JsValue { #[inline]