Closed adambiltcliffe closed 4 months ago
impressive.
This regressed in 1.45, from
error[E0275]: overflow evaluating the requirement `&mut std::iter::Empty<Data>: std::iter::Iterator`
And this program has never produced a good error. I've checked back to 1.26 when impl trait
in argument position was stabilized.
I tried to minimize the code to not depend on iterators, and now I've got a different ICE, which seems similar to #122823. (index out of bounds: the len is 0 but the index is 0
)
#![allow(unconditional_recursion)]
fn conjure<T>() -> T {
unimplemented!()
}
struct Thing;
struct Wrap<T>(T);
trait HasItem {
type Item;
}
impl HasItem for Thing {
type Item = ();
}
impl<T: HasItem> HasItem for Wrap<T> {
type Item = T::Item;
}
struct ItemOf<T: HasItem>(T::Item);
fn bad<T: HasItem>() {
conjure::<ItemOf<Wrap<T>>>();
bad::<Wrap<T>>();
}
fn main() {
bad::<Thing>();
}
Code
Meta
rustc --version --verbose
:Error output
Backtrace
``` stack backtrace: 0: 0x7ffd0243d5b3 - std::backtrace_rs::backtrace::dbghelp64::trace at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\..\..\backtrace\src\backtrace\dbghelp64.rs:91 1: 0x7ffd0243d5b3 - std::backtrace_rs::backtrace::trace_unsynchronized at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66 2: 0x7ffd0243d5b3 - std::backtrace::Backtrace::create at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\backtrace.rs:331 3: 0x7ffd0243d4fa - std::backtrace::Backtrace::force_capture at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\backtrace.rs:312 4: 0x7ffcb8279b41 - memchr 5: 0x7ffd02457247 - alloc::boxed::impl$50::call at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\alloc\src\boxed.rs:2078 6: 0x7ffd02457247 - std::panicking::rust_panic_with_hook at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\panicking.rs:804 7: 0x7ffd02457056 - std::panicking::begin_panic_handler::closure$0 at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\panicking.rs:670 8: 0x7ffd024544ff - std::sys::backtrace::__rust_end_short_backtrace
at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\sys\backtrace.rs:171
9: 0x7ffd02456cb6 - std::panicking::begin_panic_handler
at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\panicking.rs:661
10: 0x7ffd024aca34 - core::panicking::panic_fmt
at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\core\src\panicking.rs:74
11: 0x7ffcb80279c1 - <&rustc_middle[efe08594ec63cbac]::ty::list::RawList<_, _> as rustc_data_structures[6b6cfc4876cd2fb9]::stable_hasher::HashStable>::hash_stable::CACHE::{closure#0}::VAL::{shim:tls#0}
12: 0x7ffcb8024920 - <&rustc_middle[efe08594ec63cbac]::ty::list::RawList<_, _> as rustc_data_structures[6b6cfc4876cd2fb9]::stable_hasher::HashStable>::hash_stable::CACHE::{closure#0}::VAL::{shim:tls#0}
13: 0x7ffcb7800bdd - rustc_ty_utils[497df0ed0719fc06]::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
14: 0x7ffcb771bc4e - rustc_ty_utils[497df0ed0719fc06]::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
15: 0x7ffcb782930f - rustc_query_impl[fb887b361612166]::plumbing::query_key_hash_verify_all
16: 0x7ffcb80890d6 - >::try_fold_ty
17: 0x7ffcb76ac793 - rustc_ty_utils[497df0ed0719fc06]::needs_drop::needs_drop_raw
18: 0x7ffcb7816f4b - rustc_query_impl[fb887b361612166]::plumbing::query_key_hash_verify_all
19: 0x7ffcb7717589 - rustc_ty_utils[497df0ed0719fc06]::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
20: 0x7ffcb782627c - rustc_query_impl[fb887b361612166]::plumbing::query_key_hash_verify_all
21: 0x7ffcb7697c83 - rustc_ty_utils[497df0ed0719fc06]::instance::resolve_instance
22: 0x7ffcb78175cd - rustc_query_impl[fb887b361612166]::plumbing::query_key_hash_verify_all
23: 0x7ffcb7726f43 - rustc_ty_utils[497df0ed0719fc06]::ty::self_ty_of_trait_impl_enabling_order_dep_trait_object_hack
24: 0x7ffcb782a6ae - rustc_query_impl[fb887b361612166]::plumbing::query_key_hash_verify_all
25: 0x7ffcb80ea152 - ::resolve_drop_in_place
26: 0x7ffcb7ce0dee - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
27: 0x7ffcb7cd9fd3 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
28: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
29: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
30: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
31: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
32: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
33: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
34: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
35: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
36: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
37: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
38: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
39: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
40: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
41: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
42: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
43: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
44: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
45: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
46: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
47: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
48: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
49: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
50: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
51: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
52: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
53: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
54: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
55: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
56: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
57: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
58: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
59: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
60: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
61: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
62: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
63: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
64: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
65: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
66: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
67: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
68: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
69: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
70: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
71: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
72: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
73: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
74: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
75: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
76: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
77: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
78: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
79: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
80: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
81: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
82: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
83: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
84: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
85: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
86: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
87: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
88: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
89: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
90: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
91: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
92: 0x7ffcb7cdb878 - rustc_monomorphize[9e988b656563743c]::is_call_from_compiler_builtins_to_upstream_monomorphization
93: 0x7ffcb7ccf224 - rustc_monomorphize[9e988b656563743c]::partitioning::collect_and_partition_mono_items
94: 0x7ffcb6991e37 - ::write_str
95: 0x7ffcb69772ed - ::write_str
96: 0x7ffcb68a7f22 - rustc_ty_utils[497df0ed0719fc06]::ty::adt_sized_constraint
97: 0x7ffcb69b527e - rustc_query_impl[fb887b361612166]::query_system
98: 0x7ffcb408a344 - ::codegen_crate
99: 0x7ffcb3fdaa33 - rustc_interface[d65d71c3705523e8]::passes::start_codegen
100: 0x7ffcb3fe3d97 - ::codegen_and_build_linker
101: 0x7ffcb3f96272 - _wpgmptr
102: 0x7ffcb3f922ef - _wpgmptr
103: 0x7ffcb3f9b2e9 - _wpgmptr
104: 0x7ffd024680ed - alloc::boxed::impl$48::call_once
at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\alloc\src\boxed.rs:2064
105: 0x7ffd024680ed - alloc::boxed::impl$48::call_once
at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\alloc\src\boxed.rs:2064
106: 0x7ffd024680ed - std::sys::pal::windows::thread::impl$0::new::thread_start
at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\sys\pal\windows\thread.rs:52
107: 0x7ffd51ae7344 - BaseThreadInitThunk
108: 0x7ffd51c226b1 - RtlUserThreadStart
rustc version: 1.81.0-nightly (bcf94dec5 2024-06-23)
platform: x86_64-pc-windows-msvc
query stack during panic:
#0 [try_normalize_generic_arg_after_erasing_regions] normalizing `core::option::Option<<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::sources::empty::Empty>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> as core::iter::traits::iterator::Iterator>::Item>`
#1 [needs_drop_raw] computing whether `core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::adapters::peekable::Peekable<&mut core::iter::sources::empty::Empty>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>` needs drop
#2 [resolve_instance] resolving instance `core::ptr::drop_in_place::>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`
#3 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
```