Skip to main content

AstToStr

Trait AstToStr 

Source
pub trait AstToStr {
    // Required method
    fn ast_to_str_impl(&self, s: &dyn Symbols) -> String;

    // Provided method
    fn ast_to_str(&self) -> String { ... }
}
Expand description

A trait for printing ASTs in a pretty manner.

Required Methods§

Source

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

This method should serialize the struct or enum recursively, returning a tree.

Provided Methods§

Source

fn ast_to_str(&self) -> String

This method is auto-implemented to call ast_to_str_impl with DefaultSymbols.

Trait Implementations§

Source§

impl Display for dyn AstToStr

Source§

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

Formats the value using the given formatter. Read more

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a> AstToStr for &'a str

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for Cow<'a, str>

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for bool

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for f32

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for f64

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for i8

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for i16

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for i32

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for i64

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for i128

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for isize

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for str

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for u8

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for u16

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for u32

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for u64

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for u128

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for ()

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for usize

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<'a> AstToStr for String

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<A: AstToStr, B: AstToStr> AstToStr for (A, B)

Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<A: AstToStr, B: AstToStr, C: AstToStr> AstToStr for (A, B, C)

Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<A: AstToStr, B: AstToStr, C: AstToStr, D: AstToStr> AstToStr for (A, B, C, D)

Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<K: AstToStr, S> AstToStr for HashSet<K, S>

Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<K: AstToStr, V: AstToStr, S> AstToStr for HashMap<K, V, S>

Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<T: Debug> AstToStr for Range<T>

Source§

fn ast_to_str_impl(&self, _: &dyn Symbols) -> String

Source§

impl<T: AstToStr> AstToStr for Option<T>

Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<T: AstToStr> AstToStr for Box<T>

Available on non-crate feature allocator_api only.
Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<T: AstToStr> AstToStr for VecDeque<T>

Available on non-crate feature allocator_api only.
Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<T: AstToStr> AstToStr for Rc<T>

Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<T: AstToStr> AstToStr for Arc<T>

Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<T: AstToStr> AstToStr for Vec<T>

Available on non-crate feature allocator_api only.
Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<V: Copy + AstToStr> AstToStr for Cell<V>

Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Source§

impl<V: AstToStr> AstToStr for RefCell<V>

Source§

fn ast_to_str_impl(&self, s: &dyn Symbols) -> String

Implementors§