```d
synchronized class SyncTable(KEY, VAL) {
        private VAL[KEY] table;
        auto require(KEY key) {
                return table.require(key);
        }
}

auto table = new shared SyncTable!(string, string);
table.require("abc");
```

Fails to compile:
```
// Error: none of the overloads of template `object.require` are callable using argument types `!()(shared(string[string]), string)`
```

Tried casting away shared as a workaround but I assume that will cause some kind of TLS catastrophe.

Reply via email to