compose-idents 0.3.0

A Rust macro for generating new identifiers (names of variables, functions, traits, etc) by concatenating one or more arbitrary parts and applying other manipulations.
Documentation
1
2
3
4
5
6
7
8
9
10
11
use crate::ast::Ast;
use crate::error::Error;

/// A syntactic structure that can be expanded (desugared) into a more primitive form.
///
/// Serves as a backbone for the expand-phase.
pub trait Expand: Ast {
    type Expanded: Ast;

    fn expand(&self) -> Result<Self::Expanded, Error>;
}