Closed Twey closed 8 months ago
Can you reproduce this on stable Rust, or nightly?
This is stable Rust 1.75.0:
$ rustc --version --verbose
rustc 1.75.0 (82e1608df 2023-12-21)
binary: rustc
commit-hash: 82e1608dfa6e0b5569232559e3d385fea5a93112
commit-date: 2023-12-21
host: x86_64-unknown-linux-gnu
release: 1.75.0
LLVM version: 17.0.6
I can reproduce it from clean.
The current stable is 1.76.0
Oh, I can't keep up!
It doesn't reproduce on 1.76.0. Feel free to close if you like.
Could be a duplicate of https://github.com/rust-lang/rust/issues/119786
Closing as it seems to be fixed on stable 1.76.0.
I ran into an ICE while building a large codebase in an invalid state with Rust 1.75.0.
Unfortunately I don't have time to make a minimal example right now, but I thought it might be worth putting the stack trace here anyway in case it's sufficiently informative!
Code
I've published the state of the code that triggered the ICE at https://github.com/Twey/linera-protocol/tree/03-06-ICE. I triggered it by simply running
cargo build
.Meta
rustc --version --verbose
:Error output
Backtrace
``` stack backtrace: 0: rust_begin_unwind at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5 1: core::panicking::panic_fmt at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14 2: core::panicking::panic at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:127:5 3:::expr_into_dest
4: ::as_temp::{closure#0}
5: ::as_operand
6: ::as_call_operand
7: ::as_call_operand
8: ::expr_into_dest
9: ::as_temp::{closure#0}
10: ::as_operand
11: ::as_call_operand
12: ::as_call_operand
13: ::expr_into_dest
14: ::as_temp::{closure#0}
15: ::as_operand
16: ::as_call_operand
17: ::as_call_operand
18: ::expr_into_dest
19: ::as_temp::{closure#0}
20: ::expr_as_place
21: ::expr_as_place
22: ::expr_into_dest
23: ::expr_into_dest
24: ::ast_block_stmts
25: ::expr_into_dest
26: ::expr_into_dest
27: ::expr_into_dest
28: rustc_mir_build::build::mir_build::{closure#0}
29: rustc_mir_build::build::mir_built
[... omitted 1 frame ...]
30: rustc_mir_transform::check_unsafety::unsafety_check_result
[... omitted 1 frame ...]
31: rustc_mir_transform::check_unsafety::unsafety_check_result
[... omitted 1 frame ...]
32: rustc_mir_transform::check_unsafety::unsafety_check_result
[... omitted 1 frame ...]
33: rustc_mir_transform::check_unsafety::unsafety_check_result
[... omitted 1 frame ...]
34: rustc_mir_transform::check_unsafety::unsafety_check_result
[... omitted 1 frame ...]
35: rustc_mir_transform::check_unsafety::unsafety_check_result
[... omitted 1 frame ...]
36: rustc_mir_transform::check_unsafety::unsafety_check_result
[... omitted 1 frame ...]
37: rustc_mir_transform::mir_const
[... omitted 1 frame ...]
38: rustc_mir_transform::mir_promoted
[... omitted 1 frame ...]
39: rustc_borrowck::mir_borrowck
[... omitted 1 frame ...]
40: rustc_hir_analysis::collect::type_of::type_of_opaque
[... omitted 1 frame ...]
41: rustc_middle::query::plumbing::query_get_at::>>
42: ::poly_select
43: ::process_obligation
44: >::process_obligations::
45: ::check_argument_types
46: ::check_call
47: ::check_expr_with_expectation_and_args
48: ::check_block_with_expected
49: ::check_expr_with_expectation_and_args
50: ::check_expr_with_expectation_and_args
51: ::check_block_with_expected
52: ::check_expr_with_expectation_and_args
53: rustc_hir_typeck::check::check_fn
54: ::check_expr_closure
```