Bug 9247 – Compiler accepts opaque struct returned by value from function pointer declaration.
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-01-01T02:01:00Z
Last change time
2013-08-10T05:24:59Z
Keywords
accepts-invalid, pull
Assigned to
nobody
Creator
aldacron
Comments
Comment #0 by aldacron — 2013-01-01T02:01:30Z
struct foo;
foo function() bar;
Thanks to a typo, something like this has been compiling in Derelict 3, and really shouldn't have been, on every version of DMD 2.x to date. With 2.061, it causes an error on Linux 32 and on 64-bit when compiling with -m32. No error with the 32-bit version on Windows (haven't tested 64) and I have no idea about Mac.
Furthermore, the error message being put out points to the opaque struct declaration itself and not the site of the error. That made it more difficult to track down than it could have been, given that the declarations were in different files.