[Issue 7460] New: std.windows.registry reports a false exception message

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7460

   Summary: std.windows.registry reports a false exception message
   Product: D
   Version: D1  D2
  Platform: All
OS/Version: Windows
Status: NEW
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: kekeni...@yahoo.co.jp


--- Comment #0 from kekeni...@yahoo.co.jp 2012-02-08 00:43:09 PST ---
When a registry operation failed, the generated exception's msg property
contains '(0)'(means Non Error) instead of its Win32 Error Code.


Such as:

import std.windows.registry;
import std.stdio, std.string;

void main()
{
  try {
Registry.currentUser.getKey(TEST_NONEXISTKEY);
  } catch (RegistryException e) {
std.stdio.writeln( error=, e.error, :, e.msg );

assert( e.error == 2);// 2=ERROR_FILE_NOT_FOUND
assert( std.string.indexOf(e.msg, (0)) == -1 ); // 0=ERROR_SUCCESS
assert( std.string.indexOf(e.msg, (2)) != -1 ); // 2=ERROR_FILE_NOT_FOUND
  }
}

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


[Issue 7460] std.windows.registry reports a false exception message

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7460



--- Comment #1 from kekeni...@yahoo.co.jp 2012-02-08 02:10:09 PST ---
In D1, the msg property is in a different format so it does not contains the
error code. However, some operations still contain wrong messages.

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


[Issue 7461] New: Broken link

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7461

   Summary: Broken link
   Product: D
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Severity: trivial
  Priority: P2
 Component: websites
AssignedTo: nob...@puremagic.com
ReportedBy: danas.mikelins...@gmail.com


--- Comment #0 from danas.mikelins...@gmail.com 2012-02-08 03:01:44 PST ---
In http://www.d-programming-language.org/phobos/index.html; there are broken
links - links which point to non existing pages (user gets 404 Not Found
page)

This issue is with following items in std: Core library modules section:
 std.boxer
 std.bitarray
 std.bind
 std.gc
 std.recls

They have links to pages (listed in same order)
 http://www.d-programming-language.org/phobos/std_boxer.html
 http://www.d-programming-language.org/phobos/std_bitarray.html
 http://www.d-programming-language.org/phobos/std_bind.html
 http://www.d-programming-language.org/phobos/std_gc.html
 http://www.d-programming-language.org/phobos/std_recls.html


I checked only std: Core library modules so, there could be more broken links
in other sections

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


[Issue 6780] Templated global property functions do not work

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6780


Andrej Mitrovic andrej.mitrov...@gmail.com changed:

   What|Removed |Added

 CC||andrej.mitrov...@gmail.com


--- Comment #3 from Andrej Mitrovic andrej.mitrov...@gmail.com 2012-02-08 
03:30:16 PST ---
This seems to contradict Issue 3204?

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


[Issue 7462] New: Error message with _error_ in overridden function

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7462

   Summary: Error message with _error_ in overridden function
   Product: D
   Version: D1  D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: minor
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: clugd...@yahoo.com.au


--- Comment #0 from Don clugd...@yahoo.com.au 2012-02-08 06:26:48 PST ---
class A
{
   void foo(){}
}

class B : A
{
   garbage foo() {}
}

bug.d(9): Error: undefined identifier garbage
bug.d(9): Error: function bug.B.foo of type _error_() overrides but is not
covariant with bug.A.foo of type void()

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


[Issue 7463] New: Duplicated error message with bad template value parameter

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7463

   Summary: Duplicated error message with bad template value
parameter
   Product: D
   Version: D1  D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: clugd...@yahoo.com.au


--- Comment #0 from Don clugd...@yahoo.com.au 2012-02-08 06:49:18 PST ---
template foo(Undefined x) {}

gives duplicate errors.
Caused by TemplateValueParameter::semantic() in template.c

