dioxus_rsx

Struct CallBody

Source
pub struct CallBody {
    pub body: TemplateBody,
    pub template_idx: Cell<usize>,
}
Expand description

The Callbody is the contents of the rsx! macro

It is a list of BodyNodes, which are the different parts of the template. The Callbody contains no information about how the template will be rendered, only information about the parsed tokens.

Every callbody should be valid, so you can use it to build a template. To generate the code used to render the template, use the ToTokens impl on the Callbody, or with the render_with_location method.

Ideally we don’t need the metadata here and can bake the idx-es into the templates themselves but I haven’t figured out how to do that yet.

Fields§

§body: TemplateBody§template_idx: Cell<usize>

Implementations§

Source§

impl CallBody

Source

pub fn new(body: TemplateBody) -> Self

Create a new CallBody from a TemplateBody

This will overwrite all internal metadata regarding hotreloading.

Source

pub fn parse_strict(input: ParseStream<'_>) -> Result<Self>

Parse a stream into a CallBody. Return all error immediately instead of trying to partially expand the macro

This should be preferred over parse if you are outside of a macro

Trait Implementations§

Source§

impl Clone for CallBody

Source§

fn clone(&self) -> CallBody

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CallBody

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Parse for CallBody

Source§

fn parse(input: ParseStream<'_>) -> Result<Self>

Source§

impl ToTokens for CallBody

Source§

fn to_tokens(&self, out: &mut TokenStream2)

Write self to the given TokenStream. Read more
Source§

fn to_token_stream(&self) -> TokenStream

Convert self directly into a TokenStream object. Read more
Source§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Spanned for T
where T: Spanned + ?Sized,

Source§

fn span(&self) -> Span

Returns a Span covering the complete contents of this syntax tree node, or Span::call_site() if this node is empty.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.