diff --git a/src/libproc_macro/lib.rs b/src/libproc_macro/lib.rs index c51db695a5b..5ae7640d4b8 100644 --- a/src/libproc_macro/lib.rs +++ b/src/libproc_macro/lib.rs @@ -41,7 +41,7 @@ pub use diagnostic::{Diagnostic, Level, MultiSpan}; use std::ops::{Bound, RangeBounds}; use std::path::PathBuf; use std::str::FromStr; -use std::{fmt, iter, mem}; +use std::{error, fmt, iter, mem}; /// The main type provided by this crate, representing an abstract stream of /// tokens, or, more specifically, a sequence of token trees. @@ -66,6 +66,16 @@ pub struct LexError { _inner: (), } +#[stable(feature = "proc_macro_lib", since = "1.15.0")] +impl fmt::Display for LexError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("lex error") + } +} + +#[stable(feature = "proc_macro_lib", since = "1.15.0")] +impl error::Error for LexError {} + #[stable(feature = "proc_macro_lib", since = "1.15.0")] impl !Send for LexError {} #[stable(feature = "proc_macro_lib", since = "1.15.0")]