On 07/10/2017 04:57 PM, ag0aep6g wrote:
---- alias T = int;T** f(const T** input) pure { T** output; return output; } void main() { T i; T* p = &i; immutable T** r = f(&p); } ----
[...]
Now change `T` to `alias T = immutable int;`. The program gets rejected. The error message is: "cannot implicitly convert expression (f(& p)) of type immutable(int)** to immutable(int**)".
Filed an issue: https://issues.dlang.org/show_bug.cgi?id=17635