mirror of
https://github.com/denoland/rusty_v8.git
synced 2025-01-12 00:54:15 -05:00
new_backing_store_from_boxed_slice doesn't need to be unsafe (#247)
This commit is contained in:
parent
7e27c88708
commit
aca89c2055
2 changed files with 10 additions and 9 deletions
|
@ -267,11 +267,12 @@ impl ArrayBuffer {
|
||||||
///
|
///
|
||||||
/// The result can be later passed to ArrayBuffer::New. The raw pointer
|
/// The result can be later passed to ArrayBuffer::New. The raw pointer
|
||||||
/// to the buffer must not be passed again to any V8 API function.
|
/// to the buffer must not be passed again to any V8 API function.
|
||||||
pub unsafe fn new_backing_store_from_boxed_slice(
|
pub fn new_backing_store_from_boxed_slice(
|
||||||
data: Box<[u8]>,
|
data: Box<[u8]>,
|
||||||
) -> UniqueRef<BackingStore> {
|
) -> UniqueRef<BackingStore> {
|
||||||
let byte_length = data.len();
|
let byte_length = data.len();
|
||||||
let data_ptr = Box::into_raw(data) as *mut c_void;
|
let data_ptr = Box::into_raw(data) as *mut c_void;
|
||||||
|
unsafe {
|
||||||
UniqueRef::from_raw(v8__ArrayBuffer__NewBackingStore__with_data(
|
UniqueRef::from_raw(v8__ArrayBuffer__NewBackingStore__with_data(
|
||||||
data_ptr,
|
data_ptr,
|
||||||
byte_length,
|
byte_length,
|
||||||
|
@ -280,3 +281,4 @@ impl ArrayBuffer {
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -274,8 +274,7 @@ fn array_buffer() {
|
||||||
assert_eq!(false, bs.is_shared());
|
assert_eq!(false, bs.is_shared());
|
||||||
|
|
||||||
let data: Box<[u8]> = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9].into_boxed_slice();
|
let data: Box<[u8]> = vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9].into_boxed_slice();
|
||||||
let unique_bs =
|
let unique_bs = v8::ArrayBuffer::new_backing_store_from_boxed_slice(data);
|
||||||
unsafe { v8::ArrayBuffer::new_backing_store_from_boxed_slice(data) };
|
|
||||||
assert_eq!(10, unique_bs.byte_length());
|
assert_eq!(10, unique_bs.byte_length());
|
||||||
assert_eq!(false, unique_bs.is_shared());
|
assert_eq!(false, unique_bs.is_shared());
|
||||||
assert_eq!(unique_bs[0], 0);
|
assert_eq!(unique_bs[0], 0);
|
||||||
|
|
Loading…
Reference in a new issue