February 14, 2007 [Issue 962] New: extern C/Windows names D-mangled | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=962 Summary: extern C/Windows names D-mangled Product: D Version: unspecified Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla@digitalmars.com ReportedBy: chris@dprogramming.com I'm sure this has been brought up several times, but in this case I think it should be fixed: template MyFuncs() { export extern(Windows) void foo() { } } mixin MyFuncs; // I expect foo to be mixed in and exported with a normal extern(Windows) signature, yet it is mangled like a D name just because it's in a template. // This is preventing me from writing some useful boilerplate code. -- |
August 12, 2007 [Issue 962] extern C/Windows names D-mangled | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=962 bugzilla@digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #1 from bugzilla@digitalmars.com 2007-08-12 15:45 ------- But changing the behavior of this would lead to name collisions if something is mixed in more than once, which is why it behaves this way. You can get the behavior you want with a string mixin, or with the (not yet) macro feature of 2.0. -- |
Copyright © 1999-2021 by the D Language Foundation