Why does nobody seem to think that `null` is a serious problem in D?
Alex
sascha.orlov at gmail.com
Wed Nov 21 17:00:29 UTC 2018
On Wednesday, 21 November 2018 at 14:21:44 UTC, Kagamin wrote:
>
> A value passed to ref parameter is assumed to be initialized.
> C# would reject to call function foo.
This was not my point. I wonder, whether the case, where the
compiler can't figure out the initialization state of an object
is so hard to construct.
´´´
import std.experimental.all;
class C
{
size_t dummy;
final void baz()
{
if(this is null)
{
writeln(42);
}
else
{
writeln(dummy);
}
}
}
void main()
{
C c;
if(uniform01 < 0.5)
{
c = new C();
c.dummy = unpredictableSeed;
}
else
{
c = null;
}
c.baz;
writeln(c is null);
}
´´´
C# wouldn't reject the case above, would it?
More information about the Digitalmars-d-learn
mailing list