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§
Sourcefn ast_to_str_impl(&self, s: &dyn Symbols) -> String
fn ast_to_str_impl(&self, s: &dyn Symbols) -> String
This method should serialize the struct or enum recursively, returning a tree.
Provided Methods§
Sourcefn ast_to_str(&self) -> String
fn ast_to_str(&self) -> String
This method is auto-implemented to call ast_to_str_impl with DefaultSymbols.
Trait Implementations§
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 Cow<'a, str>
impl<'a> AstToStr for Cow<'a, str>
fn ast_to_str_impl(&self, _: &dyn Symbols) -> String
Source§impl<A: AstToStr, B: AstToStr> AstToStr for (A, B)
impl<A: AstToStr, B: AstToStr> AstToStr for (A, B)
fn ast_to_str_impl(&self, s: &dyn Symbols) -> String
Source§impl<A: AstToStr, B: AstToStr, C: AstToStr> AstToStr for (A, B, C)
impl<A: AstToStr, B: AstToStr, C: AstToStr> AstToStr for (A, B, C)
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)
impl<A: AstToStr, B: AstToStr, C: AstToStr, D: AstToStr> AstToStr for (A, B, C, D)
fn ast_to_str_impl(&self, s: &dyn Symbols) -> String
Source§impl<K: AstToStr, S> AstToStr for HashSet<K, S>
impl<K: AstToStr, S> AstToStr for HashSet<K, S>
fn ast_to_str_impl(&self, s: &dyn Symbols) -> String
Source§impl<K: AstToStr, V: AstToStr, S> AstToStr for HashMap<K, V, S>
impl<K: AstToStr, V: AstToStr, S> AstToStr for HashMap<K, V, S>
fn ast_to_str_impl(&self, s: &dyn Symbols) -> String
Source§impl<T: Debug> AstToStr for Range<T>
impl<T: Debug> AstToStr for Range<T>
fn ast_to_str_impl(&self, _: &dyn Symbols) -> String
Source§impl<T: AstToStr> AstToStr for Option<T>
impl<T: AstToStr> AstToStr for Option<T>
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.
impl<T: AstToStr> AstToStr for Box<T>
Available on non-crate feature
allocator_api only.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.
impl<T: AstToStr> AstToStr for VecDeque<T>
Available on non-crate feature
allocator_api only.fn ast_to_str_impl(&self, s: &dyn Symbols) -> String
Source§impl<T: AstToStr> AstToStr for Rc<T>
impl<T: AstToStr> AstToStr for Rc<T>
fn ast_to_str_impl(&self, s: &dyn Symbols) -> String
Source§impl<T: AstToStr> AstToStr for Arc<T>
impl<T: AstToStr> AstToStr for Arc<T>
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.
impl<T: AstToStr> AstToStr for Vec<T>
Available on non-crate feature
allocator_api only.