// https://issues.dlang.org/show_bug.cgi?id=22626
// REQUIRED_ARGS: -preview=nosharedaccess

shared int k;

class Oops
{
    shared int a;
    shared int* pa;
    synchronized void oops()
    {
        // this should compile since the function is synchronized
        // and `a` is accessed through `this`.
        a = 2;

        // this shouldn't compile because synchronized guards
        // only accesses to the first level of dereferencing
        static assert (!__traits(compiles, *pa = 2));

        // this shouldn't compile `k` is a field of class `Oops`
        static assert (!__traits(compiles, k = 2));
    }
}
