-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Remove the witness type from coroutine *args* (without actually removing the type) #144458
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
Some changes occurred to the core trait solver cc @rust-lang/initiative-trait-system-refactor |
2bf9c66
to
7209b8e
Compare
This comment has been minimized.
This comment has been minimized.
7209b8e
to
8756bdc
Compare
if self.reveal_coroutine_witnesses { | ||
queue_type(self, args.as_coroutine().witness()); | ||
ty::Coroutine(def_id, args) => { | ||
if self.exhaustive { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add the FIXME to exhaustive
again
r=me after nit |
8756bdc
to
e976578
Compare
@bors r=lcnr rollup=never |
Remove the witness type from coroutine *args* (without actually removing the type) This does as much of #144157 as we can without having to break #143545 and/or introduce some better way of handling higher ranked assumptions. Namely, it: * Stalls coroutines based off of the *coroutine* type rather than the witness type. * Reworks the dtorck constraint hack to not rely on the witness type. * Removes the witness type from the args of the coroutine, eagerly creating the type for nested obligations when needed (auto/clone impls). I'll experiment with actually removing the witness type in a follow-up. r? lcnr
💥 Test timed out |
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot)
|
@bors retry |
☀️ 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 4b55fe1 (parent) -> 63f6845 (this PR) Test differencesShow 18 test diffs18 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 63f6845e570305a92eaf855897768617366164d6 --output-dir test-dashboard And 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 (63f6845): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 2.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.8%, secondary 2.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.0%, secondary -0.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 467.125s -> 468.385s (0.27%) |
This does as much of #144157 as we can without having to break #143545 and/or introduce some better way of handling higher ranked assumptions.
Namely, it:
I'll experiment with actually removing the witness type in a follow-up.
r? lcnr