[Issue 13508] array vararg function safety not inferred

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sat Sep 20 16:06:51 PDT 2014


https://issues.dlang.org/show_bug.cgi?id=13508

--- Comment #4 from monarchdodra at gmail.com ---
(In reply to hsteoh from comment #3)
> But "conditionally safe" (i.e., conditional upon what arguments are passed
> by the caller) is the same as "unsafe", because for example, if a function
> performs pointer arithmetic, then as long as you make sure the pointers you
> pass in are within bounds, then you won't get any unsafe operations in the
> function. But that doesn't change the fact that the function is unsafe.

Right, but in this case, we're talking about the static types used by the
caller. From caller point of view, it's 2 different signatures:
make!S(1, 2, 3); //(1) unsafe
make!S([1, 2, 3]); //(2) safe

In this case, 1 is unsafe, but 2 is (should) be safe.

--


More information about the Digitalmars-d-bugs mailing list