I just updated to 2.60 and found errors throughout my code where function pointers default args no longer work.<div><u>Every single project</u> I've written in D, 5 projects, don't work anymore, including my projects at work.</div>
<div><br></div><div>I found this discussion: <a href="http://d.puremagic.com/issues/show_bug.cgi?id=3866">http://d.puremagic.com/issues/show_bug.cgi?id=3866</a></div><div>It seems the change was just decided and implemented with basically no discussion or argument at all :/</div>
<div><br></div><div>My use cases are dynamic linkage, and cross-language integration.</div><div>I can't manually interact with DLL's containing API's that expect to have default arguments if function pointers no longer support them.</div>
<div>Also when receiving foreign language function pointers, they frequently need to have default args too.</div><div><br></div><div>I also integrate with many C style API's (rendering engines and the like), which involve registration of various callbacks, and lots of those have default args too.</div>
<div><br></div><div>I find this particularly surprising, since I recently motivated implementation of new traits which could parse default args from parameter lists, and use that to generation function pointers in templates which auto-magically clone functions parameter lists verbatim, specifically including the default args...</div>