http://d.puremagic.com/issues/show_bug.cgi?id=6670
--- Comment #3 from Brad Roberts <bra...@puremagic.com> 2011-09-17 21:01:43 PDT --- My current reduction: template isMutable(T) { enum isMutable = !is(T == const) && !is(T == immutable); } unittest { static assert(isMutable!(shared const(int)[])); } int atomicLoad( ref const shared int val ) { return 0; } void main() { int a; atomicLoad(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: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------