Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 5c4798b

Browse files
committedJun 28, 2024
Failing test for computing drop shim that has const param
1 parent 9c3bc80 commit 5c4798b

File tree

2 files changed

+278
-0
lines changed

2 files changed

+278
-0
lines changed
 
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
//@ compile-flags: -Zinline-mir=yes --crate-type=lib
2+
3+
//@ known-bug: unknown
4+
//@ build-fail
5+
//@ failure-status: 101
6+
7+
use std::mem::ManuallyDrop;
8+
9+
pub struct Foo<T, const N: usize>([T; N]);
10+
11+
pub struct Dorp {}
12+
13+
impl Drop for Dorp {
14+
fn drop(&mut self) {}
15+
}
16+
17+
#[inline]
18+
// SAFETY: call this with a valid allocation idk
19+
pub unsafe fn drop<const M: usize>(x: *mut Foo<Dorp, M>) {
20+
std::ptr::drop_in_place(x);
21+
}
Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,257 @@
1+
thread 'rustc' panicked at compiler/rustc_middle/src/ty/sty.rs:360:36:
2+
called `Option::unwrap()` on a `None` value
3+
stack backtrace:
4+
0: begin_panic_handler
5+
at ./library/std/src/panicking.rs:661:5
6+
1: panic_fmt
7+
at ./library/core/src/panicking.rs:74:14
8+
2: panic
9+
at ./library/core/src/panicking.rs:148:5
10+
3: core::option::unwrap_failed
11+
at ./library/core/src/option.rs:2013:5
12+
4: unwrap<rustc_middle::ty::Ty>
13+
at ./library/core/src/option.rs:963:21
14+
5: find_ty_from_env
15+
at ./compiler/rustc_middle/src/ty/sty.rs:360:18
16+
6: {closure#0}
17+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:1016:29
18+
7: maybe_grow<core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, rustc_trait_selection::traits::select::{impl#1}::evaluate_predicate_recursively::{closure#0}::{closure_env#0}>
19+
at /home/michael/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
20+
8: ensure_sufficient_stack<core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, rustc_trait_selection::traits::select::{impl#1}::evaluate_predicate_recursively::{closure#0}::{closure_env#0}>
21+
at ./compiler/rustc_data_structures/src/stack.rs:17:5
22+
9: {closure#0}
23+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:664:9
24+
10: evaluate_predicate_recursively
25+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:643:5
26+
11: evaluate_predicates_recursively<alloc::vec::into_iter::IntoIter<rustc_infer::traits::Obligation<rustc_middle::ty::predicate::Predicate>, alloc::alloc::Global>>
27+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:631:24
28+
12: {closure#0}
29+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:1317:21
30+
13: {closure#0}<rustc_trait_selection::traits::select::{impl#1}::evaluate_candidate::{closure#0}::{closure_env#0}>
31+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:596:26
32+
14: probe<core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, rustc_trait_selection::traits::select::{impl#1}::evaluation_probe::{closure_env#0}<rustc_trait_selection::traits::select::{impl#1}::evaluate_candidate::{closure#0}::{closure_env#0}>>
33+
at ./compiler/rustc_infer/src/infer/snapshot/mod.rs:85:17
34+
15: <rustc_trait_selection::traits::select::SelectionContext>::evaluation_probe::<<rustc_trait_selection::traits::select::SelectionContext>::evaluate_candidate::{closure#0}::{closure#0}>
35+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:594:9
36+
16: {closure#0}
37+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:1298:26
38+
17: evaluate_candidate
39+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:1286:5
40+
18: evaluate_stack
41+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:1257:28
42+
19: {closure#1}
43+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:1083:30
44+
20: {closure#0}<rustc_trait_selection::traits::select::{impl#1}::evaluate_trait_predicate_recursively::{closure#0}::{closure_env#1}, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>>
45+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:1445:88
46+
21: with_anon_task<rustc_middle::dep_graph::DepsType, rustc_middle::ty::context::TyCtxt, rustc_trait_selection::traits::select::{impl#1}::in_task::{closure_env#0}<rustc_trait_selection::traits::select::{impl#1}::evaluate_trait_predicate_recursively::{closure#0}::{closure_env#1}, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>>, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>>
47+
at ./compiler/rustc_query_system/src/dep_graph/graph.rs:306:22
48+
22: in_task<rustc_trait_selection::traits::select::{impl#1}::evaluate_trait_predicate_recursively::{closure#0}::{closure_env#1}, core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>>
49+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:1445:13
50+
23: {closure#0}
51+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:1082:34
52+
24: evaluate_trait_predicate_recursively
53+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:1037:5
54+
25: {closure#0}
55+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:671:21
56+
26: maybe_grow<core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, rustc_trait_selection::traits::select::{impl#1}::evaluate_predicate_recursively::{closure#0}::{closure_env#0}>
57+
at /home/michael/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
58+
27: ensure_sufficient_stack<core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, rustc_trait_selection::traits::select::{impl#1}::evaluate_predicate_recursively::{closure#0}::{closure_env#0}>
59+
at ./compiler/rustc_data_structures/src/stack.rs:17:5
60+
28: {closure#0}
61+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:664:9
62+
29: evaluate_predicate_recursively
63+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:643:5
64+
30: {closure#0}
65+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:572:30
66+
31: {closure#0}<rustc_trait_selection::traits::select::{impl#1}::evaluate_root_obligation::{closure_env#0}>
67+
at ./compiler/rustc_trait_selection/src/traits/select/mod.rs:596:26
68+
32: probe<core::result::Result<rustc_middle::traits::select::EvaluationResult, rustc_middle::traits::select::OverflowError>, rustc_trait_selection::traits::select::{impl#1}::evaluation_probe::{closure_env#0}<rustc_trait_selection::traits::select::{impl#1}::evaluate_root_obligation::{closure_env#0}>>
69+
at ./compiler/rustc_infer/src/infer/snapshot/mod.rs:85:17
70+
33: evaluate_obligation
71+
at ./compiler/rustc_traits/src/evaluate_obligation.rs:29:5
72+
34: {closure#0}
73+
at ./compiler/rustc_query_impl/src/plumbing.rs:281:9
74+
[... omitted 22 frames ...]
75+
35: query_get_at<rustc_query_system::query::caches::DefaultCache<rustc_type_ir::canonical::Canonical<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::predicate::Predicate>>, rustc_middle::query::erase::Erased<[u8; 2]>>>
76+
at ./compiler/rustc_middle/src/query/plumbing.rs:145:17
77+
36: evaluate_obligation
78+
at ./compiler/rustc_middle/src/query/plumbing.rs:423:31
79+
37: evaluate_obligation
80+
at ./compiler/rustc_trait_selection/src/traits/query/evaluate_obligation.rs:93:13
81+
38: evaluate_obligation_no_overflow
82+
at ./compiler/rustc_trait_selection/src/traits/query/evaluate_obligation.rs:107:15
83+
39: {closure#0}<rustc_type_ir::predicate::TraitRef<rustc_middle::ty::context::TyCtxt>>
84+
at ./compiler/rustc_trait_selection/src/traits/mod.rs:221:18
85+
40: pred_known_to_hold_modulo_regions<rustc_type_ir::predicate::TraitRef<rustc_middle::ty::context::TyCtxt>>
86+
at ./compiler/rustc_trait_selection/src/traits/mod.rs:213:1
87+
41: rustc_trait_selection::traits::type_known_to_meet_bound_modulo_regions
88+
at ./compiler/rustc_trait_selection/src/traits/mod.rs:206:5
89+
42: rustc_ty_utils::common_traits::is_item_raw
90+
at ./compiler/rustc_ty_utils/src/common_traits.rs:33:5
91+
43: {closure#0}
92+
at ./compiler/rustc_query_impl/src/plumbing.rs:281:9
93+
[... omitted 22 frames ...]
94+
44: query_get_at<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Ty>, rustc_middle::query::erase::Erased<[u8; 1]>>>
95+
at ./compiler/rustc_middle/src/query/plumbing.rs:145:17
96+
45: is_copy_raw
97+
at ./compiler/rustc_middle/src/query/plumbing.rs:423:31
98+
46: is_copy_raw
99+
at ./compiler/rustc_middle/src/query/plumbing.rs:414:17
100+
47: is_copy_modulo_regions
101+
at ./compiler/rustc_middle/src/ty/util.rs:1243:48
102+
48: next<rustc_ty_utils::needs_drop::drop_tys_helper::{closure_env#0}<rustc_ty_utils::needs_drop::needs_drop_raw::{closure_env#0}>, alloc::vec::into_iter::IntoIter<rustc_middle::ty::Ty, alloc::alloc::Global>>
103+
at ./compiler/rustc_ty_utils/src/needs_drop.rs:184:26
104+
49: try_fold<rustc_ty_utils::needs_drop::NeedsDropTypes<rustc_ty_utils::needs_drop::drop_tys_helper::{closure_env#0}<rustc_ty_utils::needs_drop::needs_drop_raw::{closure_env#0}>>, (), core::iter::traits::iterator::Iterator::find::check::{closure_env#0}<core::result::Result<rustc_middle::ty::Ty, rustc_middle::ty::util::AlwaysRequiresDrop>, &mut rustc_ty_utils::needs_drop::filter_array_elements::{closure_env#0}>, core::ops::control_flow::ControlFlow<core::result::Result<rustc_middle::ty::Ty, rustc_middle::ty::util::AlwaysRequiresDrop>, ()>>
105+
at ./library/core/src/iter/traits/iterator.rs:2409:29
106+
50: find<rustc_ty_utils::needs_drop::NeedsDropTypes<rustc_ty_utils::needs_drop::drop_tys_helper::{closure_env#0}<rustc_ty_utils::needs_drop::needs_drop_raw::{closure_env#0}>>, &mut rustc_ty_utils::needs_drop::filter_array_elements::{closure_env#0}>
107+
at ./library/core/src/iter/traits/iterator.rs:2880:9
108+
51: next<rustc_ty_utils::needs_drop::NeedsDropTypes<rustc_ty_utils::needs_drop::drop_tys_helper::{closure_env#0}<rustc_ty_utils::needs_drop::needs_drop_raw::{closure_env#0}>>, rustc_ty_utils::needs_drop::filter_array_elements::{closure_env#0}>
109+
at ./library/core/src/iter/adapters/filter.rs:96:9
110+
52: needs_drop_raw
111+
at ./compiler/rustc_ty_utils/src/needs_drop.rs:24:15
112+
53: {closure#0}
113+
at ./compiler/rustc_query_impl/src/plumbing.rs:281:9
114+
[... omitted 22 frames ...]
115+
54: query_get_at<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::Ty>, rustc_middle::query::erase::Erased<[u8; 1]>>>
116+
at ./compiler/rustc_middle/src/query/plumbing.rs:145:17
117+
55: needs_drop_raw
118+
at ./compiler/rustc_middle/src/query/plumbing.rs:423:31
119+
56: needs_drop_raw
120+
at ./compiler/rustc_middle/src/query/plumbing.rs:414:17
121+
57: needs_drop
122+
at ./compiler/rustc_middle/src/ty/util.rs:1433:17
123+
58: {closure#0}<rustc_mir_transform::shim::DropShimElaborator>
124+
at ./compiler/rustc_mir_dataflow/src/elaborate_drops.rs:378:13
125+
59: {closure#0}<(rustc_middle::mir::syntax::Place, core::option::Option<()>), alloc::alloc::Global, rustc_mir_dataflow::elaborate_drops::{impl#2}::drop_ladder::{closure_env#0}<rustc_mir_transform::shim::DropShimElaborator>>
126+
at ./library/alloc/src/vec/mod.rs:1683:32
127+
60: process_loop<alloc::vec::{impl#1}::retain::{closure_env#0}<(rustc_middle::mir::syntax::Place, core::option::Option<()>), alloc::alloc::Global, rustc_mir_dataflow::elaborate_drops::{impl#2}::drop_ladder::{closure_env#0}<rustc_mir_transform::shim::DropShimElaborator>>, (rustc_middle::mir::syntax::Place, core::option::Option<()>), alloc::alloc::Global, false>
128+
at ./library/alloc/src/vec/mod.rs:1763:21
129+
61: retain_mut<(rustc_middle::mir::syntax::Place, core::option::Option<()>), alloc::alloc::Global, alloc::vec::{impl#1}::retain::{closure_env#0}<(rustc_middle::mir::syntax::Place, core::option::Option<()>), alloc::alloc::Global, rustc_mir_dataflow::elaborate_drops::{impl#2}::drop_ladder::{closure_env#0}<rustc_mir_transform::shim::DropShimElaborator>>>
130+
at ./library/alloc/src/vec/mod.rs:1789:9
131+
62: retain<(rustc_middle::mir::syntax::Place, core::option::Option<()>), alloc::alloc::Global, rustc_mir_dataflow::elaborate_drops::{impl#2}::drop_ladder::{closure_env#0}<rustc_mir_transform::shim::DropShimElaborator>>
132+
at ./library/alloc/src/vec/mod.rs:1683:9
133+
63: drop_ladder<rustc_mir_transform::shim::DropShimElaborator>
134+
at ./compiler/rustc_mir_dataflow/src/elaborate_drops.rs:377:9
135+
64: open_drop_for_adt_contents<rustc_mir_transform::shim::DropShimElaborator>
136+
at ./compiler/rustc_mir_dataflow/src/elaborate_drops.rs:488:13
137+
65: {closure#0}<rustc_mir_transform::shim::DropShimElaborator>
138+
at ./compiler/rustc_mir_dataflow/src/elaborate_drops.rs:461:13
139+
66: open_drop_for_adt<rustc_mir_transform::shim::DropShimElaborator>
140+
at ./compiler/rustc_mir_dataflow/src/elaborate_drops.rs:440:5
141+
67: open_drop<rustc_mir_transform::shim::DropShimElaborator>
142+
at ./compiler/rustc_mir_dataflow/src/elaborate_drops.rs:869:35
143+
68: elaborate_drop<rustc_mir_transform::shim::DropShimElaborator>
144+
at ./compiler/rustc_mir_dataflow/src/elaborate_drops.rs:253:31
145+
69: rustc_mir_dataflow::elaborate_drops::elaborate_drop::<rustc_mir_transform::shim::DropShimElaborator>
146+
at ./compiler/rustc_mir_dataflow/src/elaborate_drops.rs:192:5
147+
70: build_drop_shim
148+
at ./compiler/rustc_mir_transform/src/shim.rs:283:13
149+
71: make_shim
150+
at ./compiler/rustc_mir_transform/src/shim.rs:128:13
151+
72: {closure#0}
152+
at ./compiler/rustc_query_impl/src/plumbing.rs:281:9
153+
[... omitted 22 frames ...]
154+
73: query_get_at<rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::instance::InstanceKind, rustc_middle::query::erase::Erased<[u8; 8]>>>
155+
at ./compiler/rustc_middle/src/query/plumbing.rs:145:17
156+
74: mir_shims
157+
at ./compiler/rustc_middle/src/query/plumbing.rs:423:31
158+
75: mir_shims
159+
at ./compiler/rustc_middle/src/query/plumbing.rs:414:17
160+
76: instance_mir
161+
at ./compiler/rustc_middle/src/ty/mod.rs:1738:62
162+
77: try_instance_mir
163+
at ./compiler/rustc_mir_transform/src/inline.rs:1082:8
164+
78: try_inlining
165+
at ./compiler/rustc_mir_transform/src/inline.rs:194:27
166+
79: process_blocks
167+
at ./compiler/rustc_mir_transform/src/inline.rs:139:19
168+
80: inline
169+
at ./compiler/rustc_mir_transform/src/inline.rs:97:5
170+
81: run_pass
171+
at ./compiler/rustc_mir_transform/src/inline.rs:62:12
172+
82: run_passes_inner
173+
at ./compiler/rustc_mir_transform/src/pass_manager.rs:144:17
174+
83: rustc_mir_transform::pass_manager::run_passes
175+
at ./compiler/rustc_mir_transform/src/pass_manager.rs:87:5
176+
84: run_optimization_passes
177+
at ./compiler/rustc_mir_transform/src/lib.rs:561:5
178+
85: inner_optimized_mir
179+
at ./compiler/rustc_mir_transform/src/lib.rs:667:5
180+
86: optimized_mir
181+
at ./compiler/rustc_mir_transform/src/lib.rs:630:21
182+
87: {closure#0}
183+
at ./compiler/rustc_query_impl/src/plumbing.rs:285:13
184+
[... omitted 22 frames ...]
185+
88: query_get_at<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>>
186+
at ./compiler/rustc_middle/src/query/plumbing.rs:145:17
187+
89: optimized_mir<rustc_span::def_id::LocalDefId>
188+
at ./compiler/rustc_middle/src/query/plumbing.rs:423:31
189+
90: optimized_mir<rustc_span::def_id::LocalDefId>
190+
at ./compiler/rustc_middle/src/query/plumbing.rs:414:17
191+
91: encode_mir
192+
at ./compiler/rustc_metadata/src/rmeta/encoder.rs:1656:74
193+
92: {closure#15}
194+
at ./compiler/rustc_metadata/src/rmeta/encoder.rs:639:29
195+
93: encode_crate_root
196+
at ./compiler/rustc_metadata/src/rmeta/encoder.rs:600:27
197+
94: encode_metadata
198+
at ./compiler/rustc_metadata/src/rmeta/encoder.rs:2269:16
199+
95: encode_and_write_metadata
200+
at ./compiler/rustc_metadata/src/fs.rs:65:13
201+
96: start_codegen
202+
at ./compiler/rustc_interface/src/passes.rs:1024:44
203+
97: {closure#0}
204+
at ./compiler/rustc_interface/src/queries.rs:122:35
205+
98: {closure#1}<rustc_interface::queries::{impl#5}::codegen_and_build_linker::{closure_env#0}, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>
206+
at ./compiler/rustc_middle/src/ty/context.rs:1288:37
207+
99: {closure#0}<rustc_middle::ty::context::{impl#19}::enter::{closure_env#1}<rustc_interface::queries::{impl#5}::codegen_and_build_linker::{closure_env#0}, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>
208+
at ./compiler/rustc_middle/src/ty/context/tls.rs:82:9
209+
100: try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#19}::enter::{closure_env#1}<rustc_interface::queries::{impl#5}::codegen_and_build_linker::{closure_env#0}, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>
210+
at ./library/std/src/thread/local.rs:283:12
211+
101: with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#19}::enter::{closure_env#1}<rustc_interface::queries::{impl#5}::codegen_and_build_linker::{closure_env#0}, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>
212+
at ./library/std/src/thread/local.rs:260:9
213+
102: enter_context<rustc_middle::ty::context::{impl#19}::enter::{closure_env#1}<rustc_interface::queries::{impl#5}::codegen_and_build_linker::{closure_env#0}, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>
214+
at ./compiler/rustc_middle/src/ty/context/tls.rs:79:5
215+
103: enter<rustc_interface::queries::{impl#5}::codegen_and_build_linker::{closure_env#0}, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>
216+
at ./compiler/rustc_middle/src/ty/context.rs:1288:9
217+
104: <rustc_interface::queries::QueryResult<&rustc_middle::ty::context::GlobalCtxt>>::enter::<core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>, <rustc_interface::queries::Queries>::codegen_and_build_linker::{closure#0}>
218+
at ./compiler/rustc_interface/src/queries.rs:64:9
219+
105: codegen_and_build_linker
220+
at ./compiler/rustc_interface/src/queries.rs:121:9
221+
106: {closure#1}
222+
at ./compiler/rustc_driver_impl/src/lib.rs:451:26
223+
107: enter<rustc_driver_impl::run_compiler::{closure#0}::{closure_env#1}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
224+
at ./compiler/rustc_interface/src/queries.rs:202:19
225+
108: {closure#0}
226+
at ./compiler/rustc_driver_impl/src/lib.rs:389:22
227+
109: {closure#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>
228+
at ./compiler/rustc_interface/src/interface.rs:502:27
229+
110: {closure#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
230+
at ./compiler/rustc_interface/src/util.rs:154:13
231+
111: {closure#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
232+
at ./compiler/rustc_interface/src/util.rs:106:21
233+
112: set<rustc_span::SessionGlobals, rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
234+
at /home/michael/.cargo/registry/src/index.crates.io-6f17d22bba15001f/scoped-tls-1.0.1/src/lib.rs:137:9
235+
113: create_session_globals_then<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>
236+
at ./compiler/rustc_span/src/lib.rs:134:5
237+
114: {closure#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
238+
at ./compiler/rustc_interface/src/util.rs:105:17
239+
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
240+
241+
error: the compiler unexpectedly panicked. this is a bug.
242+
243+
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
244+
245+
note: please make sure that you have updated to the latest nightly
246+
247+
note: rustc 1.81.0-dev running on x86_64-unknown-linux-gnu
248+
249+
note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/home/michael/.cargo -Z ignore-directory-in-diagnostics-source-blocks=/home/michael/programming/rust2/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0 -Z inline-mir=yes --crate-type lib
250+
251+
query stack during panic:
252+
#0 [evaluate_obligation] evaluating trait selection obligation `[Dorp; M]: core::marker::Copy`
253+
#1 [is_copy_raw] computing whether `[Dorp; M]` is `Copy`
254+
#2 [needs_drop_raw] computing whether `[Dorp; M]` needs drop
255+
#3 [mir_shims] generating MIR shim for `core::ptr::drop_in_place`
256+
#4 [optimized_mir] optimizing MIR for `drop`
257+
end of query stack

0 commit comments

Comments
 (0)
Please sign in to comment.