Normalize the test output of hygiene-related tests
A raw SyntaxContext id is implicitly dependent on the target platform, since libstd and libcore have platform-dependent #[cfg]s which affect which macros are invoked. As a result, we must strip out any SyntaxContext ids from test output to ensure that the captured stdout is not platform-dependent.
This commit is contained in:
parent
768803cbb5
commit
f7235a898a
|
@ -5,6 +5,7 @@
|
|||
// 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"
|
||||
|
||||
#[macro_use]
|
||||
extern crate test_macros;
|
||||
|
|
|
@ -2,79 +2,79 @@ PRINT-BANG INPUT (DISPLAY): struct M($crate :: S) ;
|
|||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "M",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S) ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "A",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
// 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"
|
||||
|
||||
#[macro_use]
|
||||
extern crate test_macros;
|
||||
|
|
|
@ -2,109 +2,109 @@ PRINT-ATTR INPUT (DISPLAY): struct A(identity ! ($crate :: S)) ;
|
|||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "A",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "identity",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: '!',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): struct B(identity ! ($crate :: S)) ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "B",
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "identity",
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: '!',
|
||||
spacing: Alone,
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #13 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
// 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"
|
||||
|
||||
#[macro_use]
|
||||
extern crate test_macros;
|
||||
|
|
|
@ -2,239 +2,239 @@ PRINT-BANG INPUT (DISPLAY): struct M($crate :: S) ;
|
|||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "M",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S) ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "A",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
PRINT-DERIVE INPUT (DISPLAY): struct D($crate :: S) ;
|
||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "D",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #6 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
PRINT-BANG INPUT (DISPLAY): struct M($crate :: S) ;
|
||||
PRINT-BANG INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "M",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): struct A($crate :: S) ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "A",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
PRINT-DERIVE INPUT (DISPLAY): struct D($crate :: S) ;
|
||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "D",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #16 bytes(LO..HI),
|
||||
span: #CTXT bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// Check what token streams proc macros see when interpolated tokens are passed to them as input.
|
||||
|
||||
// check-pass
|
||||
// normalize-stdout-test "#\d+" -> "#CTXT"
|
||||
// aux-build:test-macros.rs
|
||||
|
||||
#[macro_use]
|
||||
|
|
|
@ -5,61 +5,61 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "A",
|
||||
span: #0 bytes(402..403),
|
||||
span: #CTXT bytes(445..446),
|
||||
},
|
||||
],
|
||||
span: #6 bytes(269..271),
|
||||
span: #CTXT bytes(312..314),
|
||||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): const A : u8 = 0 ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "const",
|
||||
span: #0 bytes(0..0),
|
||||
span: #CTXT bytes(0..0),
|
||||
},
|
||||
Ident {
|
||||
ident: "A",
|
||||
span: #0 bytes(0..0),
|
||||
span: #CTXT bytes(0..0),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #0 bytes(0..0),
|
||||
span: #CTXT bytes(0..0),
|
||||
},
|
||||
Ident {
|
||||
ident: "u8",
|
||||
span: #0 bytes(0..0),
|
||||
span: #CTXT bytes(0..0),
|
||||
},
|
||||
Punct {
|
||||
ch: '=',
|
||||
spacing: Alone,
|
||||
span: #0 bytes(0..0),
|
||||
span: #CTXT bytes(0..0),
|
||||
},
|
||||
Literal {
|
||||
kind: Integer,
|
||||
symbol: "0",
|
||||
suffix: None,
|
||||
span: #0 bytes(0..0),
|
||||
span: #CTXT bytes(0..0),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #0 bytes(0..0),
|
||||
span: #CTXT bytes(0..0),
|
||||
},
|
||||
]
|
||||
PRINT-DERIVE INPUT (DISPLAY): struct A { }
|
||||
PRINT-DERIVE INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #0 bytes(0..0),
|
||||
span: #CTXT bytes(0..0),
|
||||
},
|
||||
Ident {
|
||||
ident: "A",
|
||||
span: #0 bytes(0..0),
|
||||
span: #CTXT bytes(0..0),
|
||||
},
|
||||
Group {
|
||||
delimiter: Brace,
|
||||
stream: TokenStream [],
|
||||
span: #0 bytes(0..0),
|
||||
span: #CTXT bytes(0..0),
|
||||
},
|
||||
]
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
// aux-build:make-macro.rs
|
||||
// aux-build:meta-macro.rs
|
||||
// edition:2018
|
||||
// compile-flags: -Z span-debug -Z unpretty=expanded,hygiene -Z macro-backtrace
|
||||
// compile-flags: -Z span-debug -Z macro-backtrace
|
||||
// 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
|
||||
|
|
|
@ -1,63 +1,3 @@
|
|||
Def site: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#7)
|
||||
Input: TokenStream [Ident { ident: "$crate", span: $DIR/meta-macro-hygiene.rs:19:37: 19:43 (#6) }, Punct { ch: ':', spacing: Joint, span: $DIR/meta-macro-hygiene.rs:19:43: 19:45 (#6) }, Punct { ch: ':', spacing: Alone, span: $DIR/meta-macro-hygiene.rs:19:43: 19:45 (#6) }, Ident { ident: "dummy", span: $DIR/meta-macro-hygiene.rs:19:45: 19:50 (#6) }, Punct { ch: '!', spacing: Alone, span: $DIR/meta-macro-hygiene.rs:19:50: 19:51 (#6) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: $DIR/meta-macro-hygiene.rs:19:51: 19:53 (#6) }]
|
||||
Respanned: TokenStream [Ident { ident: "$crate", span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#7) }, Punct { ch: ':', spacing: Joint, span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#7) }, Punct { ch: ':', spacing: Alone, span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#7) }, Ident { ident: "dummy", span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#7) }, Punct { ch: '!', spacing: Alone, span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#7) }, Group { delimiter: Parenthesis, stream: TokenStream [], span: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#7) }]
|
||||
#![feature /* 0#0 */(prelude_import)]
|
||||
#[prelude_import /* 0#1 */]
|
||||
use std /* 0#1 */::prelude /* 0#1 */::v1 /* 0#1 */::*;
|
||||
#[macro_use /* 0#1 */]
|
||||
extern crate std /* 0#1 */;
|
||||
// aux-build:make-macro.rs
|
||||
// aux-build:meta-macro.rs
|
||||
// edition:2018
|
||||
// compile-flags: -Z span-debug -Z unpretty=expanded,hygiene -Z macro-backtrace
|
||||
// check-pass
|
||||
// normalize-stdout-test "\d+#" -> "0#"
|
||||
//
|
||||
// We don't care about symbol ids, so we set them all to 0
|
||||
// in the stdout
|
||||
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(0), call_site_ctxt: #0, def_site_ctxt: #0, kind: Macro(Bang, "cfg_if")
|
||||
4: parent: ExpnId(3), call_site_ctxt: #4, def_site_ctxt: #0, kind: Macro(Bang, "$crate::cfg_if")
|
||||
5: parent: ExpnId(4), call_site_ctxt: #5, def_site_ctxt: #0, kind: Macro(Bang, "$crate::cfg_if")
|
||||
6: parent: ExpnId(5), call_site_ctxt: #0, def_site_ctxt: #0, kind: Macro(Bang, "features")
|
||||
7: parent: ExpnId(2), call_site_ctxt: #6, def_site_ctxt: #0, kind: Macro(Bang, "meta_macro::print_def_site")
|
||||
8: parent: ExpnId(7), call_site_ctxt: #7, 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(6), SemiTransparent)
|
||||
#4: parent: #0, outer_mark: (ExpnId(3), SemiTransparent)
|
||||
#5: parent: #0, outer_mark: (ExpnId(4), SemiTransparent)
|
||||
#6: parent: #0, outer_mark: (ExpnId(2), SemiTransparent)
|
||||
#7: parent: #0, outer_mark: (ExpnId(7), Opaque)
|
||||
#8: parent: #6, outer_mark: (ExpnId(7), Transparent)
|
||||
#9: parent: #0, outer_mark: (ExpnId(7), SemiTransparent)
|
||||
#10: parent: #0, outer_mark: (ExpnId(8), Opaque)
|
||||
#11: parent: #7, outer_mark: (ExpnId(8), Transparent)
|
||||
#12: parent: #7, outer_mark: (ExpnId(8), SemiTransparent)
|
||||
*/
|
||||
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) }]
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
// aux-build:meta-macro.rs
|
||||
// edition:2018
|
||||
// compile-flags: -Z span-debug
|
||||
// normalize-stdout-test "#\d+" -> "#CTXT"
|
||||
// run-pass
|
||||
|
||||
extern crate meta_macro;
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Def site: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#6)
|
||||
Def site: $DIR/auxiliary/make-macro.rs:7:9: 16:10 (#CTXT)
|
||||
Input: TokenStream []
|
||||
Respanned: TokenStream []
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
// aux-build:nested-macro-rules.rs
|
||||
// aux-build:test-macros.rs
|
||||
// compile-flags: -Z span-debug
|
||||
// normalize-stdout-test "#\d+" -> "#CTXT"
|
||||
// edition:2018
|
||||
|
||||
extern crate nested_macro_rules;
|
||||
|
|
|
@ -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 (#8),
|
||||
span: $DIR/auxiliary/nested-macro-rules.rs:15:14: 15:25 (#CTXT),
|
||||
},
|
||||
],
|
||||
span: $DIR/auxiliary/nested-macro-rules.rs:9:27: 9:32 (#7),
|
||||
span: $DIR/auxiliary/nested-macro-rules.rs:9:27: 9:32 (#CTXT),
|
||||
},
|
||||
]
|
||||
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:18:38: 18:50 (#14),
|
||||
span: $DIR/nested-macro-rules.rs:19:38: 19:50 (#CTXT),
|
||||
},
|
||||
],
|
||||
span: $DIR/auxiliary/nested-macro-rules.rs:9:27: 9:32 (#13),
|
||||
span: $DIR/auxiliary/nested-macro-rules.rs:9:27: 9:32 (#CTXT),
|
||||
},
|
||||
]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// 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
|
||||
|
|
|
@ -4,7 +4,7 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||
kind: Str,
|
||||
symbol: "hi",
|
||||
suffix: None,
|
||||
span: $DIR/nodelim-groups.rs:13:42: 13:46 (#6),
|
||||
span: $DIR/nodelim-groups.rs:14:42: 14:46 (#CTXT),
|
||||
},
|
||||
Group {
|
||||
delimiter: None,
|
||||
|
@ -13,12 +13,12 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||
kind: Integer,
|
||||
symbol: "1",
|
||||
suffix: None,
|
||||
span: $DIR/nodelim-groups.rs:17:16: 17:17 (#0),
|
||||
span: $DIR/nodelim-groups.rs:18:16: 18:17 (#CTXT),
|
||||
},
|
||||
Punct {
|
||||
ch: '+',
|
||||
spacing: Alone,
|
||||
span: $DIR/nodelim-groups.rs:17:18: 17:19 (#0),
|
||||
span: $DIR/nodelim-groups.rs:18:18: 18:19 (#CTXT),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
|
@ -27,24 +27,24 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||
kind: Integer,
|
||||
symbol: "25",
|
||||
suffix: None,
|
||||
span: $DIR/nodelim-groups.rs:17:21: 17:23 (#0),
|
||||
span: $DIR/nodelim-groups.rs:18:21: 18:23 (#CTXT),
|
||||
},
|
||||
],
|
||||
span: $DIR/nodelim-groups.rs:17:20: 17:24 (#0),
|
||||
span: $DIR/nodelim-groups.rs:18:20: 18:24 (#CTXT),
|
||||
},
|
||||
Punct {
|
||||
ch: '+',
|
||||
spacing: Alone,
|
||||
span: $DIR/nodelim-groups.rs:17:25: 17:26 (#0),
|
||||
span: $DIR/nodelim-groups.rs:18:25: 18:26 (#CTXT),
|
||||
},
|
||||
Literal {
|
||||
kind: Integer,
|
||||
symbol: "1",
|
||||
suffix: None,
|
||||
span: $DIR/nodelim-groups.rs:17:27: 17:28 (#0),
|
||||
span: $DIR/nodelim-groups.rs:18:27: 18:28 (#CTXT),
|
||||
},
|
||||
],
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#6),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
|
@ -53,21 +53,21 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||
kind: Integer,
|
||||
symbol: "1",
|
||||
suffix: None,
|
||||
span: $DIR/nodelim-groups.rs:13:53: 13:54 (#6),
|
||||
span: $DIR/nodelim-groups.rs:14:53: 14:54 (#CTXT),
|
||||
},
|
||||
Punct {
|
||||
ch: '+',
|
||||
spacing: Alone,
|
||||
span: $DIR/nodelim-groups.rs:13:55: 13:56 (#6),
|
||||
span: $DIR/nodelim-groups.rs:14:55: 14:56 (#CTXT),
|
||||
},
|
||||
Literal {
|
||||
kind: Integer,
|
||||
symbol: "1",
|
||||
suffix: None,
|
||||
span: $DIR/nodelim-groups.rs:13:57: 13:58 (#6),
|
||||
span: $DIR/nodelim-groups.rs:14:57: 14:58 (#CTXT),
|
||||
},
|
||||
],
|
||||
span: $DIR/nodelim-groups.rs:13:52: 13:59 (#6),
|
||||
span: $DIR/nodelim-groups.rs:14:52: 14:59 (#CTXT),
|
||||
},
|
||||
]
|
||||
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:13:42: 13:46 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:42: 14:46 (#CTXT),
|
||||
},
|
||||
Group {
|
||||
delimiter: None,
|
||||
|
@ -86,49 +86,49 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||
kind: Str,
|
||||
symbol: "hello",
|
||||
suffix: None,
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
Punct {
|
||||
ch: '.',
|
||||
spacing: Alone,
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
Ident {
|
||||
ident: "len",
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [],
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
Punct {
|
||||
ch: '+',
|
||||
spacing: Alone,
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
Literal {
|
||||
kind: Str,
|
||||
symbol: "world",
|
||||
suffix: None,
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
Punct {
|
||||
ch: '.',
|
||||
spacing: Alone,
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
Ident {
|
||||
ident: "len",
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [],
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
],
|
||||
span: $DIR/nodelim-groups.rs:13:47: 13:51 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:47: 14:51 (#CTXT),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
|
@ -137,20 +137,20 @@ PRINT-BANG INPUT (DEBUG): TokenStream [
|
|||
kind: Integer,
|
||||
symbol: "1",
|
||||
suffix: None,
|
||||
span: $DIR/nodelim-groups.rs:13:53: 13:54 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:53: 14:54 (#CTXT),
|
||||
},
|
||||
Punct {
|
||||
ch: '+',
|
||||
spacing: Alone,
|
||||
span: $DIR/nodelim-groups.rs:13:55: 13:56 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:55: 14:56 (#CTXT),
|
||||
},
|
||||
Literal {
|
||||
kind: Integer,
|
||||
symbol: "1",
|
||||
suffix: None,
|
||||
span: $DIR/nodelim-groups.rs:13:57: 13:58 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:57: 14:58 (#CTXT),
|
||||
},
|
||||
],
|
||||
span: $DIR/nodelim-groups.rs:13:52: 13:59 (#11),
|
||||
span: $DIR/nodelim-groups.rs:14:52: 14:59 (#CTXT),
|
||||
},
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue