Uh oh!
There was an error while loading. Please reload this page.
Change Termination::report return type to ExitCode - #93442
Conversation
rust-highfive
commented
Jan 28, 2022
(rust-highfive has picked a reviewer for you, use r? to override) |
Uh oh!
There was an error while loading. Please reload this page.
This comment has been minimized.
This comment has been minimized.
yaahc
commented
Jan 28, 2022
These test failures are unrelated to the changes in this PR: https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Spurious.20mir-opt.20segfaults.20GHA/near/269699225 |
Uh oh!
There was an error while loading. Please reload this page.
Mark-Simulacrum
commented
Jan 31, 2022
I will note that without even a PartialEq or is_success/is_failure methods, this makes the ExitCode basically useless outside unstable code modulo passing up to r=me with the one nit comment fixed and/or perf run to confirm no effects modulo it. @bors rollup=never since regardless this'll probably perturb codegen for binaries a little. |
yaahc
commented
Jan 31, 2022
Awesome, resolved the inlining issue. Going to add the partial_eq / is_success question to the ExitCode tracking issue as an unresolved question for now. @bors r=Mark-Simulacrum rollup=never |
bors
commented
Jan 31, 2022
📌 Commit 19db85d has been approved by |
bors
commented
Feb 1, 2022
bors
commented
Feb 1, 2022
☀️ Test successful - checks-actions |
rust-timer
commented
Feb 2, 2022
Finished benchmarking commit (2681f25): comparison url. Summary: This benchmark run did not return any relevant results. If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression |
Remove unnecessay .report() on ExitCode Since rust-lang#93442, the return type is `ExitCode` anyway so there's no need to do a conversion using `.report()` (which is now just a no-op).
Related to #43301
The goal of this change is to minimize the forward compatibility risks in stabilizing Termination. By using the opaque type
ExitCodeinstead of ani32we leave room for us to evolve the API over time to provide what cross-platform consistency we can / minimize footguns when working with exit codes, where as stabilizing oni32would limit what changes we could make in the future in how we represent and construct exit codes.