about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAaron Hill <aa1ronham@gmail.com>2020-08-09 13:36:31 -0400
committerAaron Hill <aa1ronham@gmail.com>2020-08-09 14:41:51 -0400
commitdb6b3c1ce4004b7834cbeb6d6b5feac74f7cd4c0 (patch)
treea48decd23c235b4d337a4f9ad123da21a024415c
parent543f03d24118d3af784aa98c507c00e30c796a0e (diff)
downloadrust-db6b3c1ce4004b7834cbeb6d6b5feac74f7cd4c0.tar.gz
rust-db6b3c1ce4004b7834cbeb6d6b5feac74f7cd4c0.zip
Remove normalization of `Span` debug output in proc-macro tests
Fixes #74800

The definition of `is_x86_feature_detected!` (and similar macros)
depends on the platform - it is produced by a `cfg_if!` invocation on
x86, and a plain `#[cfg]` on other platforms. Since it is part of the
prelude, we will end up importing different hygiene information
depending on the platform. This previously required us to avoid printing raw
`SyntaxContext` ids in any tests that uses the standard library, since
the captured output will be platform-dependent.

Previously, we replaced all `SyntaxContext` ids with "#CTXT", and the
raw `Span` lo/hi bytes with "LO..HI".

This commit adds `#![no_std]` and `extern crate std` to all proc-macro
tests that print spans. This suppresses the prelude import, while
still using lang items from `std` (which gives us a buildable binary).
With this apporach, we will only load hygiene information for things
which we explicitly import. This lets us re-add
`-Z unpretty=expanded,hygiene`, since its output can now be made stable
across all platforms.

Additionally, we use `-Z span-debug` in more places, which lets us avoid
the "LO..HI" normalization hack.
-rw-r--r--src/test/ui/proc-macro/doc-comment-preserved.rs6
-rw-r--r--src/test/ui/proc-macro/doc-comment-preserved.stdout18
-rw-r--r--src/test/ui/proc-macro/dollar-crate-issue-57089.rs7
-rw-r--r--src/test/ui/proc-macro/dollar-crate-issue-57089.stdout32
-rw-r--r--src/test/ui/proc-macro/dollar-crate-issue-62325.rs8
-rw-r--r--src/test/ui/proc-macro/dollar-crate-issue-62325.stdout44
-rw-r--r--src/test/ui/proc-macro/dollar-crate.rs7
-rw-r--r--src/test/ui/proc-macro/dollar-crate.stdout96
-rw-r--r--src/test/ui/proc-macro/input-interpolated.rs5
-rw-r--r--src/test/ui/proc-macro/input-interpolated.stdout24
-rw-r--r--src/test/ui/proc-macro/meta-macro-hygiene.rs7
-rw-r--r--src/test/ui/proc-macro/meta-macro-hygiene.stdout66
-rw-r--r--src/test/ui/proc-macro/meta-macro.rs4
-rw-r--r--src/test/ui/proc-macro/meta-macro.stdout2
-rw-r--r--src/test/ui/proc-macro/nested-macro-rules.rs4
-rw-r--r--src/test/ui/proc-macro/nested-macro-rules.stdout8
-rw-r--r--src/test/ui/proc-macro/nodelim-groups.rs4
-rw-r--r--src/test/ui/proc-macro/nodelim-groups.stdout54
18 files changed, 233 insertions, 163 deletions
diff --git a/src/test/ui/proc-macro/doc-comment-preserved.rs b/src/test/ui/proc-macro/doc-comment-preserved.rs
index c2724ae1806..ed8ca99bd2c 100644
--- a/src/test/ui/proc-macro/doc-comment-preserved.rs
+++ b/src/test/ui/proc-macro/doc-comment-preserved.rs
@@ -1,9 +1,9 @@
 // check-pass
+// compile-flags: -Z span-debug
 // aux-build:test-macros.rs
 
-// Anonymize unstable non-dummy spans while still showing dummy spans `0..0`.
-// normalize-stdout-test "bytes\([^0]\w*\.\.(\w+)\)" -> "bytes(LO..$1)"
-// normalize-stdout-test "bytes\((\w+)\.\.[^0]\w*\)" -> "bytes($1..HI)"
+#![no_std] // Don't load unnecessary hygiene information from std
+extern crate std;
 
 #[macro_use]
 extern crate test_macros;
diff --git a/src/test/ui/proc-macro/doc-comment-preserved.stdout b/src/test/ui/proc-macro/doc-comment-preserved.stdout
index f7904536a76..f4160d7da80 100644
--- a/src/test/ui/proc-macro/doc-comment-preserved.stdout
+++ b/src/test/ui/proc-macro/doc-comment-preserved.stdout
@@ -11,44 +11,44 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
     Punct {
         ch: '#',
         spacing: Alone,
-        span: #0 bytes(LO..HI),
+        span: $DIR/doc-comment-preserved.rs:13:1: 19:3 (#0),
     },
     Group {
         delimiter: Bracket,
         stream: TokenStream [
             Ident {
                 ident: "doc",
-                span: #0 bytes(LO..HI),
+                span: $DIR/doc-comment-preserved.rs:13:1: 19:3 (#0),
             },
             Punct {
                 ch: '=',
                 spacing: Alone,
-                span: #0 bytes(LO..HI),
+                span: $DIR/doc-comment-preserved.rs:13:1: 19:3 (#0),
             },
             Literal {
                 kind: Str,
                 symbol: "\n*******\n* DOC *\n* DOC *\n* DOC *\n*******\n",
                 suffix: None,
-                span: #0 bytes(LO..HI),
+                span: $DIR/doc-comment-preserved.rs:13:1: 19:3 (#0),
             },
         ],
-        span: #0 bytes(LO..HI),
+        span: $DIR/doc-comment-preserved.rs:13:1: 19:3 (#0),
     },
     Ident {
         ident: "pub",
-        span: #0 bytes(LO..HI),
+        span: $DIR/doc-comment-preserved.rs:20:1: 20:4 (#0),
     },
     Ident {
         ident: "struct",
-        span: #0 bytes(LO..HI),
+        span: $DIR/doc-comment-preserved.rs:20:5: 20:11 (#0),
     },
     Ident {
         ident: "S",
-        span: #0 bytes(LO..HI),
+        span: $DIR/doc-comment-preserved.rs:20:12: 20:13 (#0),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #0 bytes(LO..HI),
+        span: $DIR/doc-comment-preserved.rs:20:13: 20:14 (#0),
     },
 ]
diff --git a/src/test/ui/proc-macro/dollar-crate-issue-57089.rs b/src/test/ui/proc-macro/dollar-crate-issue-57089.rs
index 9ce90e42069..27bfa099f21 100644
--- a/src/test/ui/proc-macro/dollar-crate-issue-57089.rs
+++ b/src/test/ui/proc-macro/dollar-crate-issue-57089.rs
@@ -1,11 +1,10 @@
 // check-pass
 // edition:2018
+// compile-flags: -Z span-debug
 // aux-build:test-macros.rs
 
-// Anonymize unstable non-dummy spans while still showing dummy spans `0..0`.
-// normalize-stdout-test "bytes\([^0]\w*\.\.(\w+)\)" -> "bytes(LO..$1)"
-// normalize-stdout-test "bytes\((\w+)\.\.[^0]\w*\)" -> "bytes($1..HI)"
-// normalize-stdout-test "#\d+" -> "#CTXT"
+#![no_std] // Don't load unnecessary hygiene information from std
+extern crate std;
 
 #[macro_use]
 extern crate test_macros;
diff --git a/src/test/ui/proc-macro/dollar-crate-issue-57089.stdout b/src/test/ui/proc-macro/dollar-crate-issue-57089.stdout
index c36c7560387..9a5afbd604f 100644
--- a/src/test/ui/proc-macro/dollar-crate-issue-57089.stdout
+++ b/src/test/ui/proc-macro/dollar-crate-issue-57089.stdout
@@ -2,79 +2,79 @@ PRINT-BANG INPUT (DISPLAY): struct M($crate :: S) ;
 PRINT-BANG INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-57089.rs:17:13: 17:19 (#3),
     },
     Ident {
         ident: "M",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-57089.rs:17:20: 17:21 (#3),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [
             Ident {
                 ident: "$crate",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-57089.rs:17:22: 17:28 (#3),
             },
             Punct {
                 ch: ':',
                 spacing: Joint,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-57089.rs:17:28: 17:30 (#3),
             },
             Punct {
                 ch: ':',
                 spacing: Alone,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-57089.rs:17:28: 17:30 (#3),
             },
             Ident {
                 ident: "S",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-57089.rs:17:30: 17:31 (#3),
             },
         ],
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-57089.rs:17:21: 17:32 (#3),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-57089.rs:17:32: 17:33 (#3),
     },
 ]
 PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S) ;
 PRINT-ATTR INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-57089.rs:21:9: 21:15 (#3),
     },
     Ident {
         ident: "A",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-57089.rs:21:16: 21:17 (#3),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [
             Ident {
                 ident: "$crate",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-57089.rs:21:18: 21:24 (#3),
             },
             Punct {
                 ch: ':',
                 spacing: Joint,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-57089.rs:21:24: 21:26 (#3),
             },
             Punct {
                 ch: ':',
                 spacing: Alone,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-57089.rs:21:24: 21:26 (#3),
             },
             Ident {
                 ident: "S",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-57089.rs:21:26: 21:27 (#3),
             },
         ],
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-57089.rs:21:17: 21:28 (#3),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-57089.rs:21:28: 21:29 (#3),
     },
 ]
diff --git a/src/test/ui/proc-macro/dollar-crate-issue-62325.rs b/src/test/ui/proc-macro/dollar-crate-issue-62325.rs
index 2a9ff4c20cd..d828fb9fd80 100644
--- a/src/test/ui/proc-macro/dollar-crate-issue-62325.rs
+++ b/src/test/ui/proc-macro/dollar-crate-issue-62325.rs
@@ -1,12 +1,12 @@
 // check-pass
 // edition:2018
+// compile-flags: -Z span-debug
 // aux-build:test-macros.rs
 // aux-build:dollar-crate-external.rs
 
-// Anonymize unstable non-dummy spans while still showing dummy spans `0..0`.
-// normalize-stdout-test "bytes\([^0]\w*\.\.(\w+)\)" -> "bytes(LO..$1)"
-// normalize-stdout-test "bytes\((\w+)\.\.[^0]\w*\)" -> "bytes($1..HI)"
-// normalize-stdout-test "#\d+" -> "#CTXT"
+
+#![no_std] // Don't load unnecessary hygiene information from std
+extern crate std;
 
 #[macro_use]
 extern crate test_macros;
diff --git a/src/test/ui/proc-macro/dollar-crate-issue-62325.stdout b/src/test/ui/proc-macro/dollar-crate-issue-62325.stdout
index 456940b89da..fc62eadd313 100644
--- a/src/test/ui/proc-macro/dollar-crate-issue-62325.stdout
+++ b/src/test/ui/proc-macro/dollar-crate-issue-62325.stdout
@@ -2,109 +2,109 @@ PRINT-ATTR INPUT (DISPLAY): struct A(identity ! ($crate :: S)) ;
 PRINT-ATTR INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-62325.rs:19:5: 19:11 (#3),
     },
     Ident {
         ident: "A",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-62325.rs:19:12: 19:13 (#3),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [
             Ident {
                 ident: "identity",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-62325.rs:19:14: 19:22 (#3),
             },
             Punct {
                 ch: '!',
                 spacing: Alone,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-62325.rs:19:22: 19:23 (#3),
             },
             Group {
                 delimiter: Parenthesis,
                 stream: TokenStream [
                     Ident {
                         ident: "$crate",
-                        span: #CTXT bytes(LO..HI),
+                        span: $DIR/dollar-crate-issue-62325.rs:19:24: 19:30 (#3),
                     },
                     Punct {
                         ch: ':',
                         spacing: Joint,
-                        span: #CTXT bytes(LO..HI),
+                        span: $DIR/dollar-crate-issue-62325.rs:19:30: 19:32 (#3),
                     },
                     Punct {
                         ch: ':',
                         spacing: Alone,
-                        span: #CTXT bytes(LO..HI),
+                        span: $DIR/dollar-crate-issue-62325.rs:19:30: 19:32 (#3),
                     },
                     Ident {
                         ident: "S",
-                        span: #CTXT bytes(LO..HI),
+                        span: $DIR/dollar-crate-issue-62325.rs:19:32: 19:33 (#3),
                     },
                 ],
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate-issue-62325.rs:19:23: 19:34 (#3),
             },
         ],
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-62325.rs:19:13: 19:35 (#3),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate-issue-62325.rs:19:35: 19:36 (#3),
     },
 ]
 PRINT-ATTR INPUT (DISPLAY): struct B(identity ! ($crate :: S)) ;
 PRINT-ATTR INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:21:5: 21:11 (#10),
     },
     Ident {
         ident: "B",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:21:12: 21:13 (#10),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [
             Ident {
                 ident: "identity",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:21:14: 21:22 (#10),
             },
             Punct {
                 ch: '!',
                 spacing: Alone,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:21:22: 21:23 (#10),
             },
             Group {
                 delimiter: Parenthesis,
                 stream: TokenStream [
                     Ident {
                         ident: "$crate",
-                        span: #CTXT bytes(LO..HI),
+                        span: $DIR/auxiliary/dollar-crate-external.rs:21:24: 21:30 (#10),
                     },
                     Punct {
                         ch: ':',
                         spacing: Joint,
-                        span: #CTXT bytes(LO..HI),
+                        span: $DIR/auxiliary/dollar-crate-external.rs:21:30: 21:32 (#10),
                     },
                     Punct {
                         ch: ':',
                         spacing: Alone,
-                        span: #CTXT bytes(LO..HI),
+                        span: $DIR/auxiliary/dollar-crate-external.rs:21:30: 21:32 (#10),
                     },
                     Ident {
                         ident: "S",
-                        span: #CTXT bytes(LO..HI),
+                        span: $DIR/auxiliary/dollar-crate-external.rs:21:32: 21:33 (#10),
                     },
                 ],
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:21:23: 21:34 (#10),
             },
         ],
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:21:13: 21:35 (#10),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:21:35: 21:36 (#10),
     },
 ]
diff --git a/src/test/ui/proc-macro/dollar-crate.rs b/src/test/ui/proc-macro/dollar-crate.rs
index 1a5223d3d41..ac27dfa1aeb 100644
--- a/src/test/ui/proc-macro/dollar-crate.rs
+++ b/src/test/ui/proc-macro/dollar-crate.rs
@@ -1,12 +1,11 @@
 // check-pass
 // edition:2018
+// compile-flags: -Z span-debug
 // aux-build:test-macros.rs
 // aux-build:dollar-crate-external.rs
 
-// Anonymize unstable non-dummy spans while still showing dummy spans `0..0`.
-// normalize-stdout-test "bytes\([^0]\w*\.\.(\w+)\)" -> "bytes(LO..$1)"
-// normalize-stdout-test "bytes\((\w+)\.\.[^0]\w*\)" -> "bytes($1..HI)"
-// normalize-stdout-test "#\d+" -> "#CTXT"
+#![no_std] // Don't load unnecessary hygiene information from std
+extern crate std;
 
 #[macro_use]
 extern crate test_macros;
diff --git a/src/test/ui/proc-macro/dollar-crate.stdout b/src/test/ui/proc-macro/dollar-crate.stdout
index deef102afb2..72fc6588583 100644
--- a/src/test/ui/proc-macro/dollar-crate.stdout
+++ b/src/test/ui/proc-macro/dollar-crate.stdout
@@ -2,239 +2,239 @@ PRINT-BANG INPUT (DISPLAY): struct M($crate :: S) ;
 PRINT-BANG INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:20:17: 20:23 (#3),
     },
     Ident {
         ident: "M",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:20:24: 20:25 (#3),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [
             Ident {
                 ident: "$crate",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:20:26: 20:32 (#3),
             },
             Punct {
                 ch: ':',
                 spacing: Joint,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:20:32: 20:34 (#3),
             },
             Punct {
                 ch: ':',
                 spacing: Alone,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:20:32: 20:34 (#3),
             },
             Ident {
                 ident: "S",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:20:34: 20:35 (#3),
             },
         ],
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:20:25: 20:36 (#3),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:20:36: 20:37 (#3),
     },
 ]
 PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S) ;
 PRINT-ATTR INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:24:13: 24:19 (#3),
     },
     Ident {
         ident: "A",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:24:20: 24:21 (#3),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [
             Ident {
                 ident: "$crate",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:24:22: 24:28 (#3),
             },
             Punct {
                 ch: ':',
                 spacing: Joint,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:24:28: 24:30 (#3),
             },
             Punct {
                 ch: ':',
                 spacing: Alone,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:24:28: 24:30 (#3),
             },
             Ident {
                 ident: "S",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:24:30: 24:31 (#3),
             },
         ],
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:24:21: 24:32 (#3),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:24:32: 24:33 (#3),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): struct D($crate :: S) ;
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:27:13: 27:19 (#3),
     },
     Ident {
         ident: "D",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:27:20: 27:21 (#3),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [
             Ident {
                 ident: "$crate",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:27:22: 27:28 (#3),
             },
             Punct {
                 ch: ':',
                 spacing: Joint,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:27:28: 27:30 (#3),
             },
             Punct {
                 ch: ':',
                 spacing: Alone,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:27:28: 27:30 (#3),
             },
             Ident {
                 ident: "S",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/dollar-crate.rs:27:30: 27:31 (#3),
             },
         ],
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:27:21: 27:32 (#3),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/dollar-crate.rs:27:32: 27:33 (#3),
     },
 ]
 PRINT-BANG INPUT (DISPLAY): struct M($crate :: S) ;
 PRINT-BANG INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:7:13: 7:19 (#13),
     },
     Ident {
         ident: "M",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:7:20: 7:21 (#13),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [
             Ident {
                 ident: "$crate",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:7:22: 7:28 (#13),
             },
             Punct {
                 ch: ':',
                 spacing: Joint,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:7:28: 7:30 (#13),
             },
             Punct {
                 ch: ':',
                 spacing: Alone,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:7:28: 7:30 (#13),
             },
             Ident {
                 ident: "S",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:7:30: 7:31 (#13),
             },
         ],
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:7:21: 7:32 (#13),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:7:32: 7:33 (#13),
     },
 ]
 PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S) ;
 PRINT-ATTR INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:11:9: 11:15 (#13),
     },
     Ident {
         ident: "A",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:11:16: 11:17 (#13),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [
             Ident {
                 ident: "$crate",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:11:18: 11:24 (#13),
             },
             Punct {
                 ch: ':',
                 spacing: Joint,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:11:24: 11:26 (#13),
             },
             Punct {
                 ch: ':',
                 spacing: Alone,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:11:24: 11:26 (#13),
             },
             Ident {
                 ident: "S",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:11:26: 11:27 (#13),
             },
         ],
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:11:17: 11:28 (#13),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:11:28: 11:29 (#13),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): struct D($crate :: S) ;
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:14:9: 14:15 (#13),
     },
     Ident {
         ident: "D",
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:14:16: 14:17 (#13),
     },
     Group {
         delimiter: Parenthesis,
         stream: TokenStream [
             Ident {
                 ident: "$crate",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:14:18: 14:24 (#13),
             },
             Punct {
                 ch: ':',
                 spacing: Joint,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:14:24: 14:26 (#13),
             },
             Punct {
                 ch: ':',
                 spacing: Alone,
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:14:24: 14:26 (#13),
             },
             Ident {
                 ident: "S",
-                span: #CTXT bytes(LO..HI),
+                span: $DIR/auxiliary/dollar-crate-external.rs:14:26: 14:27 (#13),
             },
         ],
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:14:17: 14:28 (#13),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(LO..HI),
+        span: $DIR/auxiliary/dollar-crate-external.rs:14:28: 14:29 (#13),
     },
 ]
diff --git a/src/test/ui/proc-macro/input-interpolated.rs b/src/test/ui/proc-macro/input-interpolated.rs
index 41c829d9d88..5e49e330cac 100644
--- a/src/test/ui/proc-macro/input-interpolated.rs
+++ b/src/test/ui/proc-macro/input-interpolated.rs
@@ -1,9 +1,12 @@
 // Check what token streams proc macros see when interpolated tokens are passed to them as input.
 
 // check-pass
-// normalize-stdout-test "#\d+" -> "#CTXT"
+// edition:2018
 // aux-build:test-macros.rs
 
+#![no_std] // Don't load unnecessary hygiene information from std
+extern crate std;
+
 #[macro_use]
 extern crate test_macros;
 
diff --git a/src/test/ui/proc-macro/input-interpolated.stdout b/src/test/ui/proc-macro/input-interpolated.stdout
index d98f52249a7..9cf33ba4a9d 100644
--- a/src/test/ui/proc-macro/input-interpolated.stdout
+++ b/src/test/ui/proc-macro/input-interpolated.stdout
@@ -5,61 +5,61 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
         stream: TokenStream [
             Ident {
                 ident: "A",
-                span: #CTXT bytes(445..446),
+                span: #0 bytes(503..504),
             },
         ],
-        span: #CTXT bytes(312..314),
+        span: #3 bytes(370..372),
     },
 ]
 PRINT-ATTR INPUT (DISPLAY): const A : u8 = 0 ;
 PRINT-ATTR INPUT (DEBUG): TokenStream [
     Ident {
         ident: "const",
-        span: #CTXT bytes(0..0),
+        span: #0 bytes(0..0),
     },
     Ident {
         ident: "A",
-        span: #CTXT bytes(0..0),
+        span: #0 bytes(0..0),
     },
     Punct {
         ch: ':',
         spacing: Alone,
-        span: #CTXT bytes(0..0),
+        span: #0 bytes(0..0),
     },
     Ident {
         ident: "u8",
-        span: #CTXT bytes(0..0),
+        span: #0 bytes(0..0),
     },
     Punct {
         ch: '=',
         spacing: Alone,
-        span: #CTXT bytes(0..0),
+        span: #0 bytes(0..0),
     },
     Literal {
         kind: Integer,
         symbol: "0",
         suffix: None,
-        span: #CTXT bytes(0..0),
+        span: #0 bytes(0..0),
     },
     Punct {
         ch: ';',
         spacing: Alone,
-        span: #CTXT bytes(0..0),
+        span: #0 bytes(0..0),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): struct A { }
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: #CTXT bytes(0..0),
+        span: #0 bytes(0..0),
     },
     Ident {
         ident: "A",
-        span: #CTXT bytes(0..0),
+        span: #0 bytes(0..0),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [],
-        span: #CTXT bytes(0..0),
+        span: #0 bytes(0..0),
     },
 ]
diff --git a/src/test/ui/proc-macro/meta-macro-hygiene.rs b/src/test/ui/proc-macro/meta-macro-hygiene.rs
index 4b1787453cb..c11cf42956f 100644
--- a/src/test/ui/proc-macro/meta-macro-hygiene.rs
+++ b/src/test/ui/proc-macro/meta-macro-hygiene.rs
@@ -1,13 +1,16 @@
 // aux-build:make-macro.rs
 // aux-build:meta-macro.rs
 // edition:2018
-// compile-flags: -Z span-debug -Z macro-backtrace
+// compile-flags: -Z span-debug -Z macro-backtrace -Z unpretty=expanded,hygiene
 // check-pass
-// normalize-stdout-test "#\d+" -> "#CTXT"
 // normalize-stdout-test "\d+#" -> "0#"
 //
 // We don't care about symbol ids, so we set them all to 0
 // in the stdout
+
+#![no_std] // Don't load unnecessary hygiene information from std
+extern crate std;
+
 extern crate meta_macro;
 
 macro_rules! produce_it {
diff --git a/src/test/ui/proc-macro/meta-macro-hygiene.stdout b/src/test/ui/proc-macro/meta-macro-hygiene.stdout
index e162bdd7fc0..dfd3e6a839a 100644
--- a/src/test/ui/proc-macro/meta-macro-hygiene.stdout
+++ b/src/test/ui/proc-macro/meta-macro-hygiene.stdout
@@ -1,3 +1,63 @@
-Def site: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#CTXT)
-Input: TokenStream [Ident { ident: "$crate", span: $DIR/meta-macro-hygiene.rs:20:37: 20:43 (#CTXT) }, Punct { ch: ':', spacing: Joint, span: $DIR/meta-macro-hygiene.rs:20:43: 20:45 (#CTXT) }, Punct { ch: ':', spacing: Alone, span: $DIR/meta-macro-hygiene.rs:20:43: 20:45 (#CTXT) }, Ident { ident: "dummy", span: $DIR/meta-macro-hygiene.rs:20:45: 20:50 (#CTXT) }, Punct { ch: '!', spacing: Alone, span: $DIR/meta-macro-hygiene.rs:20:50: 20:51 (#CTXT) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: $DIR/meta-macro-hygiene.rs:20:51: 20:53 (#CTXT) }]
-Respanned: TokenStream [Ident { ident: "$crate", span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#CTXT) }, Punct { ch: ':', spacing: Joint, span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#CTXT) }, Punct { ch: ':', spacing: Alone, span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#CTXT) }, Ident { ident: "dummy", span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#CTXT) }, Punct { ch: '!', spacing: Alone, span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#CTXT) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#CTXT) }]
+Def site: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#4)
+Input: TokenStream [Ident { ident: "$crate", span: $DIR/meta-macro-hygiene.rs:23:37: 23:43 (#3) }, Punct { ch: ':', spacing: Joint, span: $DIR/meta-macro-hygiene.rs:23:43: 23:45 (#3) }, Punct { ch: ':', spacing: Alone, span: $DIR/meta-macro-hygiene.rs:23:43: 23:45 (#3) }, Ident { ident: "dummy", span: $DIR/meta-macro-hygiene.rs:23:45: 23:50 (#3) }, Punct { ch: '!', spacing: Alone, span: $DIR/meta-macro-hygiene.rs:23:50: 23:51 (#3) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: $DIR/meta-macro-hygiene.rs:23:51: 23:53 (#3) }]
+Respanned: TokenStream [Ident { ident: "$crate", span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#4) }, Punct { ch: ':', spacing: Joint, span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#4) }, Punct { ch: ':', spacing: Alone, span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#4) }, Ident { ident: "dummy", span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#4) }, Punct { ch: '!', spacing: Alone, span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#4) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#4) }]
+#![feature /* 0#0 */(prelude_import)]
+// aux-build:make-macro.rs
+// aux-build:meta-macro.rs
+// edition:2018
+// compile-flags: -Z span-debug -Z macro-backtrace -Z unpretty=expanded,hygiene
+// check-pass
+// normalize-stdout-test "\d+#" -> "0#"
+//
+// We don't care about symbol ids, so we set them all to 0
+// in the stdout
+
+#![no_std /* 0#0 */]
+#[prelude_import /* 0#1 */]
+use core /* 0#1 */::prelude /* 0#1 */::v1 /* 0#1 */::*;
+#[macro_use /* 0#1 */]
+extern crate core /* 0#1 */;
+#[macro_use /* 0#1 */]
+extern crate compiler_builtins /* 0#1 */;
+// Don't load unnecessary hygiene information from std
+extern crate std /* 0#0 */;
+
+extern crate meta_macro /* 0#0 */;
+
+macro_rules! produce_it
+    /*
+    0#0
+    */ {
+    () =>
+    {
+        meta_macro :: print_def_site ! ($ crate :: dummy ! ()) ;
+        // `print_def_site!` will respan the `$crate` identifier
+        // with `Span::def_site()`. This should cause it to resolve
+        // relative to `meta_macro`, *not* `make_macro` (despite
+        // the fact that that `print_def_site` is produced by
+        // a `macro_rules!` macro in `make_macro`).
+    }
+}
+
+fn main /* 0#0 */() { }
+
+/*
+Expansions:
+0: parent: ExpnId(0), call_site_ctxt: #0, def_site_ctxt: #0, kind: Root
+1: parent: ExpnId(0), call_site_ctxt: #0, def_site_ctxt: #0, kind: AstPass(StdImports)
+2: parent: ExpnId(0), call_site_ctxt: #0, def_site_ctxt: #0, kind: Macro(Bang, "produce_it")
+3: parent: ExpnId(2), call_site_ctxt: #3, def_site_ctxt: #0, kind: Macro(Bang, "meta_macro::print_def_site")
+4: parent: ExpnId(3), call_site_ctxt: #4, def_site_ctxt: #0, kind: Macro(Bang, "$crate::dummy")
+
+SyntaxContexts:
+#0: parent: #0, outer_mark: (ExpnId(0), Opaque)
+#1: parent: #0, outer_mark: (ExpnId(1), Opaque)
+#2: parent: #0, outer_mark: (ExpnId(1), Transparent)
+#3: parent: #0, outer_mark: (ExpnId(2), SemiTransparent)
+#4: parent: #0, outer_mark: (ExpnId(3), Opaque)
+#5: parent: #3, outer_mark: (ExpnId(3), Transparent)
+#6: parent: #0, outer_mark: (ExpnId(3), SemiTransparent)
+#7: parent: #0, outer_mark: (ExpnId(4), Opaque)
+#8: parent: #4, outer_mark: (ExpnId(4), Transparent)
+#9: parent: #4, outer_mark: (ExpnId(4), SemiTransparent)
+*/
diff --git a/src/test/ui/proc-macro/meta-macro.rs b/src/test/ui/proc-macro/meta-macro.rs
index 579e232c0d9..dbac90382d1 100644
--- a/src/test/ui/proc-macro/meta-macro.rs
+++ b/src/test/ui/proc-macro/meta-macro.rs
@@ -2,9 +2,11 @@
 // aux-build:meta-macro.rs
 // edition:2018
 // compile-flags: -Z span-debug
-// normalize-stdout-test "#\d+" -> "#CTXT"
 // run-pass
 
+#![no_std] // Don't load unnecessary hygiene information from std
+extern crate std;
+
 extern crate meta_macro;
 
 fn main() {
diff --git a/src/test/ui/proc-macro/meta-macro.stdout b/src/test/ui/proc-macro/meta-macro.stdout
index a9847a25d92..71aa565f4dd 100644
--- a/src/test/ui/proc-macro/meta-macro.stdout
+++ b/src/test/ui/proc-macro/meta-macro.stdout
@@ -1,3 +1,3 @@
-Def site: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#CTXT)
+Def site: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#3)
 Input: TokenStream []
 Respanned: TokenStream []
diff --git a/src/test/ui/proc-macro/nested-macro-rules.rs b/src/test/ui/proc-macro/nested-macro-rules.rs
index 62c3dd84ce1..2fef0e5fad0 100644
--- a/src/test/ui/proc-macro/nested-macro-rules.rs
+++ b/src/test/ui/proc-macro/nested-macro-rules.rs
@@ -2,9 +2,11 @@
 // aux-build:nested-macro-rules.rs
 // aux-build:test-macros.rs
 // compile-flags: -Z span-debug
-// normalize-stdout-test "#\d+" -> "#CTXT"
 // edition:2018
 
+#![no_std] // Don't load unnecessary hygiene information from std
+extern crate std;
+
 extern crate nested_macro_rules;
 extern crate test_macros;
 
diff --git a/src/test/ui/proc-macro/nested-macro-rules.stdout b/src/test/ui/proc-macro/nested-macro-rules.stdout
index 337b9863def..7feea56c5d8 100644
--- a/src/test/ui/proc-macro/nested-macro-rules.stdout
+++ b/src/test/ui/proc-macro/nested-macro-rules.stdout
@@ -5,10 +5,10 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
         stream: TokenStream [
             Ident {
                 ident: "FirstStruct",
-                span: $DIR/auxiliary/nested-macro-rules.rs:15:14: 15:25 (#CTXT),
+                span: $DIR/auxiliary/nested-macro-rules.rs:15:14: 15:25 (#5),
             },
         ],
-        span: $DIR/auxiliary/nested-macro-rules.rs:9:27: 9:32 (#CTXT),
+        span: $DIR/auxiliary/nested-macro-rules.rs:9:27: 9:32 (#4),
     },
 ]
 PRINT-BANG INPUT (DISPLAY): SecondStruct
@@ -18,9 +18,9 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
         stream: TokenStream [
             Ident {
                 ident: "SecondStruct",
-                span: $DIR/nested-macro-rules.rs:19:38: 19:50 (#CTXT),
+                span: $DIR/nested-macro-rules.rs:21:38: 21:50 (#11),
             },
         ],
-        span: $DIR/auxiliary/nested-macro-rules.rs:9:27: 9:32 (#CTXT),
+        span: $DIR/auxiliary/nested-macro-rules.rs:9:27: 9:32 (#10),
     },
 ]
diff --git a/src/test/ui/proc-macro/nodelim-groups.rs b/src/test/ui/proc-macro/nodelim-groups.rs
index 1dc8796de90..db2a879f405 100644
--- a/src/test/ui/proc-macro/nodelim-groups.rs
+++ b/src/test/ui/proc-macro/nodelim-groups.rs
@@ -1,11 +1,13 @@
 // run-pass
 // aux-build:test-macros.rs
 // compile-flags: -Z span-debug
-// normalize-stdout-test "#\d+" -> "#CTXT"
 // edition:2018
 //
 // Tests the pretty-printing behavior of inserting `NoDelim` groups
 
+#![no_std] // Don't load unnecessary hygiene information from std
+extern crate std;
+
 extern crate test_macros;
 use test_macros::print_bang_consume;
 
diff --git a/src/test/ui/proc-macro/nodelim-groups.stdout b/src/test/ui/proc-macro/nodelim-groups.stdout
index 79cdf2b53b5..2fcd41f6da0 100644
--- a/src/test/ui/proc-macro/nodelim-groups.stdout
+++ b/src/test/ui/proc-macro/nodelim-groups.stdout
@@ -4,7 +4,7 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
         kind: Str,
         symbol: "hi",
         suffix: None,
-        span: $DIR/nodelim-groups.rs:14:42: 14:46 (#CTXT),
+        span: $DIR/nodelim-groups.rs:16:42: 16:46 (#3),
     },
     Group {
         delimiter: None,
@@ -13,12 +13,12 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
                 kind: Integer,
                 symbol: "1",
                 suffix: None,
-                span: $DIR/nodelim-groups.rs:18:16: 18:17 (#CTXT),
+                span: $DIR/nodelim-groups.rs:20:16: 20:17 (#0),
             },
             Punct {
                 ch: '+',
                 spacing: Alone,
-                span: $DIR/nodelim-groups.rs:18:18: 18:19 (#CTXT),
+                span: $DIR/nodelim-groups.rs:20:18: 20:19 (#0),
             },
             Group {
                 delimiter: Parenthesis,
@@ -27,24 +27,24 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
                         kind: Integer,
                         symbol: "25",
                         suffix: None,
-                        span: $DIR/nodelim-groups.rs:18:21: 18:23 (#CTXT),
+                        span: $DIR/nodelim-groups.rs:20:21: 20:23 (#0),
                     },
                 ],
-                span: $DIR/nodelim-groups.rs:18:20: 18:24 (#CTXT),
+                span: $DIR/nodelim-groups.rs:20:20: 20:24 (#0),
             },
             Punct {
                 ch: '+',
                 spacing: Alone,
-                span: $DIR/nodelim-groups.rs:18:25: 18:26 (#CTXT),
+                span: $DIR/nodelim-groups.rs:20:25: 20:26 (#0),
             },
             Literal {
                 kind: Integer,
                 symbol: "1",
                 suffix: None,
-                span: $DIR/nodelim-groups.rs:18:27: 18:28 (#CTXT),
+                span: $DIR/nodelim-groups.rs:20:27: 20:28 (#0),
             },
         ],
-        span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+        span: $DIR/nodelim-groups.rs:16:47: 16:51 (#3),
     },
     Group {
         delimiter: Parenthesis,
@@ -53,21 +53,21 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
                 kind: Integer,
                 symbol: "1",
                 suffix: None,
-                span: $DIR/nodelim-groups.rs:14:53: 14:54 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:53: 16:54 (#3),
             },
             Punct {
                 ch: '+',
                 spacing: Alone,
-                span: $DIR/nodelim-groups.rs:14:55: 14:56 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:55: 16:56 (#3),
             },
             Literal {
                 kind: Integer,
                 symbol: "1",
                 suffix: None,
-                span: $DIR/nodelim-groups.rs:14:57: 14:58 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:57: 16:58 (#3),
             },
         ],
-        span: $DIR/nodelim-groups.rs:14:52: 14:59 (#CTXT),
+        span: $DIR/nodelim-groups.rs:16:52: 16:59 (#3),
     },
 ]
 PRINT-BANG INPUT (DISPLAY): "hi" "hello".len() + "world".len() (1 + 1)
@@ -77,7 +77,7 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
         kind: Str,
         symbol: "hi",
         suffix: None,
-        span: $DIR/nodelim-groups.rs:14:42: 14:46 (#CTXT),
+        span: $DIR/nodelim-groups.rs:16:42: 16:46 (#8),
     },
     Group {
         delimiter: None,
@@ -86,49 +86,49 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
                 kind: Str,
                 symbol: "hello",
                 suffix: None,
-                span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:47: 16:51 (#8),
             },
             Punct {
                 ch: '.',
                 spacing: Alone,
-                span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:47: 16:51 (#8),
             },
             Ident {
                 ident: "len",
-                span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:47: 16:51 (#8),
             },
             Group {
                 delimiter: Parenthesis,
                 stream: TokenStream [],
-                span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:47: 16:51 (#8),
             },
             Punct {
                 ch: '+',
                 spacing: Alone,
-                span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:47: 16:51 (#8),
             },
             Literal {
                 kind: Str,
                 symbol: "world",
                 suffix: None,
-                span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:47: 16:51 (#8),
             },
             Punct {
                 ch: '.',
                 spacing: Alone,
-                span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:47: 16:51 (#8),
             },
             Ident {
                 ident: "len",
-                span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:47: 16:51 (#8),
             },
             Group {
                 delimiter: Parenthesis,
                 stream: TokenStream [],
-                span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:47: 16:51 (#8),
             },
         ],
-        span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
+        span: $DIR/nodelim-groups.rs:16:47: 16:51 (#8),
     },
     Group {
         delimiter: Parenthesis,
@@ -137,20 +137,20 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
                 kind: Integer,
                 symbol: "1",
                 suffix: None,
-                span: $DIR/nodelim-groups.rs:14:53: 14:54 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:53: 16:54 (#8),
             },
             Punct {
                 ch: '+',
                 spacing: Alone,
-                span: $DIR/nodelim-groups.rs:14:55: 14:56 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:55: 16:56 (#8),
             },
             Literal {
                 kind: Integer,
                 symbol: "1",
                 suffix: None,
-                span: $DIR/nodelim-groups.rs:14:57: 14:58 (#CTXT),
+                span: $DIR/nodelim-groups.rs:16:57: 16:58 (#8),
             },
         ],
-        span: $DIR/nodelim-groups.rs:14:52: 14:59 (#CTXT),
+        span: $DIR/nodelim-groups.rs:16:52: 16:59 (#8),
     },
 ]