Sigh. If you're going to reply like that, it would be nice to know you had the slightest fucking clue what you're talking about.

On Saturday, 16 June 2012 at 11:26:21 UTC, Timon Gehr wrote:
On 06/16/2012 07:19 AM, Bernard Helyer wrote:
On Friday, 15 June 2012 at 12:56:49 UTC, Timon Gehr wrote:
On 06/15/2012 02:19 PM, bearophile wrote:
Timon Gehr:

Why not allow equality operators to operate on types?

That's nice, of course. But is it possible?


Yes, certainly.

Not without losing the context insensitivity of the D grammar (because
now we can't say for certain what "T == J" is

It is a comparison. That suffices for the parser. The grammar stays completely context-independent.

But we can't say whether T is a type or a value. _That_ matters.

import some.other.module;
S a, b;
bool c = a == b;

Again, from a parser level.


///////
module some.other.module

struct S{ bool opEquals(){ hardDrive.format(); assert(0); } }

FROM A PARSER LEVEL.



That's a big thing to throw away,

T[2] foo;
auto b = foo[1]; // is this legal?

FROM A PARSER LEVEL, YES. >_<


I don't think this argument is valid.

Learn the difference between parsing valid and semantics, ffs.




Reply via email to