Change:
<!-- [31mICE[0m: Rustc '' 'error: internal compiler error: node HirId(DefId(0:103 ~ a[6a73]::issue4298::::{impl}::deserialize::{impl}::visitmap).102) (expr ) cannot be placed in TypeckResults with hirowner DefId(0:116 ~ a[6a73]::issue4298::::{impl}::deserialize::{impl}::visitmap::{impl}::deserialize)', 'error: internal compiler error: node HirId(DefId(0:103 ~ a[6a73]::issue4298::::{impl}::deserialize::{impl}::visitmap).102) (expr ) cannot be placed in TypeckResults with hirowner DefId(0:116 ~ a[6a73]::issue4298::::{impl}::deserialize::{impl}::visitmap::{impl}::deserialize)' File: --auto-reduced (treereduce-rust): &lt;details&lt;summary&lt;strongoriginal code&lt;/strong&lt;/summary&lt;poriginal: </p</detailsVersion information ` Command: <!-- Include a backtrace in the code block by setting in your environment. E.g. . --<details<summary<strongProgram output</strong</summary<p</p</details<!-- query stack: [typeck] type-checking [analysis] running analysis passes on this crate --<!-- TRIAGEBOTSTART --<!-- TRIAGEBOTASSIGNSTART --<!-- TRIAGEBOTASSIGNDATASTARTTRIAGEBOTASSIGNDATAEND --<!-- TRIAGEBOTASSIGNEND --<!-- TRIAGEBOTEND --
this really needs minimization -- there's a lot going on in that test that's probably hiding the underlying cause
hmm got is as far as
Minimized further:
Regression in nightly-2023-10-24 fetching (via remote github) commits from max(, 2023-10-21) to ending github query because we found starting sha: getcommitsbetween returning commits, len: 14 commit[0] 2023-10-22: Auto merge of - weihanglo:update-cargo, r=weihanglo commit[1] 2023-10-22: Auto merge of - Kobzol:update-rustc-perf, r=Mark-Simulacrum commit[2] 2023-10-23: Auto merge of - francorbacho:master, r=davidtwco commit[3] 2023-10-23: Auto merge of - calebcartwright:rustfmt-sync, r=calebcartwright commit[4] 2023-10-23: Auto merge of - ChrisDenton:empty, r=dtolnay commit[5] 2023-10-23: Auto merge of - matthiaskrgr:rollup-1tcxdgj, r=matthiaskrgr commit[6] 2023-10-23: Auto merge of - oli-obk:errorshenanigans, r=cjgillot commit[7] 2023-10-23: Auto merge of - oli-obk:evaluatedstaticinmetadata2, r=RalfJung commit[8] 2023-10-23: Auto merge of - oli-obk:smirrunmacro, r=spastorino commit[9] 2023-10-23: Auto merge of - matthiaskrgr:rollup-08kkjkz, r=matthiaskrgr commit[10] 2023-10-23: Auto merge of - cjgillot:jump-threading, r=pnkfelix commit[11] 2023-10-23: Auto merge of - bvanjoi:fix-, r=petrochenkov commit[12] 2023-10-23: Auto merge of - matthiaskrgr:rollup-96zuuom, r=matthiaskrgr commit[13] 2023-10-24: Auto merge of - cjgillot:split-move, r=petrochenkov ERROR: no CI builds available between and within last 167 days
I found it claim

Discussion:
for (span, code) in errors_causecode { self.dcx().try_steal_modify_and_emit_err(span, StashKey::MaybeForgetReturn, |err| { if let Some(fn_sig) = self.body_fn_sig() <del> && let ExprBindingObligation(_, _, hir_id, ..) = code </del> <ins> && let ExprBindingObligation(_, _, binding_hir_id, ..) = code </ins> && !fn_sig.output().is_unit() { let mut block_num = 0; let mut found_semi = false; <del> for (_, node) in self.tcx.hir().parent_iter(hir_id) { </del> <ins> for (hir_id, node) in self.tcx.hir().parent_iter(binding_hir_id) { // Don't proceed into parent bodies if hir_id.owner != binding_hir_id.owner { break; } </ins> match node { hir::Node::Stmt(stmt) => { if let hir::StmtKind::Semi(expr) = stmt.kind {

<ins> // issue: rust-lang/rust#124022 struct Type<T>; //~^ ERROR type parameter `T` is never used fn main() { { impl<T> Type<T> { fn new() -> Type<T> { Type //~^ ERROR type annotations needed } } }; } </ins>

<ins> error[E0392]: type parameter `T` is never used --> $DIR/dont-collect-stmts-from-parent-body.rs:3:13 | LL | struct Type<T>; |             ^ unused type parameter | = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData` = help: if you intended `T` to be a const parameter, use `const T: /* Type */` instead error[E0282]: type annotations needed --> $DIR/dont-collect-stmts-from-parent-body.rs:10:17 | LL |                 Type |                 ^^^^ cannot infer type of the type parameter `T` declared on the struct `Type` | help: consider specifying the generic argument | LL |                 Type::<T> |                     +++++ error: aborting due to 2 previous errors Some errors have detailed explanations: E0282, E0392. For more information about an error, try `rustc --explain E0282`. </ins>