Thread overview | |||||
---|---|---|---|---|---|
|
December 04, 2007 [Issue 1714] New: Type specialization in IsExpression should work for templated types | ||||
---|---|---|---|---|
| ||||
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. -- |
November 08, 2010 [Issue 1714] Type specialization in IsExpression should work for templated types | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | 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: ------- |
November 08, 2010 [Issue 1714] Type specialization in IsExpression should work for templated types | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | 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: ------- |
Copyright © 1999-2021 by the D Language Foundation