Move std::io::Write to core::io#158541
Conversation
|
r? @Darksonn rustbot has assigned @Darksonn. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
@rustbot blocked |
22e4295 to
802f7d5
Compare
ec21a69 to
c806329
Compare
This comment has been minimized.
This comment has been minimized.
c806329 to
a4969f5
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
a4969f5 to
9dc5fd5
Compare
This comment has been minimized.
This comment has been minimized.
|
@rustbot ready |
|
r? clarfonthey |
…rfonthey Move `std::io::Write` to `core::io` ACP: rust-lang/libs-team#755 Tracking issue: rust-lang#154046 Split From: rust-lang#156527 ~~Blocked On: rust-lang#158537 ~~Blocked On: rust-lang#158540 ## Description Moves `std::io::Write` to `core::io`. This is effectively a direct cut and paste, but with a large diff due to how many implementations need to be moved into `alloc` and `core`. Blocked on rust-lang#158537 and rust-lang#158540. --- ## Notes * No AI tooling of any kind was used during the creation of this PR. * Please see rust-lang#154046 (comment) for a review order and broader context for this PR.
…rfonthey Move `std::io::Write` to `core::io` ACP: rust-lang/libs-team#755 Tracking issue: rust-lang#154046 Split From: rust-lang#156527 ~~Blocked On: rust-lang#158537 ~~Blocked On: rust-lang#158540 ## Description Moves `std::io::Write` to `core::io`. This is effectively a direct cut and paste, but with a large diff due to how many implementations need to be moved into `alloc` and `core`. Blocked on rust-lang#158537 and rust-lang#158540. --- ## Notes * No AI tooling of any kind was used during the creation of this PR. * Please see rust-lang#154046 (comment) for a review order and broader context for this PR.
…uwer Rollup of 21 pull requests Successful merges: - #150946 (intrinsics: Add a fallback for non-const libm float functions) - #158510 (Enable `static_position_independent_executables` on all gnu and musl targets) - #158541 (Move `std::io::Write` to `core::io`) - #158899 (Fix `unaligned_volatile_store` by removing `MemFlags::UNALIGNED`) - #155429 (Support `u128`/`i128` c-variadic arguments) - #156370 (Reject linked dylib EII default overrides) - #156508 (Infer all anonymous lifetimes in assoc consts as `'static`) - #158617 (allow mGCA const arguments to fall back to anon consts) - #158645 (Fix splat ICEs and ban it in closures) - #158859 (Improve `-Zls` diagnostic message on `.rs` files) - #158988 (Redo `TokenStreamIter`) - #158347 (Improve generic parameters handling for #[diagnostic::on_const]) - #158722 (delegation: do not always inherit `ConstArgHasType` predicates) - #158739 (view-types: HIR lowering) - #158883 (tests: fix enum-match.rs to handle LLVM 23) - #158886 (Add documentation for the `no_std` attribute) - #158940 (Implement feature `char_to_u32`) - #158951 (Merge three `MaxUniverse`s into one) - #158961 (Reapply "LLVM 23: Run AssignGUIDPass in some places") - #158996 ([compiler] Implement `PartialOrd` via `Ord` for `Span` and newtype_indexes) - #159005 (Use `as_lang_item` instead of repeatedly matching)
…rfonthey Move `std::io::Write` to `core::io` ACP: rust-lang/libs-team#755 Tracking issue: rust-lang#154046 Split From: rust-lang#156527 ~~Blocked On: rust-lang#158537 ~~Blocked On: rust-lang#158540 ## Description Moves `std::io::Write` to `core::io`. This is effectively a direct cut and paste, but with a large diff due to how many implementations need to be moved into `alloc` and `core`. Blocked on rust-lang#158537 and rust-lang#158540. --- ## Notes * No AI tooling of any kind was used during the creation of this PR. * Please see rust-lang#154046 (comment) for a review order and broader context for this PR.
…uwer Rollup of 24 pull requests Successful merges: - #150946 (intrinsics: Add a fallback for non-const libm float functions) - #158510 (Enable `static_position_independent_executables` on all gnu and musl targets) - #158541 (Move `std::io::Write` to `core::io`) - #158899 (Fix `unaligned_volatile_store` by removing `MemFlags::UNALIGNED`) - #156027 (Consider captured regions for opaque type region liveness.) - #156370 (Reject linked dylib EII default overrides) - #156508 (Infer all anonymous lifetimes in assoc consts as `'static`) - #157561 (rustdoc: do not include extra stuff in span) - #158617 (allow mGCA const arguments to fall back to anon consts) - #158645 (Fix splat ICEs and ban it in closures) - #158859 (Improve `-Zls` diagnostic message on `.rs` files) - #158988 (Redo `TokenStreamIter`) - #158347 (Improve generic parameters handling for #[diagnostic::on_const]) - #158384 (Allow BackwardIncompatibleDropHint in polonius legacy) - #158722 (delegation: do not always inherit `ConstArgHasType` predicates) - #158739 (view-types: HIR lowering) - #158877 (borrowck: Keep returned `path` from `best_blame_constraint()` consistent) - #158883 (tests: fix enum-match.rs to handle LLVM 23) - #158886 (Add documentation for the `no_std` attribute) - #158940 (Implement feature `char_to_u32`) - #158951 (Merge three `MaxUniverse`s into one) - #158961 (Reapply "LLVM 23: Run AssignGUIDPass in some places") - #158995 (Use REST API in linkchecker script) - #158996 ([compiler] Implement `PartialOrd` via `Ord` for `Span` and newtype_indexes)
…rfonthey Move `std::io::Write` to `core::io` ACP: rust-lang/libs-team#755 Tracking issue: rust-lang#154046 Split From: rust-lang#156527 ~~Blocked On: rust-lang#158537 ~~Blocked On: rust-lang#158540 ## Description Moves `std::io::Write` to `core::io`. This is effectively a direct cut and paste, but with a large diff due to how many implementations need to be moved into `alloc` and `core`. Blocked on rust-lang#158537 and rust-lang#158540. --- ## Notes * No AI tooling of any kind was used during the creation of this PR. * Please see rust-lang#154046 (comment) for a review order and broader context for this PR.
Rollup of 24 pull requests Successful merges: - #150946 (intrinsics: Add a fallback for non-const libm float functions) - #158541 (Move `std::io::Write` to `core::io`) - #156027 (Consider captured regions for opaque type region liveness.) - #156370 (Reject linked dylib EII default overrides) - #156508 (Infer all anonymous lifetimes in assoc consts as `'static`) - #157561 (rustdoc: do not include extra stuff in span) - #158617 (allow mGCA const arguments to fall back to anon consts) - #158645 (Fix splat ICEs and ban it in closures) - #158859 (Improve `-Zls` diagnostic message on `.rs` files) - #158988 (Redo `TokenStreamIter`) - #158347 (Improve generic parameters handling for #[diagnostic::on_const]) - #158384 (Allow BackwardIncompatibleDropHint in polonius legacy) - #158722 (delegation: do not always inherit `ConstArgHasType` predicates) - #158739 (view-types: HIR lowering) - #158877 (borrowck: Keep returned `path` from `best_blame_constraint()` consistent) - #158883 (tests: fix enum-match.rs to handle LLVM 23) - #158886 (Add documentation for the `no_std` attribute) - #158940 (Implement feature `char_to_u32`) - #158951 (Merge three `MaxUniverse`s into one) - #158960 (Fix bootstrap submodule path prefix matching) - #158961 (Reapply "LLVM 23: Run AssignGUIDPass in some places") - #158995 (Use REST API in linkchecker script) - #158996 ([compiler] Implement `PartialOrd` via `Ord` for `Span` and newtype_indexes) - #159036 (bootstrap: expand '@argfile' arguments to rustc shim)
Rollup merge of #158541 - bushrat011899:core_io_write, r=clarfonthey Move `std::io::Write` to `core::io` ACP: rust-lang/libs-team#755 Tracking issue: #154046 Split From: #156527 ~~Blocked On: #158537 ~~Blocked On: #158540 ## Description Moves `std::io::Write` to `core::io`. This is effectively a direct cut and paste, but with a large diff due to how many implementations need to be moved into `alloc` and `core`. Blocked on #158537 and #158540. --- ## Notes * No AI tooling of any kind was used during the creation of this PR. * Please see #154046 (comment) for a review order and broader context for this PR.
|
@rust-timer build 0ffdcdb |
|
Missing artifact for sha |
|
@rust-timer build 0ffdcdb |
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (0ffdcdb): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf. Next, please: If you can, justify the regressions found in this try perf run in writing along with @bors rollup=never rustc-perf 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 -1.0%, secondary 0.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -3.2%, secondary -4.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.2%, secondary 0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 490.768s -> 490.566s (-0.04%) |
|
Regressions seem real |
|
@JonathanBrouwer interesting! This PR only moves 1 trait, a handful of private functions, and said trait's |
|
Entirely possible that there are just some functions that should have been marked inline but weren't. |
|
Not sure how perf triage likes to handle this, but I was planning to block merging further I mention inlining since it's an obvious cross-crate thing that might apply here, but I don't actually know the cause and haven't properly looked. |
|
It would be nice if you could look into the regressions before continuing so we can at least understand where they come from. They're relatively small though so if they're discovered not to be solvable they shouldn't block progress imo |
|
To be clear, "not regress" here mostly means that if it turns out to be a very weird rabbit hole that we can't fix, we can just let it be, but if it gets fixed by tweaking a few inline attributes or rearranging some code, we should definitely make those fixes first. |
View all comments
ACP: rust-lang/libs-team#755
Tracking issue: #154046
Split From: #156527
Blocked On: #158537Blocked On: #158540Description
Moves
std::io::Writetocore::io. This is effectively a direct cut and paste, but with a large diff due to how many implementations need to be moved intoallocandcore. Blocked on #158537 and #158540.Notes
alloc::ioandcore::io#154046 (comment) for a review order and broader context for this PR.