On 03/14/2013 04:41 PM, deadalnix wrote:
...

DIP updated.


Using a vastly different set of allowed/disallowed cases. Every delegate type must implicitly convert to unqualified. Otherwise attribute inference may break code that would be valid without. (this has to work differently with explicitly-typed contexts, because those are not opaque.)

The loss of information in cases like m=i causes problem when the copy
or the destruction of the context isn't trivial.

Cases like c=m must be enabled as they will happen anyway by
transitivity (or we must prevent delegate call when the type qualifier
is changed via transitivity which seem worse to me).


I favour neither, but your approach removes all guarantees on const.
(For the time being, my front end implements the parenthesized part.)

inout const isn't a valid type qualifier so I dropped it.

I consider that a DMD bug.

Reply via email to