Send empty assoc array to function
schveiguy at gmail.com
Thu Jul 9 21:56:15 UTC 2020
On 7/9/20 5:13 PM, JN wrote:
> On Thursday, 9 July 2020 at 20:24:11 UTC, Steven Schveighoffer wrote:
>> On 7/9/20 4:04 PM, JN wrote:
>>> Hmm, foo(null) seems to work, but is it correct way to do it?
>> Yes, that is correct.
> Interesting. Often in D discussion, an argument pops up that the
> language should be protecting against hidden breakages from API changes.
> This would be an example of that happening.
> void foo(int[int] bar), someone calls it with a null, suddenly the
> signature changes to void foo(int* bar) and you will be sending a null
> pointer and possibly breaking the app.
This is a stretch.
This means you NEVER call it with an actual associative array (Which
would fail to compile), and that foo never expects to get a null
pointer. Even if it does break, it breaks by segfaulting and not
corrupting your program.
All this, plus the author of foo cares nothing for his users, who now
suddenly have non-compiling code.
More information about the Digitalmars-d-learn