On Friday, November 8, 2024 4:27:40 PM MST Dom DiSc via Digitalmars-d-learn 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.
Well, I don't know what it's warning about, but the code is wrong, because the lengths of the slices don't match in b[0 .. a.length-1] = a[]; You'll get a RangeError being thrown when you run the code. - Jonathan M Davis