pub trait RuntimeBinder: Send + Copy + 'static {
    type Target<'call>;

    // Required method
    unsafe fn materialize<'call>(self) -> Self::Target<'call>;
}
Expand description

Unstable. The runtime representation of Binder.

This trait signifies the following properties regarding an implementing type:

  • self can be “materialized” as Self::Target<'call> at runtime.

  • 'call represets the duration during which Self::Target is used. If Self::Target<'call> is a reference, its lifetime parameter may be bound to 'call. Some binder types don’t require this.

Stability

This trait is unstable.

Required Associated Types§

source

type Target<'call>

The materialized form.

Required Methods§

source

unsafe fn materialize<'call>(self) -> Self::Target<'call>

Construct a target object at runtime, using the intermediate product constructed by Binder::into_runtime_binder.

Safety

intermediate must have been constructed by <Self as Binder>::into_runtime_binder.

The caller must uphold that Self::Target is safe to exist. (The configuration system is reponsible for enforcing this property.)

Implementations on Foreign Types§

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9, RuntimeBinder10, RuntimeBinder11, RuntimeBinder12, RuntimeBinder13> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9, RuntimeBinder10, RuntimeBinder11, RuntimeBinder12, RuntimeBinder13)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder, RuntimeBinder5: RuntimeBinder, RuntimeBinder6: RuntimeBinder, RuntimeBinder7: RuntimeBinder, RuntimeBinder8: RuntimeBinder, RuntimeBinder9: RuntimeBinder, RuntimeBinder10: RuntimeBinder, RuntimeBinder11: RuntimeBinder, RuntimeBinder12: RuntimeBinder, RuntimeBinder13: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>, <RuntimeBinder5 as RuntimeBinder>::Target<'call>, <RuntimeBinder6 as RuntimeBinder>::Target<'call>, <RuntimeBinder7 as RuntimeBinder>::Target<'call>, <RuntimeBinder8 as RuntimeBinder>::Target<'call>, <RuntimeBinder9 as RuntimeBinder>::Target<'call>, <RuntimeBinder10 as RuntimeBinder>::Target<'call>, <RuntimeBinder11 as RuntimeBinder>::Target<'call>, <RuntimeBinder12 as RuntimeBinder>::Target<'call>, <RuntimeBinder13 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder, RuntimeBinder5: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>, <RuntimeBinder5 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder, RuntimeBinder5: RuntimeBinder, RuntimeBinder6: RuntimeBinder, RuntimeBinder7: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>, <RuntimeBinder5 as RuntimeBinder>::Target<'call>, <RuntimeBinder6 as RuntimeBinder>::Target<'call>, <RuntimeBinder7 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0> RuntimeBinder for (RuntimeBinder0,)where RuntimeBinder0: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>,)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9, RuntimeBinder10, RuntimeBinder11, RuntimeBinder12, RuntimeBinder13, RuntimeBinder14> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9, RuntimeBinder10, RuntimeBinder11, RuntimeBinder12, RuntimeBinder13, RuntimeBinder14)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder, RuntimeBinder5: RuntimeBinder, RuntimeBinder6: RuntimeBinder, RuntimeBinder7: RuntimeBinder, RuntimeBinder8: RuntimeBinder, RuntimeBinder9: RuntimeBinder, RuntimeBinder10: RuntimeBinder, RuntimeBinder11: RuntimeBinder, RuntimeBinder12: RuntimeBinder, RuntimeBinder13: RuntimeBinder, RuntimeBinder14: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>, <RuntimeBinder5 as RuntimeBinder>::Target<'call>, <RuntimeBinder6 as RuntimeBinder>::Target<'call>, <RuntimeBinder7 as RuntimeBinder>::Target<'call>, <RuntimeBinder8 as RuntimeBinder>::Target<'call>, <RuntimeBinder9 as RuntimeBinder>::Target<'call>, <RuntimeBinder10 as RuntimeBinder>::Target<'call>, <RuntimeBinder11 as RuntimeBinder>::Target<'call>, <RuntimeBinder12 as RuntimeBinder>::Target<'call>, <RuntimeBinder13 as RuntimeBinder>::Target<'call>, <RuntimeBinder14 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder, RuntimeBinder5: RuntimeBinder, RuntimeBinder6: RuntimeBinder, RuntimeBinder7: RuntimeBinder, RuntimeBinder8: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>, <RuntimeBinder5 as RuntimeBinder>::Target<'call>, <RuntimeBinder6 as RuntimeBinder>::Target<'call>, <RuntimeBinder7 as RuntimeBinder>::Target<'call>, <RuntimeBinder8 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder, RuntimeBinder5: RuntimeBinder, RuntimeBinder6: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>, <RuntimeBinder5 as RuntimeBinder>::Target<'call>, <RuntimeBinder6 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<const LEN: usize, RuntimeBinder> RuntimeBinder for [RuntimeBinder; LEN]where RuntimeBinder: RuntimeBinder,

§

