On Monday, 8 February 2016 at 20:43:23 UTC, Jonathan M Davis wrote:


in a bug report should be sufficient to show the bug, even without the rest of what you're doing.

In general, it should be impossible for member functions to be considered strongly pure unless they're marked as immutable, though the compiler could certainly be improved to determine that no escaping of the return value or anything referencing it occurs within the function and that thus it can get away with treating the return value as if it's the only reference to that data, but that would likely be farther into the realm of code flow analysis than the compiler typically does.

It does. A bit. If S.arr is int[] the program fails to compile.
Is all prams being const(but not immutable) not enough for
function to be Pure?


Regardless, your example definitely shows a bug. Please report it. Thanks.

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

Reply via email to