On Tuesday, 9 April 2013 at 09:03:55 UTC, Timon Gehr wrote:
This is getting old. We should discuss the general issue, issue 9857 is just another instance of it.

Namely:

If the language defines a rewrite from A to B and from B to C, is a rewrite from A to C implied?

If a + b is rewritten as a.opBinary according to operator overloading and a.opBinary as opBinary(a,..) is rewritten according to UFCS, it does not necessarily mean that this works together.

I'd say yes, because this is the obvious behaviour. If it is not there, we have to add a magical "has already been rewritten" flag, countering intuition. Furthermore, as far as I am concerned, this is easier to implement. DMD's inconsistent behaviour has been discussed on d.D.learn multiple times.

From what I know there is no code in dmd that intentionally disables the feature and it would be harder to implement the feature than to keep things as they stand (according to discussions on bugzilla).

Furthermore, the only argument brought up against this so far is that some language constructs are special and ergo they must be mutually incompatible. This is a complete non sequitur.


It seems that you ignore arguments (strictly speaking you are simplifying them).

Jonathan Davis doesn't like this. For more information I suggest to take
a look at the thread in Bugzilla.
...

There is not more information there, it's just given in a blown up representation. He does not justify his opinion.

That's not funny more. It is really interesting to hear from you saying that somebody does not provide bases for opinions because it is you who are known to post argument without justification ignoring everything previous (for ex. http://www.digitalmars.com/d/archives/digitalmars/D/Possible_UDA_bug_190800.html).

Reply via email to