rust/library
许杰友 Jieyou Xu (Joe) 1b9b515674
Rollup merge of #136662 - thaliaarchi:formatter-pad-char-count, r=m-ou-se
Count char width at most once in `Formatter::pad`

When both width and precision flags are specified, then `Formatter::pad` counts the character width twice. Instead, record the character width when truncating it to the precision, so it does not need to be recomputed. Simplify control flow so the cases are more clear.

Related:
- 6c9e708f4b (`fmt::Formatter::pad`: don't call chars().count() more than one time, 2021-09-01): Reduce counting chars from thrice to twice in worst case
- ede39aeb33 (feat: reinterpret `precision` field for strings, 2016-06-29): Change meaning of precision for strings
- b820748ff5 (Implement formatting arguments for strings and integers, 2013-08-10): Implement `Formatter::pad`
2025-03-05 21:46:33 +08:00
..
alloc Auto merge of #138031 - workingjubilee:rollup-5bsotpz, r=workingjubilee 2025-03-05 06:59:11 +00:00
backtrace@9d2c34e7e6 Update backtrace 2025-02-13 14:32:50 -08:00
core Rollup merge of #136662 - thaliaarchi:formatter-pad-char-count, r=m-ou-se 2025-03-05 21:46:33 +08:00
coretests Rollup merge of #134063 - tgross35:dec2flt-refactoring, r=Noratrieb 2025-03-05 21:46:31 +08:00
panic_abort panic_abort: Apply unsafe_op_in_unsafe_fn 2025-02-14 07:36:17 -08:00
panic_unwind update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
portable-simd Remove ignored #[must_use] attributes from portable-simd 2025-02-12 13:59:22 +01:00
proc_macro proc_macro: Apply unsafe_op_in_unsafe_fn 2025-02-14 07:36:17 -08:00
profiler_builtins compiler & tools dependencies: 2024-12-17 17:41:00 +00:00
rtstartup Mark extern blocks as unsafe 2025-02-09 17:11:13 +00:00
rustc-std-workspace-alloc
rustc-std-workspace-core update rustc-std-workspace crates 2024-11-04 07:45:15 +01:00
rustc-std-workspace-std
std Auto merge of #138031 - workingjubilee:rollup-5bsotpz, r=workingjubilee 2025-03-05 06:59:11 +00:00
stdarch@684de0d6fe Bump stdarch 2024-12-24 19:00:57 +01:00
sysroot Rollup merge of #135501 - tgross35:stdlib-dependencies-private, r=bjorn3 2025-02-23 00:16:18 +01:00
test Use correct error message casing for io::const_errors 2025-02-28 17:50:38 +01:00
unwind update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
windows_targets Mark extern blocks as unsafe 2025-02-09 17:11:13 +00:00
Cargo.lock Update compiler-builtins to 0.1.150 2025-03-01 20:02:51 +00:00
Cargo.toml Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00