Skip to main content

OptionalCompatible

Trait OptionalCompatible 

Source
pub unsafe trait OptionalCompatible: AnyCompatible { }
Expand description

Marker for values whose C++ ffi::Optional<T> uses the 16-byte TVMFFIAny representation.

Object classes deliberately do not implement this trait. Use Option<X> for those values; it is the pointer-sized mirror of C++’s nullable ObjectPtr-backed optional.

use tvm_ffi::{Array, Optional};
let _ = Optional::<Array<i64>>::none();

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl OptionalCompatible for *mut c_void

Source§

impl OptionalCompatible for bool

Source§

impl OptionalCompatible for f32

Source§

impl OptionalCompatible for f64

Source§

impl OptionalCompatible for i8

Source§

impl OptionalCompatible for i16

Source§

impl OptionalCompatible for i32

Source§

impl OptionalCompatible for i64

Source§

impl OptionalCompatible for isize

Source§

impl OptionalCompatible for u8

Source§

impl OptionalCompatible for u16

Source§

impl OptionalCompatible for u32

Source§

impl OptionalCompatible for u64

Source§

impl OptionalCompatible for usize

Source§

impl<T: OptionalCompatible> OptionalCompatible for Option<T>

Implementors§