digitalmars.D.bugs - [Issue 1714] New: Type specialization in IsExpression should work for templated types
- d-bugmail puremagic.com (27/27) Dec 04 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1714
- d-bugmail puremagic.com (29/29) Nov 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=1714
- d-bugmail puremagic.com (11/11) Nov 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=1714
http://d.puremagic.com/issues/show_bug.cgi?id=1714 Summary: Type specialization in IsExpression should work for templated types Product: D Version: 2.008 Platform: PC OS/Version: Linux Status: NEW Keywords: spec Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: dhasenan gmail.com class Bar (T) {} static if (is (Bar!(int) T == T!(U), U)) // should evaluate to true, U == int, T == ? probably Bar!(int) {} class Foo : Bar!(int) {} static if (is (Foo T == T!(U), U)) // should evaluate to false {} static if (is (Foo T : T!(U), U)) // should evaluate to true, U == int {} Currently, you can do similar stuff in template specializations, but it should be extended to IsExpressions, according to the documentation. So it's implied, anyway. --
Dec 04 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1714 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |clugdbug yahoo.com.au Resolution| |FIXED --- Comment #1 from Don <clugdbug yahoo.com.au> 2010-11-08 04:47:03 PST --- The syntax was slightly wrong. Using correct syntax, as shown below, it failed on all versions of DMD up to and including 2.048. It was fixed in 2.049. class Bar (T) {} static if (is (Bar!(int) T == W!(U), alias W, U)) { pragma(msg, W.stringof); pragma(msg, U.stringof); } else static assert(0); class Foo : Bar!(int) {} static if (is (Foo T == W!(U), alias W, U)) { static assert(0); } static if (is (Foo T2 : W2!(U2), alias W2, U2)) { pragma(msg, W2.stringof); pragma(msg, U2.stringof); } else static assert(0); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 08 2010
http://d.puremagic.com/issues/show_bug.cgi?id=1714 Simen Kjaeraas <simen.kjaras gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |simen.kjaras gmail.com --- Comment #2 from Simen Kjaeraas <simen.kjaras gmail.com> 2010-11-08 05:22:16 PST --- See also bug 3608, which is definitely related, but concerns variadic template lists. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 08 2010