Commit graph

5 commits

Author SHA1 Message Date
Nicholas Nethercote
88dab8d9b3 Improve spans when splitting multi-char operator tokens for proc macros. 2022-10-04 09:08:02 +11:00
Nicholas Nethercote
177b3d2d8b Add some more operator cases to dump-debug-span-debug.rs. 2022-10-03 15:57:23 +11:00
Aaron Hill
88262984eb
Show SyntaxContext in formatted Span debug output
This is only really useful in debug messages, so I've switched to
calling `span_to_string` in any place that causes a `Span` to end up in
user-visible output.
2020-06-08 21:47:33 -04:00
Aaron Hill
b541d3da5d
Add -Z span-debug to allow for easier debugging of proc macros
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.
2020-06-04 15:39:12 -04:00
David Tolnay
4c4b4c4ab4
Add test of proc_macro::TokenStream's Debug 2020-05-15 09:04:00 -07:00