Trait Owned

Source
pub trait Owned: Introspect {
    type Reader<'a>: FromPointerReader<'a> + SetterInput<Self>;
    type Builder<'a>: FromPointerBuilder<'a>;
}
Expand description

A trait to encode relationships between readers and builders.

If Foo is a Cap’n Proto struct and Bar is a Rust-native struct, then foo::Reader<'a> is to foo::Owned as &'a Bar is to Bar, and foo::Builder<'a> is to foo::Owned as &'a mut Bar is to Bar. The relationship is formalized by an impl capnp::traits::Owned for foo::Owned. Because Cap’n Proto struct layout differs from Rust struct layout, a foo::Owned value cannot be used for anything interesting on its own; the foo::Owned type is useful nonetheless as a type parameter, e.g. for a generic container that owns a Cap’n Proto message of type T: capnp::traits::Owned.

Required Associated Types§

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.

Implementors§

Source§

impl Owned for capnp::any_pointer::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::any_pointer_list::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::data::Owned

Source§

type Reader<'a> = &'a [u8]

Source§

type Builder<'a> = &'a mut [u8]

Source§

impl Owned for capnp::data_list::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::annotation::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::brand::binding::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::brand::scope::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::brand::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::capnp_version::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::code_generator_request::requested_file::import::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::code_generator_request::requested_file::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::code_generator_request::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::enumerant::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::field::group::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::field::ordinal::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::field::slot::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::field::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::method::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::node::annotation::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::node::const_::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::node::enum_::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::node::interface::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::node::nested_node::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::node::parameter::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::node::source_info::member::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::node::source_info::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::node::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::node::struct_::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::superclass::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::type_::any_pointer::implicit_method_parameter::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::type_::any_pointer::parameter::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::type_::any_pointer::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::type_::any_pointer::unconstrained::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::type_::enum_::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::type_::interface::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::type_::list::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::type_::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::type_::struct_::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::schema_capnp::value::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::text::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl Owned for capnp::text_list::Owned

Source§

type Reader<'a> = Reader<'a>

Source§

type Builder<'a> = Builder<'a>

Source§

impl<T> Owned for capnp::capability_list::Owned<T>
where T: FromClientHook,

Source§

type Reader<'a> = Reader<'a, T>

Source§

type Builder<'a> = Builder<'a, T>

Source§

impl<T> Owned for capnp::enum_list::Owned<T>
where T: TryFrom<u16, Error = NotInSchema> + Introspect,

Source§

type Reader<'a> = Reader<'a, T>

Source§

type Builder<'a> = Builder<'a, T>

Source§

impl<T> Owned for capnp::list_list::Owned<T>
where T: Owned,

Source§

type Reader<'a> = Reader<'a, T>

Source§

type Builder<'a> = Builder<'a, T>

Source§

impl<T> Owned for capnp::primitive_list::Owned<T>

Source§

type Reader<'a> = Reader<'a, T>

Source§

type Builder<'a> = Builder<'a, T>

Source§

impl<T> Owned for capnp::struct_list::Owned<T>
where T: OwnedStruct,

Source§

type Reader<'a> = Reader<'a, T>

Source§

type Builder<'a> = Builder<'a, T>