[Issue 3735] op=

2015-06-09 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=3735

Andrei Alexandrescu and...@erdani.com changed:

   What|Removed |Added

Version|D1  D2 |D2

--


[Issue 3735] op=

2012-01-23 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3735



--- Comment #6 from github-bugzi...@puremagic.com 2012-01-23 14:15:24 PST ---
Commit pushed to
https://github.com/D-Programming-Language/d-programming-language.org

https://github.com/D-Programming-Language/d-programming-language.org/commit/2b757bdcc82c69ff4021361acd93f8a0b26df65c
fix Issue 3735 - op=

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3735] op=

2012-01-23 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3735


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution||FIXED


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3735] op=

2012-01-18 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3735



--- Comment #2 from Don clugd...@yahoo.com.au 2012-01-18 12:06:10 PST ---
Apart from Stewart's comment, there's also the case of .

a = b is different to a = a  b, if a is short or byte.

(The first does an unsigned shift, the second does a signed shift).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3735] op=

2012-01-18 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3735


timon.g...@gmx.ch changed:

   What|Removed |Added

 CC||timon.g...@gmx.ch


--- Comment #3 from timon.g...@gmx.ch 2012-01-18 12:18:44 PST ---
The same halds for other binary operators. The sentence should probably just be
removed from the spec.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3735] op=

2012-01-18 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3735



--- Comment #4 from Stewart Gordon s...@iname.com 2012-01-18 16:31:48 PST ---
(In reply to comment #2)
 Apart from Stewart's comment, there's also the case of .
 
 a = b is different to a = a  b, if a is short or byte.
 
 (The first does an unsigned shift, the second does a signed shift).

Oh yes, that crazy abomination that is promotion.  Suppose you have

byte a = cast(byte) 0b;  // why does it insist on a cast?
a = a  3;

then what actually happens is

0b  3
promote to int
0b  3
apply shift
0b0000
convert back to a byte
0b1110

If you shift by 25 or more (17 or more for short), you'll start to see the zero
bits come through.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3735] op=

2012-01-18 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3735



--- Comment #5 from timon.g...@gmx.ch 2012-01-18 16:36:54 PST ---
(In reply to comment #4)
 byte a = cast(byte) 0b;  // why does it insist on a cast?

Because 240 does not fit inside the range -128 to 127.
static assert(0b != cast(byte)0b);

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3735] op=

2010-09-23 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3735


Stewart Gordon s...@iname.com changed:

   What|Removed |Added

   Keywords||rejects-valid
URL||http://www.digitalmars.com/
   ||d/1.0/expression.html
 CC||s...@iname.com
   Platform|Other   |All
Version|2.038   |D1  D2
 OS/Version|Linux   |All


--- Comment #1 from Stewart Gordon s...@iname.com 2010-09-23 06:16:30 PDT ---
I assume you're talking about the fact that code like this fails:
--
class Qwert {
Qwert opAdd(Qwert yuiop) { return this; }
}

void main() {
Qwert asfdg = new Qwert;
asdfg += asdfg;
}
--
I entirely agree that this code should work, on the bases both of common sense
and of this spec.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---