digitalmars.D.bugs - [Issue 1715] New: Template specialization checks for equality rather than convertibility
- d-bugmail puremagic.com (34/34) Dec 04 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1715
- d-bugmail puremagic.com (11/11) Sep 03 2010 http://d.puremagic.com/issues/show_bug.cgi?id=1715
- d-bugmail puremagic.com (12/12) Sep 11 2010 http://d.puremagic.com/issues/show_bug.cgi?id=1715
- d-bugmail puremagic.com (13/14) Sep 15 2010 http://d.puremagic.com/issues/show_bug.cgi?id=1715
- d-bugmail puremagic.com (14/19) Sep 16 2010 http://d.puremagic.com/issues/show_bug.cgi?id=1715
- d-bugmail puremagic.com (9/21) Sep 16 2010 http://d.puremagic.com/issues/show_bug.cgi?id=1715
- d-bugmail puremagic.com (11/28) Sep 17 2010 http://d.puremagic.com/issues/show_bug.cgi?id=1715
http://d.puremagic.com/issues/show_bug.cgi?id=1715 Summary: Template specialization checks for equality rather than convertibility Product: D Version: 2.008 Platform: PC OS/Version: Linux Status: NEW Keywords: rejects-valid, spec Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: dhasenan gmail.com This is related to #1714: the workaround for 1714 is prevented by this, and vice versa. When specializing a template based on the template parameters of its argument, a check is performed for equality, not convertibility. For every other type specialization, a check is performed for convertibility rather than equality. (Equality would be redundant in those situations, and pretty much every situation.) Example: --- class Foo(T){} class Bar : Foo!(int) {} template GetFooArg (T : Foo!(U), U) { alias U GetFooArg; } static assert (is (GetFooArg!(Foo!(int)) == int)); // works static assert (is (GetFooArg!(Bar) == int)); // false pragma (msg, GetFooArg!(Bar).stringof); // template instance GetFooArg!(Bar) // does not match any template declaration --- --
Dec 04 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1715 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |clugdbug yahoo.com.au --- Comment #1 from Don <clugdbug yahoo.com.au> 2010-09-03 11:26:31 PDT --- The patch in bug 4173 fixes this. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 03 2010
http://d.puremagic.com/issues/show_bug.cgi?id=1715 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED --- Comment #2 from Walter Bright <bugzilla digitalmars.com> 2010-09-11 17:52:32 PDT --- http://www.dsource.org/projects/dmd/changeset/675 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 11 2010
http://d.puremagic.com/issues/show_bug.cgi?id=1715 Mike Linford <mike.linford gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mike.linford gmail.com Resolution|FIXED |INVALID --- Comment #3 from Mike Linford <mike.linford gmail.com> 2010-09-15 23:52:54 PDT --- (In reply to comment #2)http://www.dsource.org/projects/dmd/changeset/675DMD 1.063 gives the same results for the given example and an example in my personal code. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 15 2010
http://d.puremagic.com/issues/show_bug.cgi?id=1715 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|INVALID |FIXED --- Comment #4 from Don <clugdbug yahoo.com.au> 2010-09-16 00:09:24 PDT --- (In reply to comment #3)(In reply to comment #2)Yes, of course. Why did you mark this as invalid???? The bug is definitely valid, and it's fixed in the upcoming beta. Please don't do this sort of thing again. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------http://www.dsource.org/projects/dmd/changeset/675DMD 1.063 gives the same results for the given example and an example in my personal code.
Sep 16 2010
http://d.puremagic.com/issues/show_bug.cgi?id=1715 --- Comment #5 from Mike Linford <mike.linford gmail.com> 2010-09-16 09:34:29 PDT --- (In reply to comment #4)(In reply to comment #3)I guess I'm confused. It's claimed that the bug was resolved, but the latest version has the bug. Since the latest version in fact hasn't resolved the bug, doesn't that mean that the resolution was invalid? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------(In reply to comment #2)Yes, of course. Why did you mark this as invalid???? The bug is definitely valid, and it's fixed in the upcoming beta. Please don't do this sort of thing again.http://www.dsource.org/projects/dmd/changeset/675DMD 1.063 gives the same results for the given example and an example in my personal code.
Sep 16 2010
http://d.puremagic.com/issues/show_bug.cgi?id=1715 --- Comment #6 from Don <clugdbug yahoo.com.au> 2010-09-17 01:26:19 PDT --- (In reply to comment #5)(In reply to comment #4)1.063 is not the latest version. (BTW, if the bug was still not fixed, you'd mark it as 'REOPENED' not INVALID). Bugs get marked as fixed when they are fixed in svn, not when a release happens (the inability to distinguish between the two is something I intensely dislike about Bugzilla). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------(In reply to comment #3)I guess I'm confused. It's claimed that the bug was resolved, but the latest version has the bug. Since the latest version in fact hasn't resolved the bug, doesn't that mean that the resolution was invalid?(In reply to comment #2)Yes, of course. Why did you mark this as invalid???? The bug is definitely valid, and it's fixed in the upcoming beta. Please don't do this sort of thing again.http://www.dsource.org/projects/dmd/changeset/675DMD 1.063 gives the same results for the given example and an example in my personal code.
Sep 17 2010