Skip to content

Conversation

compiler-errors
Copy link
Member

@compiler-errors compiler-errors commented Jun 17, 2025

First compute hard errors without diagnostics, then ambiguities with diagnostics since we need to know if any of them overflowed.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jun 17, 2025
@compiler-errors
Copy link
Member Author

@bors2 try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors
Copy link

rust-bors bot commented Jun 17, 2025

⌛ Trying commit 15a8f83 with merge f6e2337

To cancel the try build, run the command @bors2 try cancel.

rust-bors bot added a commit that referenced this pull request Jun 17, 2025
[perf] Compute hard errors without diagnostics in impl_intersection_has_impossible_obligation
@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jun 17, 2025
@rust-bors
Copy link

rust-bors bot commented Jun 18, 2025

☀️ Try build successful (CI)
Build commit: f6e2337 (f6e233705a1a56780a1d4f57fb6b14373f60468c, parent: f3db63916e541ff039ac3cd7364c2d612749b61b)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (f6e2337): comparison URL.

Overall result: ✅ improvements - no action needed

Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.

@bors rollup=never
@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.4% [-1.4%, -1.4%] 1
Improvements ✅
(secondary)
-1.4% [-1.4%, -1.4%] 1
All ❌✅ (primary) -1.4% [-1.4%, -1.4%] 1

Max RSS (memory usage)

This benchmark run did not return any relevant results for this metric.

Cycles

