The string literal case doesn't segfault on D2.029, it generates wrong code instead. But a related case also segfaults (still in ..\backend\cgcs.c 358) on D1 and D2.
void main() {
auto c = [1,2,3]-[1,2,3];
}
---
PATCH(e2ir.c, line 1955), in elem *MinExp::toElem(IRState *irs)
just copy code from AddExp::toElem(IRState *irs), changing OPadd into OPmin on the last line.