On Friday, 30 November 2012 at 07:20:39 UTC, monarch_dodra wrote:
Related:
Why doesn't:
"auto a = int(5);"
work? and, even more importantly, why don't we have this? :
"int* p = new int (5);"
The fact that we have "T()/T(arg)", but not "int()/int(arg)"
makes *zero* sense to me. THAT has been a source of initial
confusion when I moved to D.
I'd like to point out that what you are describing are examples
of inconsistencies in D, and inconsistencies tend to be a
significant cause of productivity loss in many areas. They
needlessly complicate the learning curve, the users code, and
even the documentation, and unless eliminated they will forever
taint the user experience to a degree.
As for the way structs are default constructed, I found it to be
very difficult to comprehend. The documentation needs to be made
better and more detailed. However, I've come around to think that
the behaviors are correct and worth putting up with. Yes it can
be very confusing at times, so if there's a way to make it less
confusing, that would be a big help.
--rt