On Friday, 8 November 2024 at 23:27:40 UTC, Dom DiSc wrote:
I _very_ often use this pattern:
```
fun(ref int[] a)
{
assert(a.length && a.length<=100);
int[100] b;
b[0 .. a.length-1] = a[];
b[a.length .. 100] = 5;
}
```
I consider this perfectly safe, but DScanner gives warnings for
this, no matter if a check is present or not.
What's the recommended fix for this? I have no idea what else
to use.
You define a contract that Dscanner does not understand. The more
simple solution, as you seem to be careful about bounds, is to
disable the specific check that worries you. You can do that in
an ".ini" file that must stand in the project root directory IIRC.