rust/compiler
Stuart Cook 69f0a498ba
Rollup merge of #151103 - array-pat-len, r=Nadrieril,petrochenkov
mir_build: Simplify length-determination and indexing for array/slice patterns

The existing length-determination code in `prefix_slice_suffix` has ended up overly complicated, partly because it doesn't know in advance whether the pattern is supposed to be an array pattern or a slice pattern.

Pulling most of that step out into the `PatKind::Array` arm makes the whole thing a bit nicer overall.

There should (hopefully) be no change to compiler output. The biggest “functional” change is that we now discard the subpatterns of an array pattern of unknowable length, instead of treating it as a slice pattern. I'm not aware of any way for this to make an observable difference, and it can only occur when compilation is already doomed to fail.
2026-01-15 21:39:03 +11:00
..
rustc Auto merge of #148925 - madsmtm:jemalloc-perf, r=Kobzol 2025-11-23 20:34:07 +00:00
rustc_abi Rollup merge of #149991 - Flakebi:gpu-kernel-cc, r=workingjubilee 2026-01-02 23:13:21 +01:00
rustc_arena Finish transition from semitransparent to semiopaque for rustc_macro_transparency 2026-01-08 19:14:45 +01:00
rustc_ast Rollup merge of #150883 - improve-deprecated-intra-doc-span, r=camelid 2026-01-13 09:01:30 +01:00
rustc_ast_ir Implement &pin patterns and ref pin bindings 2025-11-10 09:57:08 +08:00
rustc_ast_lowering Auto merge of #151003 - matthiaskrgr:rollup-wvnF9sN, r=matthiaskrgr 2026-01-12 16:43:20 +00:00
rustc_ast_passes Auto merge of #150640 - AprilNEA:mgca-merge-associated-const-equality, r=BoxyUwU 2026-01-06 01:36:53 +00:00
rustc_ast_pretty rename eii-extern-target 2026-01-12 08:07:23 +01:00
rustc_attr_parsing Delete MetaItemOrLitParser::Err 2026-01-14 17:47:11 +01:00
rustc_baked_icu_data Unify the configuration of the compiler docs 2025-11-05 11:25:27 +00:00
rustc_borrowck remove borrowck handling for inline const patterns 2026-01-08 08:44:04 -08:00
rustc_builtin_macros Rollup merge of #151046 - semiopaque-eii-fix, r=jdonszelmann 2026-01-14 22:29:59 +01:00
rustc_codegen_cranelift Finish transition from semitransparent to semiopaque for rustc_macro_transparency 2026-01-08 19:14:45 +01:00
rustc_codegen_gcc Remove Deref/DerefMut impl for Providers. 2026-01-14 15:55:59 +11:00
rustc_codegen_llvm Revert "avoid phi node for pointers flowing into Vec appends #130998" 2026-01-15 09:37:16 +08:00
rustc_codegen_ssa Remove Deref/DerefMut impl for Providers. 2026-01-14 15:55:59 +11:00
rustc_const_eval Rollup merge of #151096 - rm-providers-deref, r=oli-obk 2026-01-14 11:05:42 +01:00
rustc_data_structures Auto merge of #149273 - bjorn3:crate_locator_improvements, r=petrochenkov 2025-12-14 09:16:11 +00:00
rustc_driver Unify the configuration of the compiler docs 2025-11-05 11:25:27 +00:00
rustc_driver_impl Rollup merge of #150840 - print-check-cfg-rework-output, r=nnethercote 2026-01-13 23:39:09 +01:00
rustc_error_codes Port #[instruction_set] to attribute parser 2025-12-31 03:01:05 +01:00
rustc_error_messages Remove unused pop_span_label method 2025-11-21 14:16:12 +00:00
rustc_errors remove fixme & update stderr files 2025-12-16 13:23:48 +00:00
rustc_expand Port #[collapse_debuginfo] to the new attribute parsing system 2026-01-11 10:54:45 +01:00
rustc_feature rename extern item to foreign item 2026-01-12 08:07:23 +01:00
rustc_fluent_macro move and rename proc_macro::tracked_{env::var,path::path} 2025-11-26 22:44:25 +01:00
rustc_fs_util Avoid using env::temp when linking a binary 2025-12-24 06:41:42 +00:00
rustc_graphviz change non-canonical clone impl to {*self}, fix some doc comments 2025-12-20 13:46:22 +00:00
rustc_hashes some cleanups in compiler 2025-10-12 08:08:30 +00:00
rustc_hir Port #[rustc_dump_predicates] 2026-01-13 15:25:28 +01:00
rustc_hir_analysis Rollup merge of #150962 - rm/feed_const_ty, r=BoxyUwU 2026-01-14 22:29:57 +01:00
rustc_hir_id rustc_hir_id: Add a comment explaining why the crate exists 2025-08-20 15:04:00 -07:00
rustc_hir_pretty Introduce hir::ConstArgKind::Array 2026-01-10 12:41:50 +09:00
rustc_hir_typeck Rollup merge of #150979 - typeck-pat, r=lcnr 2026-01-15 21:39:03 +11:00
rustc_incremental Unify the configuration of the compiler docs 2025-11-05 11:25:27 +00:00
rustc_index layout: Store inverse memory index in FieldsShape::Arbitrary 2025-12-18 22:25:34 +01:00
rustc_index_macros Revert introduction of [workspace.dependencies]. 2025-09-02 19:12:54 +10:00
rustc_infer Use the name var_kinds more. 2026-01-08 13:37:34 +11:00
rustc_interface Rollup merge of #151096 - rm-providers-deref, r=oli-obk 2026-01-14 11:05:42 +01:00
rustc_lexer lexer/parser: ensure deps use the same unicode version 2025-12-27 11:20:42 +01:00
rustc_lint Rollup merge of #150406 - matches-let-chain, r=Kivooeo,oli-obk,BoxyUwU,fmease 2026-01-14 11:05:37 +01:00
rustc_lint_defs Auto merge of #139493 - Voultapher:explicitly-export-core-and-std-macros, r=petrochenkov 2026-01-13 14:20:26 +00:00
rustc_llvm Rollup merge of #150511 - Sa4dUs:offload-inline, r=ZuseZ4 2025-12-31 14:30:48 +01:00
rustc_log Restrict sysroot crate imports to those defined in this repo. 2025-10-15 13:17:25 +01:00
rustc_macros Rollup merge of #149400 - Skgland:tracked_mod, r=Amanieu 2025-12-09 17:36:48 +01:00
rustc_metadata Rollup merge of #151096 - rm-providers-deref, r=oli-obk 2026-01-14 11:05:42 +01:00
rustc_middle Rollup merge of #151103 - array-pat-len, r=Nadrieril,petrochenkov 2026-01-15 21:39:03 +11:00
rustc_mir_build Rollup merge of #151103 - array-pat-len, r=Nadrieril,petrochenkov 2026-01-15 21:39:03 +11:00
rustc_mir_dataflow Clarify MoveData::init_loc_map. 2026-01-02 09:29:26 +11:00
rustc_mir_transform Rollup merge of #151096 - rm-providers-deref, r=oli-obk 2026-01-14 11:05:42 +01:00
rustc_monomorphize Remove Deref/DerefMut impl for Providers. 2026-01-14 15:55:59 +11:00
rustc_next_trait_solver Auto merge of #150859 - nnethercote:opt-Canonicalizer-flag-checks, r=lcnr 2026-01-13 17:36:45 +00:00
rustc_parse Rollup merge of #151099 - issue-84327-2, r=fmease 2026-01-14 22:30:00 +01:00
rustc_parse_format rustc_parse_format: improve diagnostics for unsupported python numeric grouping 2026-01-11 23:42:38 +05:30
rustc_passes Rollup merge of #151096 - rm-providers-deref, r=oli-obk 2026-01-14 11:05:42 +01:00
rustc_pattern_analysis Replace AscribeUserType and ExpandedConstant with per-node data 2026-01-09 16:46:08 +11:00
rustc_privacy Unify the configuration of the compiler docs 2025-11-05 11:25:27 +00:00
rustc_proc_macro Update literal-escaper version to 0.0.7 2026-01-08 14:10:33 +01:00
rustc_public Auto merge of #148766 - cjgillot:mir-const-runtime-checks, r=RalfJung,saethlin 2025-12-22 06:58:28 +00:00
rustc_public_bridge Overhaul filename handling for cross-compiler consistency 2025-12-12 07:33:09 +01:00
rustc_query_impl Lock shards while collecting active jobs. 2025-11-14 09:01:22 +08:00
rustc_query_system Auto merge of #150540 - JonathanBrouwer:incremental_test, r=cjgillot 2026-01-11 08:54:50 +00:00
rustc_resolve resolve: Relax one more assert in glob overwriting and add a test 2026-01-14 19:58:40 +03:00
rustc_sanitizers Port #[cfi_encoding] to attribute parser 2025-12-21 22:11:33 +01:00
rustc_serialize Allow internal_features lint in doc tests 2025-11-05 11:25:29 +00:00
rustc_session Rollup merge of #150151 - destabilise-target-spec-json, r=Kivooeo 2026-01-13 09:01:29 +01:00
rustc_span Rollup merge of #150966 - arch-powerpc64le, r=petrochenkov 2026-01-14 22:29:57 +01:00
rustc_symbol_mangling refactor destructure_const 2025-12-28 16:12:27 +00:00
rustc_target Rollup merge of #150966 - arch-powerpc64le, r=petrochenkov 2026-01-14 22:29:57 +01:00
rustc_thread_pool change non-canonical clone impl to {*self}, fix some doc comments 2025-12-20 13:46:22 +00:00
rustc_trait_selection Rollup merge of #151036 - issue-151026, r=mati865 2026-01-14 11:05:40 +01:00
rustc_traits add const_of_item query and use it in normalization 2025-11-08 13:50:47 -05:00
rustc_transmute Clean up src/dst transmute mess. 2026-01-12 09:22:58 +11:00
rustc_ty_utils Remove redundant call to erase_and_anonymize_regions. 2026-01-12 09:22:58 +11:00
rustc_type_ir Rollup merge of #150861 - folding-cleanups, r=lcnr 2026-01-12 13:32:07 +01:00
rustc_type_ir_macros Provide an extended framework for type visit, for use in rust-analyzer 2025-12-16 01:47:28 +02:00
rustc_windows_rc [win] Use find-msvc-tools instead of cc to find the linker and rc on Windows 2025-09-19 12:00:30 -07:00