DMD 0.177 release

Jarrett Billingsley kb3ctd2 at yahoo.com
Sat Dec 9 12:03:49 PST 2006


"Walter Bright" <newshound at digitalmars.com> wrote in message 
news:ele2k9$2hr5$1 at digitaldaemon.com...
> More ABI changes, and implicit [] => * no longer allowed.
>
> http://www.digitalmars.com/d/changelog.html
>
> http://ftp.digitalmars.com/dmd.175.zip

No offense, but would it honestly kill you to allow ctors in structs?  We've 
been using static opCall as a _workaround_ for the lack of struct ctors, and 
making it part of the language doesn't really seem to be addressing the 
problem.  That, and it doesn't make any sense that classes use "this()" and 
structs use "static S opCall()".  We're starting to get into "overloading 
indexing in C++" territory.

That, and which would be more efficient?  The static opCall needs to return 
an instance of the struct on the stack, which could be very inefficient for 
large structs.  With a true ctor, the struct is passed by reference to the 
ctor and has its fields set directly.

And I also can't figure out how to make the implicit opCall work with more 
than one parameter.  :P

I'm also a little wary about opAssign.  Not that I don't find it useful, 
just that you've been vehemently opposed to overloading it in D for how many 
years, and three weeks before 1.0 you reverse your opinion.  What does that 
mean?

But complaints aside, thanks for removing the []=>* implicit cast and the 
bugfixes.  Man, this last month has been an exciting time for D :) 





More information about the Digitalmars-d-announce mailing list