Bug 3244 – with -inline dmd sometime instantiates nested functions that then cannot be accessed

Status
RESOLVED
Resolution
DUPLICATE
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
Other
OS
Mac OS X
Creation time
2009-08-11T14:11:00Z
Last change time
2014-04-18T09:12:08Z
Keywords
rejects-valid
Assigned to
nobody
Creator
fawzi

Comments

Comment #0 by fawzi — 2009-08-11T14:11:48Z
when compiling blip ( git clone git://github.com/fawzi/blip.git ) on mac with make EXTRA_LIBS="-L-ltango-user-dmd -L-framework -LAccelerate" using dmd 1.046 and latest tango trunk (svn co http://svn.dsource.org/projects/tango/trunk tango; cd tango/build; ./build.sh) and a dmd.conf that accesses tango and not phobos I get {{{ /Users/fawzi/Documents/d-dev/blipClean/blip/narray/BasicOps.d(361): Error: function blip.narray.BasicOps.norm2!(cdouble,2,real).norm2.reduceAllGen!(void delegate(ref real x, cdouble y) { x += cast(real)cast(double)y * cast(real)cast(double)y + cast(real)cast(idouble)y * cast(real)cast(idouble)y; } ,void delegate(ref real x, real y) { x += y; } ,real delegate(real x) { return x; } ,cdouble,2,real).reduceAllGen is a nested function and cannot be accessed from testSvd }}} it seem that inline makes the function nested and inaccessible. Unfortunately smaller examples don't seem
Comment #1 by bearophile_hugs — 2010-07-08T04:41:34Z
This bug report, unless improved significantly (creating a tiny reproducible test case), can be closed.
Comment #2 by clugdbug — 2010-09-13T23:55:41Z
This has no test case, but has the same behaviour as bug 2474. Therefore, I'm marking it as a duplicate. *** This issue has been marked as a duplicate of issue 2474 ***