February 11
https://issues.dlang.org/show_bug.cgi?id=19668

--- Comment #1 from Ali Ak <ali.akhtarzada@gmail.com> ---
Actually you don't need a static func. This crashes:

struct S(alias fun) {
    auto call(Args...)(Args args) {
        return fun(args);
    }
}
auto construct(alias fun)() {
    auto a = S!fun.init; // 1
    return a;
}

void main() {
    int count = 0;
    auto func() { return count++; }

    auto s = construct!func;

    s.call(); // crashes
}

And if you change @1 to "auto a = S!fun();" then all is well.

--
February 11
https://issues.dlang.org/show_bug.cgi?id=19668

Ali Ak <ali.akhtarzada@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|calling a function causes   |Using init instead of
                   |crash - frame pointer       |construction causes crash
                   |access error can be         |if type is parameterized on
                   |bypassed with               |alias to function that
                   |typeof(this).init           |accesses frame

--