rust/compiler
bors de42550d0a Auto merge of #83302 - camsteffen:write-piece-unchecked, r=dtolnay
Get piece unchecked in `write`

We already use specialized `zip`, but it seems like we can do a little better by not checking `pieces` length at all.

`Arguments` constructors are now unsafe. So the `format_args!` expansion now includes an `unsafe` block.

<details>
<summary>Local Bench Diff</summary>

```text
 name                        before ns/iter  after ns/iter  diff ns/iter   diff %  speedup
 fmt::write_str_macro1       22,967          19,718               -3,249  -14.15%   x 1.16
 fmt::write_str_macro2       35,527          32,654               -2,873   -8.09%   x 1.09
 fmt::write_str_macro_debug  571,953         575,973               4,020    0.70%   x 0.99
 fmt::write_str_ref          9,579           9,459                  -120   -1.25%   x 1.01
 fmt::write_str_value        9,573           9,572                    -1   -0.01%   x 1.00
 fmt::write_u128_max         176             173                      -3   -1.70%   x 1.02
 fmt::write_u128_min         138             134                      -4   -2.90%   x 1.03
 fmt::write_u64_max          139             136                      -3   -2.16%   x 1.02
 fmt::write_u64_min          129             135                       6    4.65%   x 0.96
 fmt::write_vec_macro1       24,401          22,273               -2,128   -8.72%   x 1.10
 fmt::write_vec_macro2       37,096          35,602               -1,494   -4.03%   x 1.04
 fmt::write_vec_macro_debug  588,291         589,575               1,284    0.22%   x 1.00
 fmt::write_vec_ref          9,568           9,732                   164    1.71%   x 0.98
 fmt::write_vec_value        9,516           9,625                   109    1.15%   x 0.99
```
</details>
2021-08-23 22:55:19 +00:00
..
rustc rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_apfloat rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_arena rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_ast Fix typos “a”→“an” 2021-08-22 15:35:11 +02:00
rustc_ast_lowering Fix typos “a”→“an” 2021-08-22 15:35:11 +02:00
rustc_ast_passes Auto merge of #86860 - fee1-dead:stabilize, r=LeSeulArtichaut 2021-08-18 01:00:17 +00:00
rustc_ast_pretty Introduce hir::ExprKind::Let - Take 2 2021-08-15 16:18:26 -03:00
rustc_attr rustc: Fill out remaining parts of C-unwind ABI 2021-08-03 07:06:19 -07:00
rustc_builtin_macros Auto merge of #83302 - camsteffen:write-piece-unchecked, r=dtolnay 2021-08-23 22:55:19 +00:00
rustc_codegen_cranelift Auto merge of #88135 - crlf0710:trait_upcasting_part_3, r=nikomatsakis 2021-08-21 21:14:07 +00:00
rustc_codegen_llvm Rollup merge of #88230 - steffahn:a_an, r=oli-obk 2021-08-23 20:45:49 +02:00
rustc_codegen_ssa Fix typos “a”→“an” 2021-08-22 15:35:11 +02:00
rustc_data_structures Fix more “a”/“an” typos 2021-08-22 16:35:29 +02:00
rustc_driver Reduce verbosity of RUSTC_LOG 2021-08-09 21:39:39 -04:00
rustc_error_codes Auto merge of #88134 - rylev:force-warn-improvements, r=nikomatsakis 2021-08-21 15:51:50 +00:00
rustc_errors review comments 2021-08-23 14:31:48 +00:00
rustc_expand Introduce hir::ExprKind::Let - Take 2 2021-08-15 16:18:26 -03:00
rustc_feature Auto merge of #87570 - nikic:llvm-13, r=nagisa 2021-08-21 09:25:28 +00:00
rustc_fs_util rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_graphviz rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_hir Fix typos “an”→“a” and a few different ones that appeared in the same search 2021-08-22 18:15:49 +02:00
rustc_hir_pretty Introduce hir::ExprKind::Let - Take 2 2021-08-15 16:18:26 -03:00
rustc_incremental rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_index rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_infer Rollup merge of #88230 - steffahn:a_an, r=oli-obk 2021-08-23 20:45:49 +02:00
rustc_interface Replace #[plugin_registrar] with exporting __rustc_plugin_registrar 2021-08-10 14:20:48 +02:00
rustc_lexer Fix more “a”/“an” typos 2021-08-22 17:27:18 +02:00
rustc_lint Rollup merge of #88230 - steffahn:a_an, r=oli-obk 2021-08-23 20:45:49 +02:00
rustc_lint_defs Rollup merge of #88230 - steffahn:a_an, r=oli-obk 2021-08-23 20:45:49 +02:00
rustc_llvm Rollup merge of #88164 - durin42:llvm-14-san-opts, r=nikic 2021-08-22 20:52:53 +02:00
rustc_macros Rollup merge of #86123 - Aaron1011:query-span, r=cjgillot 2021-08-19 19:30:04 +02:00
rustc_metadata Fix typos “an”→“a” and a few different ones that appeared in the same search 2021-08-22 18:15:49 +02:00
rustc_middle Rollup merge of #88230 - steffahn:a_an, r=oli-obk 2021-08-23 20:45:49 +02:00
rustc_mir Fix typos “an”→“a” and a few different ones that appeared in the same search 2021-08-22 18:15:49 +02:00
rustc_mir_build Fix typos “an”→“a” and a few different ones that appeared in the same search 2021-08-22 18:15:49 +02:00
rustc_parse Fix more “a”/“an” typos 2021-08-22 17:27:18 +02:00
rustc_parse_format rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_passes Rollup merge of #88036 - nbdd0121:const3, r=petrochenkov 2021-08-18 19:54:59 +02:00
rustc_plugin_impl Replace #[plugin_registrar] with exporting __rustc_plugin_registrar 2021-08-10 14:20:48 +02:00
rustc_privacy Fix typos “a”→“an” 2021-08-22 15:35:11 +02:00
rustc_query_impl Fold vtable_trait_upcasting_coercion_new_vptr_slot logic into obligation processing. 2021-08-18 13:00:27 +08:00
rustc_query_system Prevent double panic when handling incremental fingerprint mismatch 2021-08-12 15:11:39 -05:00
rustc_resolve Rollup merge of #88232 - m-ou-se:macro-name-imported-but-not-macro, r=estebank 2021-08-23 20:45:50 +02:00
rustc_save_analysis Include (potentially remapped) working dir in crate hash 2021-08-15 15:17:37 -05:00
rustc_serialize Fix more “a”/“an” typos 2021-08-22 16:35:29 +02:00
rustc_session Do not mark -Z thir-unsafeck as unsound anymore 2021-08-23 14:52:42 +02:00
rustc_span Fix typos “an”→“a” and a few different ones that appeared in the same search 2021-08-22 18:15:49 +02:00
rustc_symbol_mangling Auto merge of #85296 - bjorn3:plugin_cleanup, r=petrochenkov 2021-08-12 04:30:41 +00:00
rustc_target Rollup merge of #88230 - steffahn:a_an, r=oli-obk 2021-08-23 20:45:49 +02:00
rustc_trait_selection Rollup merge of #88230 - steffahn:a_an, r=oli-obk 2021-08-23 20:45:49 +02:00
rustc_traits Fix typos “a”→“an” 2021-08-22 15:35:11 +02:00
rustc_ty_utils Fix typos “a”→“an” 2021-08-22 15:35:11 +02:00
rustc_type_ir rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_typeck Auto merge of #88265 - m-ou-se:rollup-soymv20, r=m-ou-se 2021-08-23 20:10:29 +00:00