Open
Description
Code
#![feature(never_patterns)]
#![allow(incomplete_features)]
fn main() {
let _ = "12".lines().map(|!| [1]);
}
A mutant of glacier2's fixed/72372.rs
Meta
rustc --version --verbose
:
rustc 1.89.0-nightly (283db70ac 2025-05-25)
binary: rustc
commit-hash: 283db70ace62a0ae704a624e43b68c2ee44b87a6
commit-date: 2025-05-25
host: aarch64-apple-darwin
release: 1.89.0-nightly
LLVM version: 20.1.5
Error output
command: rustc
thread 'rustc' panicked at compiler/rustc_hir_typeck/src/expr.rs:1802:13:
assertion `left == right` failed
left: Always { span: never_4.rs:5:31: 5:32 (#0), custom_note: Some("any code following a never pattern is unreachable") }
right: Maybe
Backtrace
thread 'rustc' panicked at compiler/rustc_hir_typeck/src/expr.rs:1802:13:
assertion `left == right` failed
left: Always { span: never_4.rs:5:31: 5:32 (#0), custom_note: Some("any code following a never pattern is unreachable") }
right: Maybe
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::assert_failed_inner
3: core::panicking::assert_failed::<rustc_hir_typeck::diverges::Diverges, rustc_hir_typeck::diverges::Diverges>
4: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_kind
5: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
6: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_return_or_body_tail
7: rustc_hir_typeck::check::check_fn
8: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_kind
9: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
10: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_argument_types
11: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_kind
12: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
13: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_decl
14: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_block
15: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
16: <rustc_hir_typeck::fn_ctxt::FnCtxt>::check_return_or_body_tail
17: rustc_hir_typeck::check::check_fn
18: rustc_hir_typeck::typeck_with_inspect::{closure#0}
19: rustc_hir_typeck::typeck
[... omitted 1 frame ...]
20: <rustc_middle::ty::context::TyCtxt>::par_hir_body_owners::<rustc_hir_analysis::check_crate::{closure#1}>::{closure#0}
21: rustc_hir_analysis::check_crate
22: rustc_interface::passes::run_required_analyses
23: rustc_interface::passes::analysis
[... omitted 1 frame ...]
24: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
25: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: please make sure that you have updated to the latest nightly
note: please attach the file at `/Users/jisukbyun/workspace/250203 scratch/rustc-ice-2025-05-26T15_22_30-94759.txt` to your bug report
query stack during panic:
#0 [typeck] type-checking `main`
#1 [analysis] running analysis passes on this crate
end of query stack
Bisects to
tool version: cargo-bisect-rustc 0.6.9
command: cargo-bisect-rustc --start=2023-05-01 --end=2025-05-22 --regress ice --preserve --script rustc -- never_4.rs
********************************************************************************
Regression in nightly-2024-01-24
********************************************************************************
fetching https://static.rust-lang.org/dist/2024-01-23/channel-rust-nightly-git-commit-hash.txt
nightly manifest 2024-01-23: 40 B / 40 B [=======================================================] 100.00 % 825.50 KB/s converted 2024-01-23 to d5fd0997291ca0135401a39dff25c8a9c13b8961
fetching https://static.rust-lang.org/dist/2024-01-24/channel-rust-nightly-git-commit-hash.txt
nightly manifest 2024-01-24: 40 B / 40 B [=======================================================] 100.00 % 938.10 KB/s converted 2024-01-24 to 5d3d3479d774754856db2db3e439dfb88ef3c52f
looking for regression commit between 2024-01-23 and 2024-01-24
fetching (via remote github) commits from max(d5fd0997291ca0135401a39dff25c8a9c13b8961, 2024-01-21) to 5d3d3479d774754856db2db3e439dfb88ef3c52f
ending github query because we found starting sha: d5fd0997291ca0135401a39dff25c8a9c13b8961
get_commits_between returning commits, len: 9
commit[0] 2024-01-22: Auto merge of #120242 - matthiaskrgr:rollup-a93yj3i, r=matthiaskrgr
commit[1] 2024-01-22: Auto merge of #120251 - matthiaskrgr:rollup-gttrw68, r=matthiaskrgr
commit[2] 2024-01-23: Auto merge of #120017 - nnethercote:lint-api, r=oli-obk
commit[3] 2024-01-23: Auto merge of #119892 - joboet:libs_use_assert_unchecked, r=Nilstrieb,cuviper
commit[4] 2024-01-23: Auto merge of #117958 - risc0:erik/target-triple, r=davidtwco,Mark-Simulacrum
commit[5] 2024-01-23: Auto merge of #116152 - cjgillot:unchunck, r=nnethercote
commit[6] 2024-01-23: Auto merge of #119044 - RalfJung:intern-without-types, r=oli-obk
commit[7] 2024-01-23: Auto merge of #119433 - taiki-e:rc-uninit-ref, r=Nilstrieb
commit[8] 2024-01-23: Auto merge of #120281 - fmease:rollup-9nxail8, r=fmease
ERROR: no CI builds available between d5fd0997291ca0135401a39dff25c8a9c13b8961 and 5d3d3479d774754856db2db3e439dfb88ef3c52f within last 167 days
Notes
- ICE location:
compiler/rustc_hir_typeck/src/expr.rs Line-1781
rust/compiler/rustc_hir_typeck/src/expr.rs
Lines 1766 to 1781 in 2e6882a
@rustbot label +F-never_patterns