Disallow null references in safe code?
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Sat Feb 1 10:58:12 PST 2014
On 1/31/14, 5:39 PM, Jonathan M Davis wrote:
> Regardless, we're not adding anything with regards to non-nullable references
> to the language itself [...]
I think the sea is changing here. I've collected hard data that reveals
null pointer dereference is a top problem for at least certain important
categories of applications. Upon discussing that data with Walter, it
became clear that no amount of belief to the contrary, personal
anecdote, or rhetoric can stand against the data.
It also became clear that a library solution would improve things but
cannot compete with a language solution. The latter can do local
flow-sensitive inference and require notations only for function
signatures. Consider:
class Widget { ... }
void fun()
{
// assume fetchWidget() may return null
Widget w = fetchWidget();
if (w)
{
... here w is automatically inferred as non-null ...
}
}
Bottom line: a language change for non-null references is on the table.
It will be an important focus of 2014.
Andrei
More information about the Digitalmars-d
mailing list