-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
don't normalize where-clauses when checking well-formedness #148477
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@bors try |
This comment has been minimized.
This comment has been minimized.
crater: don't normalize where-clauses when checking well-formedness
|
@craterbot check |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🎉 Experiment
Footnotes
|
|
☔ The latest upstream changes (presumably #139558) made this pull request unmergeable. Please resolve the merge conflicts. |
|
Affected projects: 2 dependencies of
|
|
I think we should also stop normalizing in rust/compiler/rustc_hir_analysis/src/check/wfcheck.rs Lines 1154 to 1163 in a7b3715
|
|
And probably these
|
This comment has been minimized.
This comment has been minimized.
|
wrt to normalizing obligations for default params before proving them 😅 we do need to normalize obligations before proving them in the old solver and this already doesn't normalize
rust/compiler/rustc_middle/src/ty/predicate.rs Lines 125 to 127 in 5dbf406
The only "issue" is when normalizing obligations (or types - which we currently sometimes do intentionally because of implied bounds stuff) before checking that the obligation is well-formed, and this only happens before calling |
|
@bors try |
This comment has been minimized.
This comment has been minimized.
crater: don't normalize where-clauses when checking well-formedness
|
@craterbot check |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
This comment was marked as resolved.
This comment was marked as resolved.
|
🎉 Experiment
Footnotes
|
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
|
🎉 Experiment
Footnotes
|
The same 3 regressions were in the new runs above, and the spurious results are down to 32. |
|
@bors r=lcnr,BoxyUwU |
|
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing c4dc70e (parent) -> 2a3a62d (this PR) Test differencesShow 6 test diffsStage 1
Stage 2
Additionally, 3 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 2a3a62d26e9e5badb806ac6a43bb307ff472b514 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (2a3a62d): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary 0.2%, secondary 0.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 5.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.0%, secondary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 473.76s -> 472.42s (-0.28%) |
WfCheck checks where-clauses after normalization, and we'd like to see what would break if it didn't for rust-lang/trait-system-refactor-initiative#255
r? ghost