NotNull pointers
Dmitry Olshansky
dmitry.olsh at gmail.com
Mon Aug 29 14:40:12 PDT 2011
On 30.08.2011 0:22, Walter Bright wrote:
> For the latest dmd,
> https://github.com/D-Programming-Language/dmd/commit/1193f7828b444056c943742daae0a5ccf262272e
> ,
> I've implemented the ability to disable default initialization. This
> makes it practical to implement a library based "NotNull" type without a
> special syntax for it. The rationale for this is (rather than making it
> builtin) one can now build any type that is a restricted subset of
> another type. I suspect that a non-null type is just scratching the
> surface of this ability.
>
Nice!
Clean RAII with structs comes to mind, before you'd have to have .init
to be as an invalid state that is always checked later on, e.g.:
File f;
f.write("blah");//will fail enforce inside write
I suspect it can get a bit tricky to deal with arrays of such types though.
--
Dmitry Olshansky
More information about the Digitalmars-d
mailing list