On Tuesday, 2 July 2013 at 19:47:07 UTC, Timon Gehr wrote:

Analogies are always broken, but the rest of the post reads to me roughly like:

"Dogs are not pets, and should not be treated as such.
They are fundamentally different from pets.

Also, there are no other pets that bark, so it's incredibly bizarre as well as inconsistent with the rest of the notion of a 'pet' to have a pet dog.

- Tmion M Gehr
"


class A
{
  this() {}
  void foo(){}
}

A a = new A; // calls ctor, not foo

Of course constructors are special because not any function is called upon object construction. Same logic was made when ability to overload some operators was blocked. All operators are, well, operators but you cannot overload all of them. It appears that sometimes it does make sense to restrict operation on some particular elements of the set and sometimes not.

Anyway, without final decision on this issue, there would be endless controversy between those who point on commonness of all functions and those who point on peculiarity of some of them.

Reply via email to