d: Merge upstream dmd 47871363d, druntime, c52e28b7, phobos 99e9c1b77.
[official-gcc.git] / gcc / testsuite / gdc.test / fail_compilation / fail14486.d
blob35312454960b7c61649deac829fd5a46e5f9b2dc
1 // REQUIRED_ARGS: -o-
3 /*
4 TEST_OUTPUT:
5 ---
6 fail_compilation/fail14486.d(47): Error: the `delete` keyword is obsolete
7 fail_compilation/fail14486.d(47): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
8 fail_compilation/fail14486.d(48): Error: the `delete` keyword is obsolete
9 fail_compilation/fail14486.d(48): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
10 fail_compilation/fail14486.d(53): Error: the `delete` keyword is obsolete
11 fail_compilation/fail14486.d(53): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
12 fail_compilation/fail14486.d(54): Error: the `delete` keyword is obsolete
13 fail_compilation/fail14486.d(54): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
14 fail_compilation/fail14486.d(59): Error: the `delete` keyword is obsolete
15 fail_compilation/fail14486.d(59): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
16 fail_compilation/fail14486.d(60): Error: the `delete` keyword is obsolete
17 fail_compilation/fail14486.d(60): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
18 fail_compilation/fail14486.d(65): Error: the `delete` keyword is obsolete
19 fail_compilation/fail14486.d(65): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
20 fail_compilation/fail14486.d(66): Error: the `delete` keyword is obsolete
21 fail_compilation/fail14486.d(66): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
22 fail_compilation/fail14486.d(71): Error: the `delete` keyword is obsolete
23 fail_compilation/fail14486.d(71): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
24 fail_compilation/fail14486.d(72): Error: the `delete` keyword is obsolete
25 fail_compilation/fail14486.d(72): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
26 fail_compilation/fail14486.d(77): Error: the `delete` keyword is obsolete
27 fail_compilation/fail14486.d(77): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
28 fail_compilation/fail14486.d(78): Error: the `delete` keyword is obsolete
29 fail_compilation/fail14486.d(78): use `object.destroy()` (and `core.memory.GC.free()` if applicable) instead
30 ---
33 class C0a { }
34 class C1a { ~this() {} }
36 class C0b { }
37 class C1b { ~this() {} }
39 struct S0a { }
40 struct S1a { ~this() {} }
42 struct S0b { }
43 struct S1b { ~this() {} }
45 void test1a() @nogc pure @safe
47 C0a c0; delete c0; // error
48 C1a c1; delete c1; // error
51 void test1b() nothrow
53 C0b c0; delete c0; // no error
54 C1b c1; delete c1; // error
57 void test2a() @nogc pure @safe
59 S0a* s0; delete s0; // error
60 S1a* s1; delete s1; // error
63 void test2b() nothrow
65 S0b* s0; delete s0; // no error
66 S1b* s1; delete s1; // error
69 void test3a() @nogc pure @safe
71 S0a[] a0; delete a0; // error
72 S1a[] a1; delete a1; // error
75 void test3b() nothrow
77 S0b[] a0; delete a0; // no error
78 S1b[] a1; delete a1; // error