Own type for null?

Gor Gyolchanyan gor.f.gyolchanyan at gmail.com
Wed Oct 26 00:20:56 PDT 2011


I agree. Null is a very common special-case value and overloading may
be necessary based on that special-case value. Currently doing so
means accepting any kind of typeless pointer (which is certainly not
desirable).

On Wed, Oct 26, 2011 at 9:49 AM, Benjamin Thaut <code at benjamin-thaut.de> wrote:
> I recently tried to replace the deprecated overloading of new and delete and
> came across a serious issue. You can not use std.conv.emplace with null. If
> you pass null to it, null loses it's implicit casting cabablities and just
> becomes a void*.
> This issue pretty much exists with every template. As soon as you pass null
> to a template (compile time) information gets lost.
>
> Besides fixing std.conv.emplace it could be really handy to be able to check
> for a null-type at compile time for example with non-nullable types.
>
> There is already a enhancement reqeust in bugzilla since January but it
> didn't get much attention yet:
> http://d.puremagic.com/issues/show_bug.cgi?id=5416
>
> Would this be a worthwile improvement for the langauge?
> --
> Kind Regards
> Benjamin Thaut
>


More information about the Digitalmars-d mailing list