On Friday, 19 February 2016 at 21:53:16 UTC, Walter Bright wrote:
On 2/19/2016 4:38 AM, Jonathan M Davis wrote:
Why not? I would expect the opaque type to have to have it too, e.g.

     @mutable struct S;

That would mean you're proposing '@mutable const' as a type constructor, which you'd earlier said otherwise.

That's not a type constructor though, it's a type annotation. A declaration like

    @mutable(S) s;

would not be allowed. Neither as a storage class in function signatures or for locals:

    void foo(@mutable S s) {   // ERROR
        @mutable const int i;  // ERROR
    }

What _is_ allowed is @mutable as a storage class (?) for members only:

    struct S {
        @mutable int x;
    }


Reply via email to