On Thursday, 11 February 2016 at 12:41:16 UTC, rcorre wrote:
On Thursday, 11 February 2016 at 04:20:13 UTC, tsbockman wrote:
Using zip and slices guarantees that the structure returned will be only 5*size_t.sizeof bytes, regardless of the types of K and V.

I'm on the DMD 2.070 release, so maybe its fixed in master.
Either way, thanks for the suggestion!
Somehow I didn't realize what I was doing was an over-complicated zip :)

Though it appears (in 2.070 at least) that zip's range primitives aren't nogc:

---
import std.range;

immutable a = [1,2,3];
immutable b = [1,2,3];

@nogc void main() {
    foreach(x, y ; a[].zip(b[])) { }
}
---
other.d(7): Error: @nogc function 'D main' cannot call non-@nogc function 'std.range.Zip!(immutable(int)[], immutable(int)[]).Zip.empty' other.d(7): Error: @nogc function 'D main' cannot call non-@nogc function 'std.range.Zip!(immutable(int)[], immutable(int)[]).Zip.popFront'
---

Reply via email to