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.
Comment #1 by henning — 2013-08-09T04:06:51Z
Comment #2 by github-bugzilla — 2013-08-10T05:24:47Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/1206155104c13d961fd2371932fe3b2db69867bb fix issue 9247 - Compiler accepts opaque struct returned by value from function pointer declaration. https://github.com/D-Programming-Language/dmd/commit/64546fcd827f6e4ce0a8237e2e6f926feee9fa8b Merge pull request #2458 from hpohl/9247 fix issue 9247 - Compiler accepts opaque struct returned by value from function pointer declaration.