[Issue 6569] New: Template fails to instantiate when alias this is used
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Aug 28 14:12:03 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6569
Summary: Template fails to instantiate when alias this is used
Product: D
Version: D2
Platform: Other
OS/Version: All
Status: NEW
Keywords: rejects-valid
Severity: major
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: andrej.mitrovich at gmail.com
--- Comment #0 from Andrej Mitrovic <andrej.mitrovich at gmail.com> 2011-08-28 14:12:01 PDT ---
enum Type
{
A,
B,
}
struct Foo {}
struct Bar
{
Foo foo;
alias foo this;
}
void main()
{
Bar bar;
test!(Type.A)(bar); // fail
test!(Type.A)(cast(Foo)bar); // ok
}
void test(Type type)(Foo foo)
if (type == Type.A)
{
}
void test(Type type)(Foo foo) // comment out and both run ok
if (type == Type.B)
{
}
If you remove the second test() template both instantiations in main() will
work, which is very odd.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list