mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
Add a test case with $crate
from other crate
This commit is contained in:
parent
3997507786
commit
4cb67c0f1c
@ -14,3 +14,9 @@ macro_rules! external {
|
||||
struct D($crate::S);
|
||||
};
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! issue_62325 { () => {
|
||||
#[print_attr]
|
||||
struct B(identity!($crate::S));
|
||||
}}
|
||||
|
@ -1,6 +1,7 @@
|
||||
// check-pass
|
||||
// edition:2018
|
||||
// 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)"
|
||||
@ -10,6 +11,7 @@
|
||||
|
||||
#[macro_use]
|
||||
extern crate test_macros;
|
||||
extern crate dollar_crate_external;
|
||||
|
||||
type S = u8;
|
||||
|
||||
@ -20,4 +22,6 @@ macro_rules! m { () => {
|
||||
|
||||
m!();
|
||||
|
||||
dollar_crate_external::issue_62325!();
|
||||
|
||||
fn main() {}
|
||||
|
@ -54,3 +54,59 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
span: #2 bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
PRINT-ATTR INPUT (DISPLAY): struct B(identity!(::dollar_crate_external :: S));
|
||||
PRINT-ATTR RE-COLLECTED (DISPLAY): struct B ( identity ! ( ::dollar_crate_external :: S ) ) ;
|
||||
PRINT-ATTR INPUT (DEBUG): TokenStream [
|
||||
Ident {
|
||||
ident: "struct",
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "B",
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "identity",
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: '!',
|
||||
spacing: Alone,
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
Group {
|
||||
delimiter: Parenthesis,
|
||||
stream: TokenStream [
|
||||
Ident {
|
||||
ident: "$crate",
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Joint,
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ':',
|
||||
spacing: Alone,
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
Ident {
|
||||
ident: "S",
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
],
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
Punct {
|
||||
ch: ';',
|
||||
spacing: Alone,
|
||||
span: #7 bytes(LO..HI),
|
||||
},
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user