proc_macro_error
macro_rules! emit_error { ($err:expr) => { ... }; ($span:expr, $($tts:tt)*) => { ... }; }
Emit an error while not aborting the proc-macro right away.
See the guide.