mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
rustdoc: Add some basic Safety sections to unsafe functions (#31639)
This commit is contained in:
parent
0860deba05
commit
38db1a5ce9
3 changed files with 22 additions and 0 deletions
|
@ -16,6 +16,10 @@ mod platform {
|
|||
pub use jemallocator::Jemalloc as Allocator;
|
||||
|
||||
/// Get the size of a heap block.
|
||||
///
|
||||
/// # Safety
|
||||
///
|
||||
/// Passing a non-heap allocated pointer to this function results in undefined behavior.
|
||||
pub unsafe extern "C" fn usable_size(ptr: *const c_void) -> usize {
|
||||
jemallocator::usable_size(ptr)
|
||||
}
|
||||
|
@ -35,6 +39,10 @@ mod platform {
|
|||
use std::os::raw::c_void;
|
||||
|
||||
/// Get the size of a heap block.
|
||||
///
|
||||
/// # Safety
|
||||
///
|
||||
/// Passing a non-heap allocated pointer to this function results in undefined behavior.
|
||||
pub unsafe extern "C" fn usable_size(ptr: *const c_void) -> usize {
|
||||
#[cfg(target_vendor = "apple")]
|
||||
return libc::malloc_size(ptr);
|
||||
|
@ -56,6 +64,10 @@ mod platform {
|
|||
use winapi::um::heapapi::{GetProcessHeap, HeapSize, HeapValidate};
|
||||
|
||||
/// Get the size of a heap block.
|
||||
///
|
||||
/// # Safety
|
||||
///
|
||||
/// Passing a non-heap allocated pointer to this function results in undefined behavior.
|
||||
pub unsafe extern "C" fn usable_size(mut ptr: *const c_void) -> usize {
|
||||
let heap = GetProcessHeap();
|
||||
|
||||
|
|
|
@ -47,6 +47,11 @@ pub struct ShapedGlyphEntry {
|
|||
}
|
||||
|
||||
impl ShapedGlyphData {
|
||||
/// Create a new [`SharedGlyphData`] from the given HarfBuzz buffer.
|
||||
///
|
||||
/// # Safety
|
||||
///
|
||||
/// Passing an invalid buffer pointer to this function results in undefined behavior.
|
||||
pub unsafe fn new(buffer: *mut hb_buffer_t) -> ShapedGlyphData {
|
||||
let mut glyph_count = 0;
|
||||
let glyph_infos = hb_buffer_get_glyph_infos(buffer, &mut glyph_count);
|
||||
|
|
|
@ -546,6 +546,11 @@ macro_rules! define_resource_id {
|
|||
impl $name {
|
||||
#[allow(unsafe_code)]
|
||||
#[inline]
|
||||
/// Create a new $name.
|
||||
///
|
||||
/// # Safety
|
||||
///
|
||||
/// Using an invalid OpenGL id may result in undefined behavior.
|
||||
pub unsafe fn new(id: $type) -> Self {
|
||||
$name(<nonzero_type!($type)>::new_unchecked(id))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue