mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
Merge #6644
6644: Simplify error formatting r=lnicola a=lnicola CC jonas-schievink bors r+ Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
This commit is contained in:
commit
38d595c36f
2 changed files with 5 additions and 8 deletions
|
@ -52,7 +52,7 @@ impl fmt::Display for ExpandError {
|
|||
ExpandError::BindingError(e) => f.write_str(e),
|
||||
ExpandError::ConversionError => f.write_str("could not convert tokens"),
|
||||
ExpandError::InvalidRepeat => f.write_str("invalid repeat expression"),
|
||||
ExpandError::ProcMacroError(e) => write!(f, "{}", e),
|
||||
ExpandError::ProcMacroError(e) => e.fmt(f),
|
||||
ExpandError::Other(e) => f.write_str(e),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
//! `tt` crate defines a `TokenTree` data structure: this is the interface (both
|
||||
//! input and output) of macros. It closely mirrors `proc_macro` crate's
|
||||
//! `TokenTree`.
|
||||
use std::{
|
||||
fmt::{self, Debug},
|
||||
panic::RefUnwindSafe,
|
||||
};
|
||||
use std::{fmt, panic::RefUnwindSafe};
|
||||
|
||||
use stdx::impl_from;
|
||||
|
||||
|
@ -139,7 +136,7 @@ fn print_debug_token(f: &mut fmt::Formatter<'_>, tkn: &TokenTree, level: usize)
|
|||
Ok(())
|
||||
}
|
||||
|
||||
impl Debug for Subtree {
|
||||
impl fmt::Debug for Subtree {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
print_debug_subtree(f, self, 0)
|
||||
}
|
||||
|
@ -245,13 +242,13 @@ impl fmt::Display for ExpansionError {
|
|||
match self {
|
||||
ExpansionError::IOError(e) => write!(f, "I/O error: {}", e),
|
||||
ExpansionError::JsonError(e) => write!(f, "JSON decoding error: {}", e),
|
||||
ExpansionError::Unknown(e) => write!(f, "{}", e),
|
||||
ExpansionError::Unknown(e) => e.fmt(f),
|
||||
ExpansionError::ExpansionError(e) => write!(f, "proc macro returned error: {}", e),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub trait TokenExpander: Debug + Send + Sync + RefUnwindSafe {
|
||||
pub trait TokenExpander: fmt::Debug + Send + Sync + RefUnwindSafe {
|
||||
fn expand(&self, subtree: &Subtree, attrs: Option<&Subtree>)
|
||||
-> Result<Subtree, ExpansionError>;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue