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).