Use ErrorGuaranteed::unchecked_claim_error_was_emitted less#104554
Use ErrorGuaranteed::unchecked_claim_error_was_emitted less#104554bors merged 7 commits intorust-lang:masterfrom
ErrorGuaranteed::unchecked_claim_error_was_emitted less#104554Conversation
|
r? @TaKO8Ki (rustbot has picked a reviewer for you, use r? to override) |
eddyb
left a comment
There was a problem hiding this comment.
Thanks a lot! This is very nice, just had some nitpicking (and a potentially scary pre-existing incremental unsoundness?).
There was a problem hiding this comment.
Oh dear, this is causally flawed... nowadays we can have multiple InferCtxts alive at the same time (for different query instances on the stack, that depend on eachother).
The delay_span_bug should never cause an issue here but... err_count_on_creation could cause incremental unsoundness due to errors produced elsewhere in the system.
At the very least this kind of thing needs far more clever logic to save/restore counts/deltas when entering/exiting InferCtxts and I'm not even sure it's worth it... (cc @jackh726 @nikomatsakis).
There was a problem hiding this comment.
i thought we don't cache anything on disc if there are any errors during this compilation session? 🤔
|
r? @eddyb 😸 |
0b9224f to
5db72a4
Compare
src/test/ui/issues/issue-52262.rs
Outdated
714fb1e to
df3625f
Compare
|
@bors r+ rollup |
|
📌 Commit 72d1c77025b949548207dd264b6b95e3ae6ed071 has been approved by It is now in the queue for this repository. |
|
@bors r- waiting for ci |
72d1c77 to
d80a9a2
Compare
|
@bors r=lcnr |
|
📌 Commit d80a9a2f887fcdc50d46589ce10a128e8ef1c8db has been approved by It is now in the queue for this repository. |
b6ba1e0 to
c712ed1
Compare
c712ed1 to
45a09a4
Compare
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#101162 (Migrate rustc_resolve to use SessionDiagnostic, part # 1) - rust-lang#103386 (Don't allow `CoerceUnsized` into `dyn*` (except for trait upcasting)) - rust-lang#103405 (Detect incorrect chaining of if and if let conditions and recover) - rust-lang#103594 (Fix non-associativity of `Instant` math on `aarch64-apple-darwin` targets) - rust-lang#104006 (Add variant_name function to `LangItem`) - rust-lang#104494 (Migrate GUI test to use functions) - rust-lang#104516 (rustdoc: clean up sidebar width CSS) - rust-lang#104550 (fix a typo) Failed merges: - rust-lang#104554 (Use `ErrorGuaranteed::unchecked_claim_error_was_emitted` less) r? `@ghost` `@rustbot` modify labels: rollup
|
@bors r=lcnr |
Use `ErrorGuaranteed::unchecked_claim_error_was_emitted` less there are only like 3 or 4 call sites left after this but it wasnt obvious to me how to remove them
Rollup of 8 pull requests Successful merges: - rust-lang#104001 (Improve generating Custom entry function) - rust-lang#104411 (nll: correctly deal with bivariance) - rust-lang#104528 (Properly link `{Once,Lazy}{Cell,Lock}` in docs) - rust-lang#104553 (Improve accuracy of asinh and acosh) - rust-lang#104554 (Use `ErrorGuaranteed::unchecked_claim_error_was_emitted` less) - rust-lang#104566 (couple of clippy::perf fixes) - rust-lang#104575 (deduplicate tests) - rust-lang#104580 (diagnostics: only show one suggestion for method -> assoc fn) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#101162 (Migrate rustc_resolve to use SessionDiagnostic, part # 1) - rust-lang#103386 (Don't allow `CoerceUnsized` into `dyn*` (except for trait upcasting)) - rust-lang#103405 (Detect incorrect chaining of if and if let conditions and recover) - rust-lang#103594 (Fix non-associativity of `Instant` math on `aarch64-apple-darwin` targets) - rust-lang#104006 (Add variant_name function to `LangItem`) - rust-lang#104494 (Migrate GUI test to use functions) - rust-lang#104516 (rustdoc: clean up sidebar width CSS) - rust-lang#104550 (fix a typo) Failed merges: - rust-lang#104554 (Use `ErrorGuaranteed::unchecked_claim_error_was_emitted` less) r? `@ghost` `@rustbot` modify labels: rollup
there are only like 3 or 4 call sites left after this but it wasnt obvious to me how to remove them