}
fn print_debug_subtree(f: &mut fmt::Formatter<'_>, subtree: &Subtree, level: usize) -> fmt::Result {
- let align = std::iter::repeat(" ").take(level).collect::<String>();
+ let align = " ".repeat(level);
let aux = match subtree.delimiter.map(|it| (it.kind, it.id.0)) {
None => "$".to_string(),
}
fn print_debug_token(f: &mut fmt::Formatter<'_>, tkn: &TokenTree, level: usize) -> fmt::Result {
- let align = std::iter::repeat(" ").take(level).collect::<String>();
+ let align = " ".repeat(level);
match tkn {
TokenTree::Leaf(leaf) => match leaf {
let mut res = String::new();
res.push_str(delim.0);
- let mut iter = self.token_trees.iter();
let mut last = None;
- while let Some(child) = iter.next() {
+ for child in &self.token_trees {
let s = match child {
TokenTree::Leaf(it) => {
let s = match it {
#[derive(Debug, PartialEq, Eq, Clone)]
pub enum ExpansionError {
- IOError(String),
- JsonError(String),
Unknown(String),
ExpansionError(String),
}
impl fmt::Display for ExpansionError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
- ExpansionError::IOError(e) => write!(f, "I/O error: {}", e),
- ExpansionError::JsonError(e) => write!(f, "JSON decoding error: {}", e),
ExpansionError::Unknown(e) => e.fmt(f),
ExpansionError::ExpansionError(e) => write!(f, "proc macro returned error: {}", e),
}