[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #5 from Chad Joan 2009-07-30 01:50:28 PDT --- (In reply to comment #4) > > I think you are right that it can be determined in simple cases, but for sure > there will be cases that the compiler cannot diagnose, such as: > > int

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #6 from Chad Joan 2009-07-30 02:09:09 PDT --- On the newsgroup KennyTM~ pointed out that opDot() also suffers from this problem: struct S { int s; } class X { S opDot() { S temp; temp.s = 6; return temp; } } X z = new X; a

[Issue 3215] New: class method return ref but without any typename get compiled

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3215 Summary: class method return ref but without any typename get compiled Product: D Version: 2.031 Platform: Other OS/Version: Windows Status: NEW Severity:

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #7 from Steven Schveighoffer 2009-07-30 07:19:24 PDT --- (In reply to comment #5) > Of course, s2.foo().x(5) violates the principle at play here. At this point, > the whole "version(noop)" thing is just fluff, and here is the

[Issue 3216] New: Type-unsafe struct initializing

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3216 Summary: Type-unsafe struct initializing Product: D Version: 2.031 Platform: Other OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component:

[Issue 3216] Type-unsafe struct initializing

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3216 Jarrett Billingsley changed: What|Removed |Added Status|NEW |RESOLVED CC|

[Issue 2469] ICE(cod1.c) arbitrary struct accepted as struct initializer

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2469 Jarrett Billingsley changed: What|Removed |Added CC||rayerd@gmail.com --- Comme

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #8 from BCS 2009-07-30 09:23:10 PDT --- (In reply to comment #5) > > It's easy for the compiler to know that "s2.foo.x = 5" does nothing. When > compiling with noop, the "void x(int n) { _global = n;}" version just does not >

[Issue 3217] New: std.functional.binaryFunImpl doesn't support UDT with string functions , therefore neither does many std.algorithm functions

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3217 Summary: std.functional.binaryFunImpl doesn't support UDT with string functions , therefore neither does many std.algorithm functions Product: D Version: 2.031 Plat

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #9 from Chad Joan 2009-07-30 10:38:44 PDT --- (In reply to comment #7) > (In reply to comment #5) > > > Of course, s2.foo().x(5) violates the principle at play here. At this > > point, > > the whole "version(noop)" thing is ju

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #10 from Chad Joan 2009-07-30 10:46:27 PDT --- (In reply to comment #8) > (In reply to comment #5) > > > > It's easy for the compiler to know that "s2.foo.x = 5" does nothing. When > > compiling with noop, the "void x(int n) {

[Issue 3217] std.functional.binaryFunImpl doesn't support UDT with string functions , therefore neither does many std.algorithm functions

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3217 Andrei Alexandrescu changed: What|Removed |Added Status|NEW |ASSIGNED CC|

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #11 from BCS 2009-07-30 10:59:32 PDT --- (In reply to comment #10) > (In reply to comment #8) > > > > This assumes that the body of x is available for analysis and is simple > > enough to be analysed. > > Oh my, I made it s

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #12 from Steven Schveighoffer 2009-07-30 11:12:25 PDT --- (In reply to comment #9) > You make it sound like we wouldn't be able to use structs anymore! > > Not the case. What I mean is this: original: class C { void foo(

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #13 from Chad Joan 2009-07-30 12:46:33 PDT --- (In reply to comment #11) > > OK then that's another (potentially worse) problem because I can think of > several cases where I want to return a struct (by value) and invoke functio

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #14 from BCS 2009-07-30 13:02:20 PDT --- (In reply to comment #13) > That'd be a start. > > The problem then is that variable assignment is equivalent to function calls > with 1 parameter due to the omitable parentheses rule.

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #15 from Chad Joan 2009-07-30 13:10:29 PDT --- (In reply to comment #12) > (In reply to comment #9) > > You make it sound like we wouldn't be able to use structs anymore! > > > > Not the case. > > What I mean is this: > > or

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #16 from Chad Joan 2009-07-30 13:13:40 PDT --- (In reply to comment #14) > > See above. Without analyzing the function bodies, Applying all this to > functions will also ban things I'm not willing to give up. > > As an example:

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #17 from BCS 2009-07-30 13:26:32 PDT --- (In reply to comment #16) > (In reply to comment #14) > > > > See above. Without analyzing the function bodies, Applying all this to > > functions will also ban things I'm not willing t

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #18 from Steven Schveighoffer 2009-07-30 13:40:56 PDT --- (In reply to comment #15) > Incorrect. > > s is an lvalue (it isn't being returned) > s.getValue is an lvalue (pointer to some C's data, AKA a reference type) *struct*

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #19 from Chad Joan 2009-07-30 14:00:29 PDT --- (In reply to comment #17) > > You assume that the above is a bug and what I really wanted was to return a > reference. Take another look while assuming that I actual do want return

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #20 from Chad Joan 2009-07-30 14:16:00 PDT --- (In reply to comment #18) > (In reply to comment #15) > > Incorrect. > > > > s is an lvalue (it isn't being returned) > > s.getValue is an lvalue (pointer to some C's data, AKA a re

[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3008 --- Comment #21 from BCS 2009-07-30 14:35:05 PDT --- (In reply to comment #19) > (In reply to comment #17) > > > > You assume that the above is a bug and what I really wanted was to return a > > reference. Take another look while assuming

[Issue 3218] New: Performance of std.xml.encode must be improved

2009-07-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3218 Summary: Performance of std.xml.encode must be improved Product: D Version: unspecified Platform: Other OS/Version: Linux Status: ASSIGNED Severity: enhancement Pri