Like I said, there is no behavior change.
The old code did this:
```
T[] literal = _arrayliteral!T(N);
foreach(i; 0..N)
   literal[i] = elements[i];
T[N] arr = void;
foreach(i; 0..N)
   arr[i] = literal[i];
```
And the new code does this:
```
T[N] arr = void;
foreach(i; 0..N)
   arr[i] = elements[i];
```

This does not put anything in the data segment, it just skips the array literal allocation and initialization.