rust/compiler/rustc_span/src
bors 9722952f0b Auto merge of #76256 - tgnottingham:issue-74890, r=nikomatsakis
incr-comp: hash and serialize span end line/column

Hash both the length and the end location (line/column) of a span. If we
hash only the length, for example, then two otherwise equal spans with
different end locations will have the same hash. This can cause a
problem during incremental compilation wherein a previous result for a
query that depends on the end location of a span will be incorrectly
reused when the end location of the span it depends on has changed. A
similar analysis applies if some query depends specifically on the
length of the span, but we only hash the end location. So hash both.

Fix #46744, fix #59954, fix #63161, fix #73640, fix #73967, fix #74890, fix #75900

---

See #74890 for a more in-depth analysis.

I haven't thought about what other problems this root cause could be responsible for. Please let me know if anything springs to mind. I believe the issue has existed since the inception of incremental compilation.
2020-11-12 15:34:09 +00:00
..
analyze_source_file mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
source_map mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
symbol mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
analyze_source_file.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
caching_source_map_view.rs rustc_span: represent line bounds with Range 2020-10-27 15:47:29 -07:00
def_id.rs Add some docs to rustdoc::clean::inline and def_id functions 2020-10-06 09:46:00 +00:00
edition.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
fatal_error.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
hygiene.rs Show the inline stack of MIR lints that only occur after inlining 2020-10-27 14:08:07 +00:00
lib.rs Auto merge of #76256 - tgnottingham:issue-74890, r=nikomatsakis 2020-11-12 15:34:09 +00:00
source_map.rs Use RwLock instead of Lock for SourceMap::files 2020-10-29 18:09:53 +01:00
span_encoding.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
symbol.rs Add #[cfg(panic = "...")] 2020-11-09 15:30:49 +00:00
tests.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00