Comment #0 by john.loughran.colvin — 2015-07-30T17:26:31Z
int[8] a,b,c;
int[16] d;
1) c = a[]; //Ok
2) d = a[]; //Error, as expected
3) d = a[] ~ b[]; //OK, as expected
4) c = a[] ~ b[]; //No error until runtime
5) c = a[] + b[]; //OK
6) c = a[] & b[]; //OK
7) c = a[] | b[]; //Error
8) c = a[] ^ b[]; //Error
4 should statically be caught and 7 & 8 should be allowed.
Comment #1 by john.loughran.colvin — 2015-07-30T19:05:26Z
7 and 8 work OK in 2.067.1 but fail in 2.068.0
Comment #2 by k.hara.pg — 2015-07-31T06:29:54Z
(In reply to John Colvin from comment #1)
> 7 and 8 work OK in 2.067.1 but fail in 2.068.0
I separated the regression part to issue 14851. Then we can change back this issue to an enhancement.
Comment #3 by nick — 2023-07-05T12:36:43Z
This is the only remaining case, renamed issue:
> 4) c = a[] ~ b[]; //No error until runtime
Same goes for `c = a ~ b;`.
Comment #4 by nick — 2023-07-05T12:38:21Z
Also, concatenation of static arrays could be allowed with @nogc iff assigned to a static array. Currently that errors.
Comment #5 by robert.schadek — 2024-12-13T18:43:53Z