[phobos] review for environment

Jonathan M Davis jmdavisProg at gmx.com
Thu Nov 4 15:28:40 PDT 2010


On Thursday, November 04, 2010 15:20:42 Robert Jacques wrote:
> On Thu, 04 Nov 2010 18:04:11 -0400, Jonathan M Davis <jmdavisProg at gmx.com>
> 
> wrote:
> > On Thursday, November 04, 2010 11:55:47 Robert Jacques wrote:
> >> On Thu, 04 Nov 2010 06:34:58 -0400, Jonathan M Davis
> >> <jmdavisProg at gmx.com>
> >> wrote:
> >> [snip]
> >> 
> >> > Regardless, I think that using a final,
> >> > uninstantiatable class is the best way to create a namespace within a
> >> > module in
> >> > D at the moment.
> > 
> > That's essentially what you're doing except that it's a class rather
> > than a
> > struct. And since structs _have_ to be constructable (thanks to them
> > having to
> > have an init property), it works better to use a class which you can
> > stop from
> > being constructed.
> 
> Isn't that what @disable was for?

That's what I used in datetime - I made Clock final and used @disable on this() 
(as opposed to Lars, who made his class both abstract and final), so you can't 
create it. But since structs _must_ have an init property, I don't see how you 
can possibly prevent them from being constructed.

- Jonathan M Davis


More information about the phobos mailing list