diff options
Diffstat (limited to 'tests/incremental/issue-85197-invalid-span/auxiliary/invalid-span-helper-mod.rs')
-rw-r--r-- | tests/incremental/issue-85197-invalid-span/auxiliary/invalid-span-helper-mod.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/incremental/issue-85197-invalid-span/auxiliary/invalid-span-helper-mod.rs b/tests/incremental/issue-85197-invalid-span/auxiliary/invalid-span-helper-mod.rs new file mode 100644 index 000000000..747174b1e --- /dev/null +++ b/tests/incremental/issue-85197-invalid-span/auxiliary/invalid-span-helper-mod.rs @@ -0,0 +1,14 @@ +#[macro_export] +macro_rules! helper { + // Use `:tt` instead of `:ident` so that we don't get a `None`-delimited group + ($first:tt) => { + pub fn foo<T>() { + // The span of `$first` comes from another file, + // so the expression `1 + $first` ends up with an + // 'invalid' span that starts and ends in different files. + // We use the `respan!` macro to give all tokens the same + // `SyntaxContext`, so that the parser will try to merge the spans. + respan::respan!(let a = 1 + $first;); + } + } +} |