Bug 22080 – ImportC: Error: cannot implicitly convert expression of type 'extern(C) function' to 'function'

Status
RESOLVED
Resolution
FIXED
Severity
critical
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2021-06-23T15:30:21Z
Last change time
2021-06-24T10:57:00Z
Keywords
ImportC, pull, rejects-valid
Assigned to
No Owner
Creator
Iain Buclaw

Comments

Comment #0 by ibuclaw — 2021-06-23T15:30:21Z
Seems like CParser isn't marking all function pointer types as 'extern(C)'. Reduced test: --- int fun(); void test() { int (*funp)() = &fun; }
Comment #1 by dlang-bot — 2021-06-23T17:05:28Z
@ibuclaw created dlang/dmd pull request #12738 "fix Issue 22080 - ImportC: Error: cannot implicitly convert expression of type 'extern(C) function' to 'function'" fixing this issue: - fix Issue 22080 - ImportC: Error: cannot implicitly convert expression of type 'extern(C) function' to 'function' https://github.com/dlang/dmd/pull/12738
Comment #2 by dlang-bot — 2021-06-24T10:57:00Z
dlang/dmd pull request #12738 "fix Issue 22080 - ImportC: Error: cannot implicitly convert expression of type 'extern(C) function' to 'function'" was merged into master: - df3b6807e17bfd05b941d9ddec5605611d78e945 by Iain Buclaw: fix Issue 22080 - ImportC: Error: cannot implicitly convert expression of type 'extern(C) function' to 'function' https://github.com/dlang/dmd/pull/12738