pub trait NodeBuilder: Sized {
type Result;
Show 33 methods
// Required methods
fn parent_builder(&mut self) -> &mut WitValueBuilder;
fn u8(self, value: u8) -> Self::Result;
fn u16(self, value: u16) -> Self::Result;
fn u32(self, value: u32) -> Self::Result;
fn u64(self, value: u64) -> Self::Result;
fn s8(self, value: i8) -> Self::Result;
fn s16(self, value: i16) -> Self::Result;
fn s32(self, value: i32) -> Self::Result;
fn s64(self, value: i64) -> Self::Result;
fn f32(self, value: f32) -> Self::Result;
fn f64(self, value: f64) -> Self::Result;
fn char(self, value: char) -> Self::Result;
fn bool(self, value: bool) -> Self::Result;
fn string(self, value: &str) -> Self::Result;
fn enum_value(self, value: u32) -> Self::Result;
fn flags(self, values: Vec<bool>) -> Self::Result;
fn record(self) -> WitValueChildItemsBuilder<Self>;
fn variant(self, case_idx: u32) -> WitValueChildBuilder<Self>;
fn variant_unit(self, case_idx: u32) -> Self::Result;
fn tuple(self) -> WitValueChildItemsBuilder<Self>;
fn list(self) -> WitValueChildItemsBuilder<Self>;
fn option_some(self) -> WitValueChildBuilder<Self>;
fn option_none(self) -> Self::Result;
fn result_ok(self) -> WitValueChildBuilder<Self>;
fn result_ok_unit(self) -> Self::Result;
fn result_err(self) -> WitValueChildBuilder<Self>;
fn result_err_unit(self) -> Self::Result;
fn handle(self, uri: Uri, handle_value: u64) -> Self::Result;
fn finish(self) -> Self::Result;
// Provided methods
fn variant_fn(
self,
case_idx: u32,
is_unit: bool,
f: impl FnOnce(WitValueChildBuilder<Self>) -> Self,
) -> Self::Result { ... }
fn list_fn<T>(
self,
items: &[T],
f: impl Fn(&T, WitValueItemBuilder<Self>) -> WitValueChildItemsBuilder<Self>,
) -> Self::Result { ... }
fn option_fn(
self,
is_some: bool,
f: impl FnOnce(WitValueChildBuilder<Self>) -> Self,
) -> Self::Result { ... }
fn result_fn(
self,
is_ok: bool,
has_ok: bool,
has_err: bool,
f: impl FnOnce(WitValueChildBuilder<Self>) -> Self,
) -> Self::Result { ... }
}
Required Associated Types§
Required Methods§
fn parent_builder(&mut self) -> &mut WitValueBuilder
fn u8(self, value: u8) -> Self::Result
fn u16(self, value: u16) -> Self::Result
fn u32(self, value: u32) -> Self::Result
fn u64(self, value: u64) -> Self::Result
fn s8(self, value: i8) -> Self::Result
fn s16(self, value: i16) -> Self::Result
fn s32(self, value: i32) -> Self::Result
fn s64(self, value: i64) -> Self::Result
fn f32(self, value: f32) -> Self::Result
fn f64(self, value: f64) -> Self::Result
fn char(self, value: char) -> Self::Result
fn bool(self, value: bool) -> Self::Result
fn string(self, value: &str) -> Self::Result
fn enum_value(self, value: u32) -> Self::Result
fn flags(self, values: Vec<bool>) -> Self::Result
fn record(self) -> WitValueChildItemsBuilder<Self>
fn variant(self, case_idx: u32) -> WitValueChildBuilder<Self>
fn variant_unit(self, case_idx: u32) -> Self::Result
fn tuple(self) -> WitValueChildItemsBuilder<Self>
fn list(self) -> WitValueChildItemsBuilder<Self>
fn option_some(self) -> WitValueChildBuilder<Self>
fn option_none(self) -> Self::Result
fn result_ok(self) -> WitValueChildBuilder<Self>
fn result_ok_unit(self) -> Self::Result
fn result_err(self) -> WitValueChildBuilder<Self>
fn result_err_unit(self) -> Self::Result
fn handle(self, uri: Uri, handle_value: u64) -> Self::Result
fn finish(self) -> Self::Result
Provided Methods§
Sourcefn variant_fn(
self,
case_idx: u32,
is_unit: bool,
f: impl FnOnce(WitValueChildBuilder<Self>) -> Self,
) -> Self::Result
fn variant_fn( self, case_idx: u32, is_unit: bool, f: impl FnOnce(WitValueChildBuilder<Self>) -> Self, ) -> Self::Result
An alternative to variant
and variant_unit
, easier to use in generated code
fn list_fn<T>( self, items: &[T], f: impl Fn(&T, WitValueItemBuilder<Self>) -> WitValueChildItemsBuilder<Self>, ) -> Self::Result
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.