Add -Z span-debug to allow for easier debugging of proc macros by Aaron1011 · Pull Request #72799 · rust-lang/rust (original) (raw)

Currently, the Debug impl for proc_macro::Span just prints out
the byte range. This can make debugging proc macros (either as a crate
author or as a compiler developer) very frustrating, since neither the
actual filename nor the SyntaxContext is displayed.

This commit adds a perma-unstable flag -Z span-debug. When enabled,
the Debug impl for proc_macro::Span simply forwards directly to
rustc_span::Span. Once #72618 is merged, this will start displaying
actual line numbers.

While Debug impls are not subject to Rust's normal stability
guarnatees, we probably shouldn't expose any additional information on
stable until #![feature(proc_macro_span)] is stabilized. Otherwise,
we would be providing a 'backdoor' way to access information that's
supposed be behind unstable APIs.