https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94970
--- Comment #4 from Iain Buclaw <ibuclaw at gdcproject dot org> ---
(In reply to Iain Buclaw from comment #3)
> Somewhat simplified reduction of test that doesn't depend on operator
> overloading.
>
> struct RegexMatch
> {
> string index() { return null; }
> ~this() { }
> }
> auto m() { return RegexMatch(); }
>
> void initCommands()
> {
> auto a = m.index() ~ ' ';
> }
There are two places that create a BIND_EXPR in the D front end, first in
CatExp, the other in NewExp.
The ICE would also happen there as well, and indeed, it does if the
initialization is replaced with.
auto a = new int[](m.index);