On Sunday, 29 September 2013 at 20:42:20 UTC, Andrej Mitrovic wrote:
On Sunday, 29 September 2013 at 20:37:13 UTC, Martin Drasar wrote:
 static assert(is(typeof(tmp.save) == MyRange!string));

You should call it like this:

static assert(is(typeof(tmp.save()) == MyRange!string));

Btw, as for the reason why that used to work, I think it's one of these:

In earlier versions typeof() might have checked the return type of the function, rather than the type of the function itself.

And purity (and other attributes) are now inferred for functions in templated aggregates. (but it may not be related to your code).

Reply via email to