https://issues.dlang.org/show_bug.cgi?id=13300

Andrea Fontana <trik...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
                 CC|                            |trik...@gmail.com
         Resolution|FIXED                       |---

--- Comment #4 from Andrea Fontana <trik...@gmail.com> ---
Same problem, for structs with impure postblit.
I think those functions should be templatized. Or maybe we can remove pure at
all and add a unittest to force test against pure structs.

------

import std.experimental.all;

int i;

void main()
{
    Range r;
    r.array().writeln;
}

struct Simple
{
    @disable this(); // Without this, it works.
    this(this) { i++; }

    private:
    this(int tmp) { }
}

struct Range
{
    @property Simple front() { return S(0); }
    void popFront() { count++; }
    @property empty() { return count < 3; }
    size_t count;
}

--

Reply via email to