Change:
<del> //@ known-bug: #120793 // can't use build-fail, because this also fails check-fail, but // the ICE from #120787 only reproduces on build-fail. //@ compile-flags: --emit=mir #![feature(effects)] trait Dim { fn dim() -> usize; } enum Dim3 {} impl Dim for Dim3 { fn dim(x: impl Sized) -> usize { 3 } } fn main() { [0; Dim3::dim()]; } </del>

Discussion:
<!-- [31mICE[0m: Rustc '' 'error: internal compiler error: Unexpected parameter Type(()) when instantiating in region 'x (index=1)', 'error: internal compiler error: Unexpected parameter Type(()) when instantiating in region 'x (index=1)' File: --auto-reduced (treereduce-rust): original: Version 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: [fnabiofinstance] computing call ABI of [evaltoallocationraw] const-evaluating + checking [evaltoconstvalueraw] simplifying constant for the type system [analysis] running analysis passes on this crate --
Regression in cc
closing for whch has more up to date stacktrace :sweat_smile:

<!-- [31mICE[0m: Rustc '-Zpolymorphize=on --edition=2021 -Zinline-mir=yes -ooutputfile -Zdump-mir-dir=dir' 'error: internal compiler error: type parameter (impl AsRef<Path//0) out of range when instantiating, args=[]', 'error: internal compiler error: type parameter (impl AsRef<Path//0) out of range when instantiating, args=[]' File: --It appears that generic crash exprs are not even required :explodinghead: snippet: Version 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: [optimizedmir] optimizing MIR for [unusedgenericparams] determining which generic parameters are unused by [analysis] running analysis passes on this crate --
cc
sassy :P lol
probably the same issue:
Backtrace update rustc 1.80.0-nightly ( 2024-05-29) <details<summary<strongBacktrace</strong</summary<p</p</details- ICE location is moved from

<details<summaryfull stderr (including backtrace)</summary</details
Minimized:
update:

<!-- [31mICE[0m: Rustc '-Zpolymorphize=on -Zinline-mir=yes -ooutputfile -Zdump-mir-dir=dir' 'error: internal compiler error: expected type for (W//1) but found Lifetime(ReErased) when substituting, args=[(), ReErased, (), T/]', 'error: internal compiler error: expected type for (W//1) but found Lifetime(ReErased) when substituting, args=[(), ReErased, (), T/]' File: --auto-reduced (treereduce-rust): &lt;details&lt;summary&lt;strongoriginal code&lt;/strong&lt;/summary&lt;poriginal: </p</detailsVersion information Command: &lt;!-- Include a backtrace in the code block by setting in your environment. E.g. . --&lt;details&lt;summary&lt;strongProgram output&lt;/strong&lt;/summary&lt;p&lt;/p&lt;/details&lt;!-- query stack: [mircallgraphreachable] computing if (transitively) calls [optimizedmir] optimizing MIR for [unusedgenericparams] determining which generic parameters are unused by [analysis] running analysis passes on this crate --
&lt;!-- ICE: Rustc '-Zpolymorphize=on -Zinline-mir=yes -ooutputfile -Zdump-mir-dir=dir' 'error: internal compiler error: expected type for (K//0) but found Lifetime('{erased}) when instantiating, args=['{erased}, ()]', 'error: internal compiler error: expected type for (K//0) but found Lifetime('{erased}) when instantiating, args=['{erased}, ()]' File: --auto-reduced (treereduce-rust): original: Version 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: [optimizedmir] optimizing MIR for [unusedgenericparams] determining which generic parameters are unused by [analysis] running analysis passes on this crate --