December 13, 2019 [Issue 20308] frame access regression | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=20308 timon.gehr@gmx.ch changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |timon.gehr@gmx.ch --- Comment #1 from timon.gehr@gmx.ch --- Unfortunately the reason for this regression is that the bug I fixed was masking another unrelated bug. I.e., this is not my fault and I cannot fix it very easily. DMD doesn't know that your handler lambdas do not need a frame pointer at the time it checks for frame pointer accessibility. Due to the bug fixed in https://github.com/dlang/dmd/pull/10214, DMD used to think that the lambdas are not nested in a function. The following workaround makes the code compile: void main(){ static handler0(double z){ return z; } static handler1(T)(T y){ return y; } assert( S!(handler0, handler1) .call!(r => r(1))() == 1); } This allows DMD to see that the handlers are static functions without analyzing their bodies. -- |
December 13 [Issue 20308] frame access regression | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=20308 --- Comment #2 from dlangBugzillaToGithub <robert.schadek@posteo.de> --- THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/19631 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB -- |
Copyright © 1999-2021 by the D Language Foundation