--- Comment #3 from 2010-04-04 03:53:30 PDT ---
Before I'm trying to forget this bug while cursing dmd to hell and inventing
awkward, code-inflating work arounds in my code, here's a simpler test case
that demonstrates the bug:

import std.stdio;

alias void delegate(int x = 123) Dg1;
alias void delegate(int x) Dg2;

void main() {
   writefln("%s", Dg1.stringof);
   writefln("%s", Dg2.stringof);

Output, expected:
void delegate(int x = 123)
void delegate(int x)

Output, actual with dmd 1.057:
void delegate(int x = 123)
void delegate(int x = 123)

Don't forget that this doesn't really scratch the template instantiation issue;
one could say that there are actually two bugs: 1. accidentally merging the
types Dg1 and Dg2 into one type, and 2. template instantiations with
delegates/functionpointers that have default arguments.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to