Skip to main content

TeksiElement

Struct TeksiElement 

Source
pub struct TeksiElement {
    pub type_path: Path,
    pub has_explicit_ctor: bool,
    pub args: Vec<Expr>,
    pub body: Vec<BodyItem>,
    pub head_span: Span,
    pub args_close: Option<Span>,
    pub body_close: Option<Span>,
}
Expand description

An element: Type[::ctor](args...) { body }.

Fields§

§type_path: Path

The full callable path the user wrote. Button("x") stores Button; Button::new(lit!("x")) stores the whole Button::new_literal path. Lowering appends ::new only when has_explicit_ctor is false.

§has_explicit_ctor: bool

True when the user named a constructor explicitly (a lowercase last path segment, per Rust naming convention). Lowering then calls the path as-is without appending ::new.

§args: Vec<Expr>

Positional arguments between the parens after the type path. Empty when the user wrote VStack with no parens (equivalent to VStack()).

§body: Vec<BodyItem>

Body items in source order.

§head_span: Span

Span of the type path’s first segment — used for error reporting on constructor typos.

§args_close: Option<Span>

Span of the closing ) after the args, if the user wrote any args parens (including empty ()). None when no arg parens were written. Consumers (e.g. the formatter) use this to find the exact byte offset just past the args.

§body_close: Option<Span>

Span of the closing } of the body, if the user wrote any body braces (including empty {}). None when no body braces were written. Consumers use this to find the exact end of the body for trivia attribution.

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.