Bug 9060 – std.range.chain and std.range.zip cannot get frame pointer
Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-11-22T16:00:00Z
Last change time
2012-12-17T21:21:11Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
bearophile_hugs
Comments
Comment #0 by bearophile_hugs — 2012-11-22T16:00:27Z
import std.algorithm: map;
import std.range: chain, zip;
void main() {
auto r = map!(x => 0)([1]);
chain(r, r);
zip(r, r);
}
DMD 2.061alpha gives:
...\dmd2\src\phobos\std\range.d(1988): Error: function std.range.chain!(MapResult!(__lambda2, int[]),MapResult!(__lambda2, int[])).chain.Result.save cannot get frame pointer to main
...\dmd2\src\phobos\std\range.d(1988): Error: function std.range.chain!(MapResult!(__lambda2, int[]),MapResult!(__lambda2, int[])).chain.Result.save cannot get frame pointer to main
...\dmd2\src\phobos\std\range.d(3792): Error: function std.range.Zip!(MapResult!(__lambda2, int[]), MapResult!(__lambda2, int[])).Zip.save cannot get frame pointer to main
...\dmd2\src\phobos\std\range.d(3792): Error: function std.range.Zip!(MapResult!(__lambda2, int[]), MapResult!(__lambda2, int[])).Zip.save cannot get frame pointer to main
This code compiles and runs correctly in DMD 2.060.
Additional problem: the error messages refer only to the locations inside chain and zip, with no references to the call lines in main().