type Target<'call> = [<RuntimeBinder as RuntimeBinder>::Target<'call>; LEN]

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9, RuntimeBinder10, RuntimeBinder11, RuntimeBinder12> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9, RuntimeBinder10, RuntimeBinder11, RuntimeBinder12)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder, RuntimeBinder5: RuntimeBinder, RuntimeBinder6: RuntimeBinder, RuntimeBinder7: RuntimeBinder, RuntimeBinder8: RuntimeBinder, RuntimeBinder9: RuntimeBinder, RuntimeBinder10: RuntimeBinder, RuntimeBinder11: RuntimeBinder, RuntimeBinder12: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>, <RuntimeBinder5 as RuntimeBinder>::Target<'call>, <RuntimeBinder6 as RuntimeBinder>::Target<'call>, <RuntimeBinder7 as RuntimeBinder>::Target<'call>, <RuntimeBinder8 as RuntimeBinder>::Target<'call>, <RuntimeBinder9 as RuntimeBinder>::Target<'call>, <RuntimeBinder10 as RuntimeBinder>::Target<'call>, <RuntimeBinder11 as RuntimeBinder>::Target<'call>, <RuntimeBinder12 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder, RuntimeBinder5: RuntimeBinder, RuntimeBinder6: RuntimeBinder, RuntimeBinder7: RuntimeBinder, RuntimeBinder8: RuntimeBinder, RuntimeBinder9: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>, <RuntimeBinder5 as RuntimeBinder>::Target<'call>, <RuntimeBinder6 as RuntimeBinder>::Target<'call>, <RuntimeBinder7 as RuntimeBinder>::Target<'call>, <RuntimeBinder8 as RuntimeBinder>::Target<'call>, <RuntimeBinder9 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9, RuntimeBinder10> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9, RuntimeBinder10)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder, RuntimeBinder5: RuntimeBinder, RuntimeBinder6: RuntimeBinder, RuntimeBinder7: RuntimeBinder, RuntimeBinder8: RuntimeBinder, RuntimeBinder9: RuntimeBinder, RuntimeBinder10: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>, <RuntimeBinder5 as RuntimeBinder>::Target<'call>, <RuntimeBinder6 as RuntimeBinder>::Target<'call>, <RuntimeBinder7 as RuntimeBinder>::Target<'call>, <RuntimeBinder8 as RuntimeBinder>::Target<'call>, <RuntimeBinder9 as RuntimeBinder>::Target<'call>, <RuntimeBinder10 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9, RuntimeBinder10, RuntimeBinder11> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4, RuntimeBinder5, RuntimeBinder6, RuntimeBinder7, RuntimeBinder8, RuntimeBinder9, RuntimeBinder10, RuntimeBinder11)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder, RuntimeBinder5: RuntimeBinder, RuntimeBinder6: RuntimeBinder, RuntimeBinder7: RuntimeBinder, RuntimeBinder8: RuntimeBinder, RuntimeBinder9: RuntimeBinder, RuntimeBinder10: RuntimeBinder, RuntimeBinder11: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>, <RuntimeBinder5 as RuntimeBinder>::Target<'call>, <RuntimeBinder6 as RuntimeBinder>::Target<'call>, <RuntimeBinder7 as RuntimeBinder>::Target<'call>, <RuntimeBinder8 as RuntimeBinder>::Target<'call>, <RuntimeBinder9 as RuntimeBinder>::Target<'call>, <RuntimeBinder10 as RuntimeBinder>::Target<'call>, <RuntimeBinder11 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3, RuntimeBinder4)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder, RuntimeBinder4: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>, <RuntimeBinder4 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl RuntimeBinder for ()

§

type Target<'call> = ()

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

source§

impl<RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3> RuntimeBinder for (RuntimeBinder0, RuntimeBinder1, RuntimeBinder2, RuntimeBinder3)where RuntimeBinder0: RuntimeBinder, RuntimeBinder1: RuntimeBinder, RuntimeBinder2: RuntimeBinder, RuntimeBinder3: RuntimeBinder,

§

type Target<'call> = (<RuntimeBinder0 as RuntimeBinder>::Target<'call>, <RuntimeBinder1 as RuntimeBinder>::Target<'call>, <RuntimeBinder2 as RuntimeBinder>::Target<'call>, <RuntimeBinder3 as RuntimeBinder>::Target<'call>)

source§

unsafe fn materialize<'call>(self) -> Self::Target<'call>

Implementors§

source§

impl<T, System> RuntimeBinder for BindRef<System, T>where T: 'static, System: KernelBase + KernelStatic,

§

type Target<'call> = &'static T

source§

impl<T, System> RuntimeBinder for RuntimeBindBorrow<System, T>where T: 'static, System: KernelBase + KernelStatic,

§

type Target<'call> = &'call T

source§

impl<T, System> RuntimeBinder for RuntimeBindBorrowMut<System, T>where T: 'static, System: KernelBase + KernelStatic,

§

type Target<'call> = &'call mut T

source§

impl<T, System> RuntimeBinder for RuntimeBindTake<System, T>where T: 'static, System: KernelBase + KernelStatic,

§

type Target<'call> = T

source§

impl<T, System> RuntimeBinder for RuntimeBindTakeMut<System, T>where T: 'static, System: KernelBase + KernelStatic,

§

type Target<'call> = &'static mut T

source§

impl<T, System> RuntimeBinder for RuntimeBindTakeRef<System, T>where T: 'static, System: KernelBase + KernelStatic,

§

type Target<'call> = &'static T