EncodeTypeDef

Trait EncodeTypeDef 

Source
pub trait EncodeTypeDef {
    // Required method
    fn encode_type_def(buf: &mut Vec<u8>);
}
Expand description

Trait for types that can encode their type definition into the binary protocol. This is used to send type information to JavaScript for callback arguments.

Required Methods§

Source

fn encode_type_def(buf: &mut Vec<u8>)

Encode this type’s definition into the buffer. For primitives, this is just the TypeTag byte. For callbacks, this includes param count, param types, and return type.

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.

Implementations on Foreign Types§

Source§

impl EncodeTypeDef for &str

Source§

impl EncodeTypeDef for bool

Source§

impl EncodeTypeDef for f32

Source§

impl EncodeTypeDef for f64

Source§

impl EncodeTypeDef for i8

Source§

impl EncodeTypeDef for i16

Source§

impl EncodeTypeDef for i32

Source§

impl EncodeTypeDef for i64

Source§

impl EncodeTypeDef for i128

Source§

impl EncodeTypeDef for isize

Source§

impl EncodeTypeDef for str

Source§

impl EncodeTypeDef for u8

Source§

impl EncodeTypeDef for u16

Source§

impl EncodeTypeDef for u32

Source§

impl EncodeTypeDef for u64

Source§

impl EncodeTypeDef for u128

Source§

impl EncodeTypeDef for ()

Source§

impl EncodeTypeDef for usize

Source§

impl<T> EncodeTypeDef for &[T]
where T: EncodeTypeDef,

Source§

impl<T> EncodeTypeDef for &mut [T]
where T: EncodeTypeDef,

Source§

impl<T> EncodeTypeDef for &T
where T: EncodeTypeDef,

Implementors§

Source§

impl EncodeTypeDef for String

Source§

impl EncodeTypeDef for Clamped<&[u8]>

Source§

impl EncodeTypeDef for Clamped<&mut [u8]>

Source§

impl EncodeTypeDef for Clamped<Vec<u8>>

Source§

impl EncodeTypeDef for JsValue

Source§

impl<R> EncodeTypeDef for &dyn Fn() -> R
where R: EncodeTypeDef + 'static,

Source§

impl<R> EncodeTypeDef for &mut dyn Fn() -> R
where R: EncodeTypeDef + 'static,

Source§

impl<R> EncodeTypeDef for &mut dyn FnMut() -> R
where R: EncodeTypeDef + 'static,

Source§

impl<R> EncodeTypeDef for CallbackKey<fn() -> R>
where R: EncodeTypeDef + 'static,

Source§

impl<R, A1> EncodeTypeDef for &dyn Fn(A1) -> R
where A1: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1> EncodeTypeDef for &mut dyn Fn(A1) -> R
where A1: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1> EncodeTypeDef for &mut dyn FnMut(A1) -> R
where A1: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1> EncodeTypeDef for CallbackKey<fn(&A1) -> R>
where A1: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1> EncodeTypeDef for CallbackKey<fn(A1) -> R>
where A1: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2> EncodeTypeDef for &dyn Fn(A1, A2) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2> EncodeTypeDef for &mut dyn Fn(A1, A2) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2> EncodeTypeDef for &mut dyn FnMut(A1, A2) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2> EncodeTypeDef for CallbackKey<fn(&A1, A2) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2> EncodeTypeDef for CallbackKey<fn(A1, A2) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3> EncodeTypeDef for &dyn Fn(A1, A2, A3) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3> EncodeTypeDef for &mut dyn Fn(A1, A2, A3) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3> EncodeTypeDef for &mut dyn FnMut(A1, A2, A3) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3> EncodeTypeDef for CallbackKey<fn(&A1, A2, A3) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3> EncodeTypeDef for CallbackKey<fn(A1, A2, A3) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4> EncodeTypeDef for &dyn Fn(A1, A2, A3, A4) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4> EncodeTypeDef for &mut dyn Fn(A1, A2, A3, A4) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4> EncodeTypeDef for &mut dyn FnMut(A1, A2, A3, A4) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4> EncodeTypeDef for CallbackKey<fn(&A1, A2, A3, A4) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4> EncodeTypeDef for CallbackKey<fn(A1, A2, A3, A4) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5> EncodeTypeDef for &dyn Fn(A1, A2, A3, A4, A5) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5> EncodeTypeDef for &mut dyn Fn(A1, A2, A3, A4, A5) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5> EncodeTypeDef for &mut dyn FnMut(A1, A2, A3, A4, A5) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5> EncodeTypeDef for CallbackKey<fn(&A1, A2, A3, A4, A5) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5> EncodeTypeDef for CallbackKey<fn(A1, A2, A3, A4, A5) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5, A6> EncodeTypeDef for &dyn Fn(A1, A2, A3, A4, A5, A6) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, A6: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5, A6> EncodeTypeDef for &mut dyn Fn(A1, A2, A3, A4, A5, A6) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, A6: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5, A6> EncodeTypeDef for &mut dyn FnMut(A1, A2, A3, A4, A5, A6) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, A6: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5, A6> EncodeTypeDef for CallbackKey<fn(&A1, A2, A3, A4, A5, A6) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, A6: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5, A6> EncodeTypeDef for CallbackKey<fn(A1, A2, A3, A4, A5, A6) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, A6: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5, A6, A7> EncodeTypeDef for &dyn Fn(A1, A2, A3, A4, A5, A6, A7) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, A6: EncodeTypeDef + 'static, A7: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5, A6, A7> EncodeTypeDef for &mut dyn Fn(A1, A2, A3, A4, A5, A6, A7) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, A6: EncodeTypeDef + 'static, A7: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5, A6, A7> EncodeTypeDef for &mut dyn FnMut(A1, A2, A3, A4, A5, A6, A7) -> R
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, A6: EncodeTypeDef + 'static, A7: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5, A6, A7> EncodeTypeDef for CallbackKey<fn(&A1, A2, A3, A4, A5, A6, A7) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, A6: EncodeTypeDef + 'static, A7: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<R, A1, A2, A3, A4, A5, A6, A7> EncodeTypeDef for CallbackKey<fn(A1, A2, A3, A4, A5, A6, A7) -> R>
where A1: EncodeTypeDef + 'static, A2: EncodeTypeDef + 'static, A3: EncodeTypeDef + 'static, A4: EncodeTypeDef + 'static, A5: EncodeTypeDef + 'static, A6: EncodeTypeDef + 'static, A7: EncodeTypeDef + 'static, R: EncodeTypeDef + 'static,

Source§

impl<T> EncodeTypeDef for Option<T>
where T: EncodeTypeDef,

Source§

impl<T> EncodeTypeDef for Box<[T]>
where T: EncodeTypeDef,

Source§

impl<T> EncodeTypeDef for Vec<T>
where T: EncodeTypeDef,

Source§

impl<T> EncodeTypeDef for Closure<T>
where T: ?Sized,

Source§

impl<T, E> EncodeTypeDef for Result<T, E>