Walter Bright Wrote:

> Steven Schveighoffer wrote:
> > type constructor.  it has no meaning as a storage class since it's 
> > entirely transient (it only has any meaning inside functions).
> 
> I meant does it only apply at the top level, or does it apply down 
> inside types?

It has to apply inside types unless we can prove it isn't  needed. Consider a 
function that accepts inout(T) and returns inout(U). The extraction of U from 
const(T) is const(U) just like extraction of U from immutable(T) is 
immutable(U) because of transitivity rules.

I don't think a proof exists. Consider class T { U u; } and other more deeply 
nested variations.

Reply via email to