about summary refs log tree commit diff
path: root/tests/ui/str
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2024-07-09 17:00:19 +0000
committerEsteban Küber <esteban@kuber.com.ar>2024-07-18 20:08:38 +0000
commit2d7795dfb942d49d447837ef43db89216de15696 (patch)
treef1ef42e40392a1a0e1b7114662492507309e526e /tests/ui/str
parent89f273f40dafb693139496ed6f914872b6533fa6 (diff)
downloadrust-2d7795dfb942d49d447837ef43db89216de15696.tar.gz
rust-2d7795dfb942d49d447837ef43db89216de15696.zip
Be more accurate about calculating `display_col` from a `BytePos`
No longer track "zero-width" chars in `SourceMap`, read directly from the line when calculating the `display_col` of a `BytePos`. Move `char_width` to `rustc_span` and use it from the emitter.

This change allows the following to properly align in terminals (depending on the font, the replaced control codepoints are rendered as 1 or 2 width, on my terminal they are rendered as 1, on VSCode text they are rendered as 2):

```
error: this file contains an unclosed delimiter
  --> $DIR/issue-68629.rs:5:17
   |
LL | ␜␟ts␀![{i
   |       -- unclosed delimiter
   |       |
   |       unclosed delimiter
LL | ␀␀  fn rݻoa>rݻm
   |                ^
```
Diffstat (limited to 'tests/ui/str')
-rw-r--r--tests/ui/str/str-escape.stderr4
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/ui/str/str-escape.stderr b/tests/ui/str/str-escape.stderr
index 599c8de9757..4c8ee6bc013 100644
--- a/tests/ui/str/str-escape.stderr
+++ b/tests/ui/str/str-escape.stderr
@@ -23,8 +23,8 @@ warning: whitespace symbol '\u{c}' is not skipped
 LL |       let s = b"a\
    |  ________________^
 LL | |     ␌b";
-   | |    ^- whitespace symbol '\u{c}' is not skipped
-   | |____|
+   | |     ^ whitespace symbol '\u{c}' is not skipped
+   | |_____|
    |
 
 warning: 3 warnings emitted