Results (secondary -4.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.0% [-4.0%, -4.0%] 1
All ❌✅ (primary) - - 0

Binary size

Results (secondary 0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.0% [0.0%, 0.0%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Bootstrap: 692.654s -> 692.684s (0.00%)
Artifact size: 372.15 MiB -> 372.15 MiB (-0.00%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jun 18, 2025
@compiler-errors
Copy link
Member Author

I think it's still worth landing 👍 could be worse in pathological cases.

@compiler-errors compiler-errors marked this pull request as ready for review June 20, 2025 19:09
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 20, 2025
@rustbot
Copy link
Collaborator

rustbot commented Jun 20, 2025

This PR changes a file inside tests/crashes. If a crash was fixed, please move into the corresponding ui subdir and add 'Fixes #' to the PR description to autoclose the issue upon merge.

@@ -1,6 +0,0 @@
//@ known-bug: #139905
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coincidentally fixes this error. I'll put up a correct fix.


// Make a new `ObligationCtxt` and re-prove the ambiguities with a richer
// `FulfillmentError`. This is so that we can detect overflowing obligations
// without needing to run the `BestBestObligation` visitor on true errors.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// without needing to run the `BestBestObligation` visitor on true errors.
// without needing to run the `BestObligation` visitor on true errors.

@lcnr
Copy link
Contributor

lcnr commented Jun 22, 2025

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Jun 22, 2025

📌 Commit 15a8f83 has been approved by lcnr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 22, 2025
@lcnr
Copy link
Contributor

lcnr commented Jun 22, 2025

@bors rollup=never

@compiler-errors
Copy link
Member Author

meow ill fix it when im back from the beach :3 ty for the review

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jun 22, 2025
@compiler-errors compiler-errors force-pushed the less-work-in-coherence branch from 15a8f83 to 8304435 Compare June 25, 2025 15:32
@compiler-errors
Copy link
Member Author

@bors r=lcnr rollup

@bors
Copy link
Collaborator

bors commented Jun 25, 2025

📌 Commit 8304435 has been approved by lcnr

It is now in the queue for this repository.

@bors bors removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jun 25, 2025
@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jun 25, 2025
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Jun 26, 2025
…ence, r=lcnr

[perf] Compute hard errors without diagnostics in impl_intersection_has_impossible_obligation

First compute hard errors without diagnostics, then ambiguities with diagnostics since we need to know if any of them overflowed.
bors added a commit that referenced this pull request Jun 26, 2025
Rollup of 17 pull requests

Successful merges:

 - #124595 (Suggest cloning `Arc` moved into closure)
 - #139594 (Simplify `ObligationCauseCode::IfExpression`)
 - #141311 (make `tidy-alphabetical` use a natural sort)
 - #141648 ([rustdoc] Do not emit redundant_explicit_links lint if the doc comment comes from expansion)
 - #142255 (Add edition checks for some tests that had divergent output)
 - #142285 (tests: Do not run afoul of asm.validity.non-exhaustive in input-stats)
 - #142549 (small iter.intersperse.fold() optimization)
 - #142637 (Remove some glob imports from the type system)
 - #142647 ([perf] Compute hard errors without diagnostics in impl_intersection_has_impossible_obligation)
 - #142700 (Remove incorrect comments in `Weak`)
 - #142884 (StableMIR: Add method to retrieve body of coroutine)
 - #142925 (Rewrite `.gitattributes` CRLF ui tests into run-make tests)
 - #143001 (Rename run always )
 - #143010 (Update `browser-ui-test` version to `0.20.7`)
 - #143015 (Add `sym::macro_pin` diagnostic item for `core::pin::pin!()`)
 - #143020 (codegen_fn_attrs: make comment more precise)
 - #143033 (Expand const-stabilized API links in relnotes)

r? `@ghost`
`@rustbot` modify labels: rollup
compiler-errors added a commit to compiler-errors/rust that referenced this pull request Jun 26, 2025
…ence, r=lcnr

[perf] Compute hard errors without diagnostics in impl_intersection_has_impossible_obligation

First compute hard errors without diagnostics, then ambiguities with diagnostics since we need to know if any of them overflowed.
bors added a commit that referenced this pull request Jun 27, 2025
…rors

Rollup of 18 pull requests

Successful merges:

 - #137843 (make RefCell unstably const)
 - #140942 (const-eval: allow constants to refer to mutable/external memory, but reject such constants as patterns)
 - #142549 (small iter.intersperse.fold() optimization)
 - #142637 (Remove some glob imports from the type system)
 - #142647 ([perf] Compute hard errors without diagnostics in impl_intersection_has_impossible_obligation)
 - #142700 (Remove incorrect comments in `Weak`)
 - #142927 (Add note to `find_const_ty_from_env`)
 - #142967 (Fix RwLock::try_write documentation for WouldBlock condition)
 - #142986 (Port `#[export_name]` to the new attribute parsing infrastructure)
 - #143001 (Rename run always )
 - #143010 (Update `browser-ui-test` version to `0.20.7`)
 - #143015 (Add `sym::macro_pin` diagnostic item for `core::pin::pin!()`)
 - #143033 (Expand const-stabilized API links in relnotes)
 - #143041 (Remove cache for citool)
 - #143056 (Move an ACE test out of the GCI directory)
 - #143059 (Fix 1.88 relnotes)
 - #143067 (Tracking issue number for `iter_macro`)
 - #143073 (Fix some fixmes that were waiting for let chains)

Failed merges:

 - #143020 (codegen_fn_attrs: make comment more precise)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 25e239c into rust-lang:master Jun 27, 2025
10 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jun 27, 2025
rust-timer added a commit that referenced this pull request Jun 27, 2025
Rollup merge of #142647 - compiler-errors:less-work-in-coherence, r=lcnr

[perf] Compute hard errors without diagnostics in impl_intersection_has_impossible_obligation

First compute hard errors without diagnostics, then ambiguities with diagnostics since we need to know if any of them overflowed.
@lcnr lcnr changed the title [perf] Compute hard errors without diagnostics in impl_intersection_has_impossible_obligation Compute hard errors without diagnostics in impl_intersection_has_impossible_obligation Jun 27, 2025
github-actions bot pushed a commit to model-checking/verify-rust-std that referenced this pull request Jul 4, 2025
…mpiler-errors

Rollup of 18 pull requests

Successful merges:

 - rust-lang#137843 (make RefCell unstably const)
 - rust-lang#140942 (const-eval: allow constants to refer to mutable/external memory, but reject such constants as patterns)
 - rust-lang#142549 (small iter.intersperse.fold() optimization)
 - rust-lang#142637 (Remove some glob imports from the type system)
 - rust-lang#142647 ([perf] Compute hard errors without diagnostics in impl_intersection_has_impossible_obligation)
 - rust-lang#142700 (Remove incorrect comments in `Weak`)
 - rust-lang#142927 (Add note to `find_const_ty_from_env`)
 - rust-lang#142967 (Fix RwLock::try_write documentation for WouldBlock condition)
 - rust-lang#142986 (Port `#[export_name]` to the new attribute parsing infrastructure)
 - rust-lang#143001 (Rename run always )
 - rust-lang#143010 (Update `browser-ui-test` version to `0.20.7`)
 - rust-lang#143015 (Add `sym::macro_pin` diagnostic item for `core::pin::pin!()`)
 - rust-lang#143033 (Expand const-stabilized API links in relnotes)
 - rust-lang#143041 (Remove cache for citool)
 - rust-lang#143056 (Move an ACE test out of the GCI directory)
 - rust-lang#143059 (Fix 1.88 relnotes)
 - rust-lang#143067 (Tracking issue number for `iter_macro`)
 - rust-lang#143073 (Fix some fixmes that were waiting for let chains)

Failed merges:

 - rust-lang#143020 (codegen_fn_attrs: make comment more precise)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants