
Change the way that underline positions are calculated by delaying using the "visual" column position until the last possible moment, instead using the "file"/byte position in the file, and then calculating visual positioning as late as possible. This should make the underlines more resilient to non-1-width unicode chars. Unfortunately, as part of this change (which fixes some visual bugs) comes with the loss of some eager tab codepoint handling, but the output remains legible despite some minor regression on the "margin trimming" logic.
42 lines
1.5 KiB
Text
42 lines
1.5 KiB
Text
error: `$x:expr` may be followed by `$y:tt`, which is not allowed for `expr` fragments
|
|
--> $DIR/same-sequence-span.rs:14:18
|
|
|
|
|
LL | (1 $x:expr $($y:tt,)*
|
|
| ^^^^^ not allowed after `expr` fragments
|
|
|
|
|
= note: allowed there are: `=>`, `,` or `;`
|
|
|
|
error: `$x:expr` may be followed by `=`, which is not allowed for `expr` fragments
|
|
--> $DIR/same-sequence-span.rs:15:18
|
|
|
|
|
LL | $(= $z:tt)*
|
|
| ^ not allowed after `expr` fragments
|
|
|
|
|
= note: allowed there are: `=>`, `,` or `;`
|
|
|
|
error: `$x:expr` may be followed by `$y:tt`, which is not allowed for `expr` fragments
|
|
--> $DIR/same-sequence-span.rs:19:1
|
|
|
|
|
LL | | macro_rules! manual_foo {
|
|
| |__________________________^not allowed after `expr` fragments
|
|
...
|
|
LL | proc_macro_sequence::make_foo!();
|
|
| ^-------------------------------
|
|
| |
|
|
| _in this macro invocation
|
|
| |
|
|
|
|
|
= note: allowed there are: `=>`, `,` or `;`
|
|
= note: this error originates in the macro `proc_macro_sequence::make_foo` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: `$x:expr` may be followed by `=`, which is not allowed for `expr` fragments
|
|
--> $DIR/same-sequence-span.rs:19:1
|
|
|
|
|
LL | proc_macro_sequence::make_foo!();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not allowed after `expr` fragments
|
|
|
|
|
= note: allowed there are: `=>`, `,` or `;`
|
|
= note: this error originates in the macro `proc_macro_sequence::make_foo` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error: aborting due to 4 previous errors
|
|
|