diff options
| author | Aaron Hill <aa1ronham@gmail.com> | 2021-01-03 10:09:32 -0500 |
|---|---|---|
| committer | Aaron Hill <aa1ronham@gmail.com> | 2021-01-13 15:20:29 -0500 |
| commit | 482a67d20f3c7059c33368df424f781585ead7cc (patch) | |
| tree | 18062afb585364430c33ada59740403a208a3198 /src/test/incremental | |
| parent | fd2df74902fa98bcb71f85fd548c3eb399e6a96a (diff) | |
| download | rust-482a67d20f3c7059c33368df424f781585ead7cc.tar.gz rust-482a67d20f3c7059c33368df424f781585ead7cc.zip | |
Properly handle `SyntaxContext` of dummy spans in incr comp
Fixes #80336 Due to macro expansion, we may end up with spans with an invalid location and non-root `SyntaxContext`. This commits preserves the `SyntaxContext` of such spans in the incremental cache, and ensures that we always hash the `SyntaxContext` when computing the `Fingerprint` of a `Span` Previously, we would discard the `SyntaxContext` during serialization to the incremental cache, causing the span's `Fingerprint` to change across compilation sessions.
Diffstat (limited to 'src/test/incremental')
| -rw-r--r-- | src/test/incremental/issue-80336-invalid-span.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/test/incremental/issue-80336-invalid-span.rs b/src/test/incremental/issue-80336-invalid-span.rs new file mode 100644 index 00000000000..7757d915911 --- /dev/null +++ b/src/test/incremental/issue-80336-invalid-span.rs @@ -0,0 +1,10 @@ +// Regression test for issue #80336 +// Test that we properly handle encoding, decoding, and hashing +// of spans with an invalid location and non-root `SyntaxContext` + +// revisions:rpass1 rpass2 +// only-x86_64 + +pub fn main() { + let _ = is_x86_feature_detected!("avx2"); +} |