(The simple solution of leaving that function if sparam-type == Type::terror
doesn't quite work because it causes failures in xtest46 for bug 6295).

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


[Issue 7463] Duplicated error message with bad template value parameter

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7463


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

   Keywords||diagnostic
   Severity|normal  |minor


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


[Issue 6650] ICE(glue.c): type inference of invalid template instantiation from is(typeof())

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6650


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #1 from Don clugd...@yahoo.com.au 2012-02-08 06:50:35 PST ---
This was fixed in DMD2.056, commit 8ed5854.
Test case is in the test suite.

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


[Issue 1623] Overloading on different parameters numbers gratuitously restrictive.

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1623


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||clugd...@yahoo.com.au
 Resolution||FIXED


--- Comment #5 from Don clugd...@yahoo.com.au 2012-02-08 06:54:34 PST ---
The test case in comment 2 was fixed in DMD2.049 when bug 4430 was fixed.
That seems to be the only valid test case in this bug report.

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


[Issue 7426] Inner struct no size yet for forward reference when using .tupleof inside it.

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7426


David Simcha dsim...@yahoo.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #7 from David Simcha dsim...@yahoo.com 2012-02-08 08:49:24 PST ---
(In reply to comment #6)
 Still broken with my test case.  Where do we draw the line between regressions
 and non-regressions?  2.058 has a lot of borderline cases where internal
 changes in the compiler make pre-existing bugs affect code they didn't used to
 affect.

From discussion on the Phobos newsgroup, my test case shouldn't work because 
X.tupleof shouldn't be defined, if X is not fully defined yet.  I'll close this
bug report as fixed but start a new one requesting a decent error message so
it's clearer that this is why it doesn't work.

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


[Issue 7464] New: Better Error Message When Using S.tupleof within S

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7464

   Summary: Better Error Message When Using S.tupleof within S
   Product: D
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Keywords: diagnostic
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: dsim...@yahoo.com


--- Comment #0 from David Simcha dsim...@yahoo.com 2012-02-08 08:54:45 PST ---
struct S {
   static if(hasIndirections!(typeof(this))) {}
}

template hasIndirections(T)
{
   enum hasIndirections = hasIndirectionsImpl!(typeof(T.init.tupleof));
}

template hasIndirectionsImpl(T...)
{
   static if (!T.length)
   {
   enum hasIndirectionsImpl = false;
   }
   else
   {
   enum hasIndirectionsImpl = true;
   }
}

This is wrong because S isn't fully defined yet, so S.init.tupleof makes no
sense.  However, the error message is extremely obtuse:

Error: struct S no size yet for forward reference

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


[Issue 1824] Object not const correct

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1824


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

   What|Removed |Added

   Keywords|patch   |pull
 CC||s...@iname.com


--- Comment #12 from Stewart Gordon s...@iname.com 2012-02-08 09:13:29 PST ---
Any chance of this being folded in for the upcoming 2.058 release?  I am
working on porting my libraries to D2, and it would be good to have this done
and dusted so that I don't have to work around it.

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


[Issue 7451] [Git regression] AAs broken for interfaces keys and values with opEquals

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7451



--- Comment #3 from klickverbot c...@klickverbot.at 2012-02-08 09:36:10 PST 
---
The question is whether interfaces can be used as AA keys. They could in 2.057
and before, and can't quite now, hence I marked it as regression.

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


[Issue 1824] Object not const correct

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1824



--- Comment #13 from Steven Schveighoffer schvei...@yahoo.com 2012-02-08 
10:24:14 PST ---
(In reply to comment #12)
 Any chance of this being folded in for the upcoming 2.058 release?

Likely not.  I think only fixing regressions is allowed right now.

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


[Issue 3754] Templates related bug

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3754


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au
 Resolution|WORKSFORME  |FIXED


--- Comment #2 from Don clugd...@yahoo.com.au 2012-02-08 12:05:40 PST ---
It was fixed in 1.069.

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


[Issue 7370] Major errors in the FAQ

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7370


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Issue 1824] Object not const correct

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=1824


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

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #14 from Walter Bright bugzi...@digitalmars.com 2012-02-08 
12:40:03 PST ---
I intend to deal with this at the beginning of the next release cycle. It is a
disruptive change.

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


[Issue 7465] New: Duplicate error message for bad template mixin

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7465

   Summary: Duplicate error message for bad template mixin
   Product: D
   Version: D1  D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: minor
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: clugd...@yahoo.com.au


--- Comment #0 from Don clugd...@yahoo.com.au 2012-02-08 13:31:54 PST ---
From the test suite, fail10.d

template Foo(alias b){}
mixin Foo!(y) y;

crash.d(2): Error: mixin crash.Foo!(y) cannot resolve forward reference
crash.d(2): Error: mixin crash.Foo!(y) cannot resolve forward reference

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


[Issue 7466] New: Error without line number in recursive template expansion

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7466

   Summary: Error without line number in recursive template
expansion
   Product: D
   Version: D1  D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: critical
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: clugd...@yahoo.com.au


--- Comment #0 from Don clugd...@yahoo.com.au 2012-02-08 13:34:16 PST ---
This is fail14.d in the test suite.


class A(T)
{
.A!(A) x;
}

void main()
{
A!(int);
}

Error: recursive template expansion for template argument fail14.A!(int).A

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


[Issue 6699] More cases of __error in error messages

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6699


Don clugd...@yahoo.com.au changed:

   What|Removed |Added

   Keywords||diagnostic


--- Comment #2 from Don clugd...@yahoo.com.au 2012-02-08 13:42:36 PST ---
I created new bugs (bug 7465 and bug 7466) for the fail10 and fail14 cases.

Apart from the bug in comment1, which I will call case A, the other known
instances of _error are:


// CASE B: from bug 6475 (and many other places)
alias int b6699;
alias b6699.x b6699a;
crash.d(2): Error: no property 'x' for type 'int'
crash.d(2): Error: alias crash.b6699a cannot alias an expression __error

// CASE C: from fail72
void bug6699()
{
synchronized( foo ){  }
}
crash.d(3): Error: undefined identifier foo
crash.d(3): Error: can only synchronize on class objects, not '_error_'

// CASE D: from fail8 and fail123.
struct Foo6699 { int x; }
enum Bar6699 : Foo6699 { a, b }
crash.d(3): Error: cannot implicitly convert expression (0) of type int to
Foo66
99
Error: no property 'max' for type 'Foo6699'
crash.d(3): Error: Integer constant expression expected instead of (__error) ==
(__error)

See also bug 7462, bug 5302, and bug 6796, which also have _error.

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


[Issue 7467] New: opUnary!++ rejects valid, claiming var has no effect in expression

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7467

   Summary: opUnary!++ rejects valid, claiming var has no
effect in expression
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: reachz...@gmail.com


--- Comment #0 from Zach the Mystic reachz...@gmail.com 2012-02-08 15:40:51 
PST ---
struct Arc {
   int I = 0;
   // This is void, but the error appears under all return types
   void opUnary(string op)() if( op == ++ ) {
  ++I;
   }
}

struct HasArc {
Arc myArc;
}

void main() {
   import std.stdio;
   HasArc has;
   writefln( Arc.I = %s, has.myArc.I); // Arc.I = 0

   has.myArc++; // Error: var has no effect in expression (__pitmp1481)

   // Okay, try this instead:
   auto UselessVar = has.myArc++; // Works fine

   writefln( Arc.I = %s, has.myArc.I); // Arc.I = 1
}

Obviously the expression has an effect. I was informed by Timon Gehr that
This is indeed a bug. The expression is rewritten internally into (pseudo
code)
(auto __pitmp1481 = has.myArc, has.myArc.opUnary!++(), __pitmp1481);

It turns out the work around is so easy, ++has.myArc;. 
Hopefully the bug fix won't be much harder!
Thank you,
Zach

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


[Issue 7468] New: Ddoc does not output DOCTYPE declaration

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7468

   Summary: Ddoc does not output DOCTYPE declaration
   Product: D
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Severity: trivial
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: syntaxcolor...@gmail.com


--- Comment #0 from syntaxcolor...@gmail.com 2012-02-08 15:55:16 PST ---
Ddoc outputs seemingly valid HTML, except it does not include a DOCTYPE
declaration.

It should output something like the following at the beginning of every
generated file:

!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01//EN
   http://www.w3.org/TR/html4/strict.dtd;

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


[Issue 4088] opEquals not called on interfaces

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4088



--- Comment #11 from Walter Bright bugzi...@digitalmars.com 2012-02-08 
18:42:42 PST ---
This is also the root cause of bug 7451.

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


[Issue 4088] opEquals not called on interfaces

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4088


d...@dawgfoto.de changed:

   What|Removed |Added

 CC||d...@dawgfoto.de


--- Comment #12 from d...@dawgfoto.de 2012-02-08 19:10:45 PST ---
It think the proposal in #5459 goes into the right direction.
One point of it is to prefer interface opEquals over a downcast.

Also, if an interface had an opEquals with a different signature, then
Object.opEquals becomes hidden.

interface IA
{
bool opEquals(IA o);
}

class A
{
bool opEquals(IA o) { return false; }
}

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


[Issue 4088] opEquals not called on interfaces

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4088


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

   What|Removed |Added

 CC||c...@klickverbot.at


--- Comment #13 from Walter Bright bugzi...@digitalmars.com 2012-02-08 
19:11:04 PST ---
*** Issue 7451 has been marked as a duplicate of this issue. ***

--- Comment #14 from github-bugzi...@puremagic.com 2012-02-08 19:11:04 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/9c8b88ca89afef97a5d3b81ba7bd65cac71fd6d0
fix Issue 4088 - opEquals not called on interfaces

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


[Issue 7451] [Git regression] AAs broken for interfaces keys and values with opEquals

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7451


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

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


--- Comment #4 from Walter Bright bugzi...@digitalmars.com 2012-02-08 
19:11:03 PST ---
*** This issue has been marked as a duplicate of issue 4088 ***

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


[Issue 4088] opEquals not called on interfaces

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4088


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

   What|Removed |Added

 CC||c...@klickverbot.at


--- Comment #13 from Walter Bright bugzi...@digitalmars.com 2012-02-08 
19:11:04 PST ---
*** Issue 7451 has been marked as a duplicate of this issue. ***

--- Comment #14 from github-bugzi...@puremagic.com 2012-02-08 19:11:04 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/9c8b88ca89afef97a5d3b81ba7bd65cac71fd6d0
fix Issue 4088 - opEquals not called on interfaces

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


[Issue 4088] opEquals not called on interfaces

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4088


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

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Issue 4088] opEquals not called on interfaces

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4088


d...@dawgfoto.de changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |


--- Comment #15 from d...@dawgfoto.de 2012-02-08 20:04:35 PST ---
Reopened because now implicit interface comparison is fixed,
but having opEquals in interfaces still doesn't work.

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


[Issue 4088] opEquals not called on interfaces

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4088



--- Comment #16 from Steven Schveighoffer schvei...@yahoo.com 2012-02-08 
20:16:23 PST ---
Unless the checked-in fix doesn't allow two interfaces to compare, this bug
should be closed.  It is about the difference between comparing two objects and
comparing two interfaces.  Prior to this fix, you con't compare two interfaces
*period*, even if they defined an identical signature to Object.opEquals.

I feel that it should be possible to specialize opEquals for interfaces and
objects, but this is a separate problem (and actually an enhancement).  IIUC,
the applied fix makes it so Objects and interfaces compare in the same way.

If I find I can compare two interfaces in the same way I can compare two
objects, I'll close this as resolved, and you may open a different bug
regarding adding the enhancement of overriding the default behavior of
object.opEquals.

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


[Issue 7469] New: template mangling depends on instantiation order

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7469

   Summary: template mangling depends on instantiation order
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: d...@dawgfoto.de


--- Comment #0 from d...@dawgfoto.de 2012-02-08 20:26:03 PST ---
 bug.d 
struct Foo(int i)
{
}

version (A)
{
Foo!3  fooa;
Foo!3u foob;
}
else
{
Foo!3u fooa;
Foo!3  foob;
}

pragma(msg, typeof(fooa).mangleof);
pragma(msg, typeof(foob).mangleof);

dmd -c bug.d

S3bug11__T3FooVk3Z3Foo
S3bug11__T3FooVk3Z3Foo

dmd -c -version=A bug.d

S3bug11__T3FooVi3Z3Foo
S3bug11__T3FooVi3Z3Foo



The mangling should depend on the template value parameter type
not the type of the argument.

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


[Issue 4088] opEquals not called on interfaces

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4088


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

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||INVALID


--- Comment #17 from Walter Bright bugzi...@digitalmars.com 2012-02-08 
22:36:28 PST ---
If there's another issue, please open a new bug report, and please provide an
example of the failing code.

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


[Issue 7460] std.windows.registry reports a false exception message

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7460



--- Comment #2 from kekeni...@yahoo.co.jp 2012-02-08 22:56:49 PST ---
https://github.com/D-Programming-Language/phobos/pull/425

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


[Issue 7470] New: opEquals for interfaces

2012-02-08 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7470

   Summary: opEquals for interfaces
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: d...@dawgfoto.de


--- Comment #0 from d...@dawgfoto.de 2012-02-08 23:41:44 PST ---
interface I
{
int value();
equals_t opEquals(I other);
// final opEquals should be allowed too
// final equals_t opEquals(I other) { return value() == other.value(); }
}

class A : I
{
override int value() { return 0; }
override equals_t opEquals(I other) { return value() == other.value(); }
}

class B : I
{
override int value() { return 0; }
override equals_t opEquals(I other) { return value() == other.value(); }
}

void main()
{
I i1 = new A, i2 = new B;
assert(i1 == i2);
}



I think this was the actual issue that Steven filed under bug 4088.
Using explicit casts solved compiler generated interface comparison,
but doesn't allow a real opEquals for interfaces.

Note that opCmp works as expected.

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