No compile time bounds checking for static arrays?

Stefan Koch uplink.coder at googlemail.com
Wed Aug 11 06:46:34 UTC 2021


On Wednesday, 11 August 2021 at 06:29:40 UTC, Tejas wrote:
> ```d
> import std;
> void main()
> {
>     int[40] staticA;
>     auto c = staticA[0..50];//mistake
> }```
> results in:
>
> ```d
> core.exception.RangeError at onlineapp.d(5): Range violation
> ----------------
> ??:? _d_arrayboundsp [0x55db29a0b645]
> ./onlineapp.d:5 _Dmain [0x55db29a0ae8c]
> ```
>
> Is there a way to make this check compile time?

Without modifying the compiler? No.
Please file an enhancement request on issues.dlang.org.
This particular example is an easy fix.


More information about the Digitalmars-d-learn mailing list