--- Comment #3 from Brad Roberts <> 2011-09-17 21:01:43 PDT 
My current reduction:

template isMutable(T)
    enum isMutable = !is(T == const) && !is(T == immutable);

    static assert(isMutable!(shared const(int)[]));

int atomicLoad( ref const shared int val )
    return 0;

void main()
    int a;

$ dmd bug6670.d
bug6670.d(20): Error: cast(shared(const(int)))a is not an lvalue

Not sure why the unused isMutable template is required, nor why the unittest
block is required when -unittest isn't part of the dmd arguments, but they are
and without them the code compiles.

Don or Daniel, either of you want to take this?  I took it because I originally
thought it was a iasm or backend bug, which are areas I'm more familiar with.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to