blob: 697cd5af2945f426db7b76ba0ea4cc0569afd8ef [file] [log] [blame]
/*
TEST_OUTPUT:
---
fail_compilation/diag1730.d(38): Error: mutable method diag1730.S.func is not callable using a inout object
fail_compilation/diag1730.d(40): Error: immutable method diag1730.S.iFunc is not callable using a inout object
fail_compilation/diag1730.d(41): Error: shared mutable method diag1730.S.sFunc is not callable using a non-shared inout object
fail_compilation/diag1730.d(42): Error: shared const method diag1730.S.scFunc is not callable using a non-shared inout object
fail_compilation/diag1730.d(57): Error: immutable method diag1730.S.iFunc is not callable using a mutable object
fail_compilation/diag1730.d(58): Error: shared method diag1730.S.sFunc is not callable using a non-shared object
fail_compilation/diag1730.d(59): Error: shared const method diag1730.S.scFunc is not callable using a non-shared mutable object
fail_compilation/diag1730.d(62): Error: mutable method diag1730.S.func is not callable using a const object
fail_compilation/diag1730.d(64): Error: immutable method diag1730.S.iFunc is not callable using a const object
fail_compilation/diag1730.d(65): Error: shared mutable method diag1730.S.sFunc is not callable using a non-shared const object
fail_compilation/diag1730.d(66): Error: shared const method diag1730.S.scFunc is not callable using a non-shared const object
fail_compilation/diag1730.d(69): Error: mutable method diag1730.S.func is not callable using a immutable object
fail_compilation/diag1730.d(72): Error: shared mutable method diag1730.S.sFunc is not callable using a immutable object
fail_compilation/diag1730.d(76): Error: non-shared method diag1730.S.func is not callable using a shared object
fail_compilation/diag1730.d(77): Error: non-shared const method diag1730.S.cFunc is not callable using a shared mutable object
fail_compilation/diag1730.d(78): Error: immutable method diag1730.S.iFunc is not callable using a shared mutable object
fail_compilation/diag1730.d(81): Error: non-shared inout method diag1730.S.wFunc is not callable using a shared mutable object
fail_compilation/diag1730.d(83): Error: non-shared mutable method diag1730.S.func is not callable using a shared const object
fail_compilation/diag1730.d(84): Error: non-shared const method diag1730.S.cFunc is not callable using a shared const object
fail_compilation/diag1730.d(85): Error: immutable method diag1730.S.iFunc is not callable using a shared const object
fail_compilation/diag1730.d(86): Error: shared mutable method diag1730.S.sFunc is not callable using a shared const object
fail_compilation/diag1730.d(88): Error: non-shared inout method diag1730.S.wFunc is not callable using a shared const object
---
*/
struct S
{
void func() { }
void cFunc() const { }
void iFunc() immutable { }
void sFunc() shared { }
void scFunc() shared const { }
void wFunc() inout { }
static void test(inout(S) s)
{
s.func(); // ng
s.cFunc();
s.iFunc(); // ng
s.sFunc(); // ng
s.scFunc(); // ng
s.wFunc();
}
}
void main()
{
S obj;
const(S) cObj;
immutable(S) iObj;
shared(S) sObj;
shared(const(S)) scObj;
obj.func();
obj.cFunc();
obj.iFunc(); // ng
obj.sFunc(); // ng
obj.scFunc(); // ng
obj.wFunc();
cObj.func(); // ng
cObj.cFunc();
cObj.iFunc(); // ng
cObj.sFunc(); // ng
cObj.scFunc(); // ng
cObj.wFunc();
iObj.func(); // ng
iObj.cFunc();
iObj.iFunc();
iObj.sFunc(); // ng
iObj.scFunc();
iObj.wFunc();
sObj.func(); // ng
sObj.cFunc(); // ng
sObj.iFunc(); // ng
sObj.sFunc();
sObj.scFunc();
sObj.wFunc(); // ng
scObj.func(); // ng
scObj.cFunc(); // ng
scObj.iFunc(); // ng
scObj.sFunc(); // ng
scObj.scFunc();
scObj.wFunc(); // ng
}