pub trait ContextExt {
// Required methods
unsafe fn set_platform_data(&mut self, data: *mut c_void);
unsafe fn get_platform_data(&self) -> *mut c_void;
unsafe fn set_user_data(&mut self, data: u64);
unsafe fn get_user_data(&self) -> u64;
// Provided methods
unsafe fn get_platform_data_as<T>(&self) -> *mut T { ... }
unsafe fn set_platform_data_box<T>(&mut self, data: Box<T>) { ... }
unsafe fn take_platform_data_box<T>(&mut self) -> Option<Box<T>> { ... }
unsafe fn set_user_term(&mut self, term: Term) { ... }
unsafe fn get_user_term(&self) -> Term { ... }
fn has_platform_data(&self) -> bool { ... }
fn has_user_data(&self) -> bool { ... }
}Expand description
Context extension trait for safe platform data management
Required Methods§
Sourceunsafe fn set_platform_data(&mut self, data: *mut c_void)
unsafe fn set_platform_data(&mut self, data: *mut c_void)
Set platform-specific data in the context
Sourceunsafe fn get_platform_data(&self) -> *mut c_void
unsafe fn get_platform_data(&self) -> *mut c_void
Get platform-specific data from the context
Sourceunsafe fn set_user_data(&mut self, data: u64)
unsafe fn set_user_data(&mut self, data: u64)
Set user data (for storing Erlang terms as raw u64)
Sourceunsafe fn get_user_data(&self) -> u64
unsafe fn get_user_data(&self) -> u64
Get user data
Provided Methods§
Sourceunsafe fn get_platform_data_as<T>(&self) -> *mut T
unsafe fn get_platform_data_as<T>(&self) -> *mut T
Safely cast platform data to a specific type
Sourceunsafe fn set_platform_data_box<T>(&mut self, data: Box<T>)
unsafe fn set_platform_data_box<T>(&mut self, data: Box<T>)
Safely set platform data from a boxed value
Sourceunsafe fn take_platform_data_box<T>(&mut self) -> Option<Box<T>>
unsafe fn take_platform_data_box<T>(&mut self) -> Option<Box<T>>
Safely take ownership of platform data back as a box
Sourceunsafe fn set_user_term(&mut self, term: Term)
unsafe fn set_user_term(&mut self, term: Term)
Set user data from a Term
Sourceunsafe fn get_user_term(&self) -> Term
unsafe fn get_user_term(&self) -> Term
Get user data as a Term
Sourcefn has_platform_data(&self) -> bool
fn has_platform_data(&self) -> bool
Check if platform data is set
Sourcefn has_user_data(&self) -> bool
fn has_user_data(&self) -> bool
Check if user data is set
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.