]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gdc.test/fail_compilation/fail9414b.d
d: Import dmd b8384668f, druntime e6caaab9, phobos 5ab9ad256 (v2.098.0-beta.1)
[thirdparty/gcc.git] / gcc / testsuite / gdc.test / fail_compilation / fail9414b.d
CommitLineData
b4c522fa
IB
1/*
2TEST_OUTPUT:
3---
5fee5ec3
IB
4fail_compilation/fail9414b.d(47): Error: variable `fail9414b.C.foo.__require.x` cannot modify parameter `x` in contract
5fail_compilation/fail9414b.d(34): Error: variable `fail9414b.C.foo.__require.x` cannot modify parameter `x` in contract
6fail_compilation/fail9414b.d(35): Error: variable `fail9414b.C.foo.__require.bar.y` cannot modify parameter `y` in contract
7fail_compilation/fail9414b.d(40): Error: variable `fail9414b.C.foo.__require.x` cannot modify parameter `x` in contract
8fail_compilation/fail9414b.d(41): Error: variable `fail9414b.C.foo.__require.bar.y` cannot modify parameter `y` in contract
9fail_compilation/fail9414b.d(42): Error: variable `fail9414b.C.foo.__require.bar.s` cannot modify result `s` in contract
10fail_compilation/fail9414b.d(52): Error: variable `fail9414b.C.foo.__require.x` cannot modify parameter `x` in contract
11fail_compilation/fail9414b.d(75): Error: variable `fail9414b.C.foo.__ensure.x` cannot modify result `x` in contract
12fail_compilation/fail9414b.d(76): Error: variable `fail9414b.C.foo.__ensure.r` cannot modify result `r` in contract
13fail_compilation/fail9414b.d(60): Error: variable `fail9414b.C.foo.__ensure.x` cannot modify result `x` in contract
14fail_compilation/fail9414b.d(61): Error: variable `fail9414b.C.foo.__ensure.r` cannot modify result `r` in contract
15fail_compilation/fail9414b.d(62): Error: variable `fail9414b.C.foo.__ensure.baz.y` cannot modify parameter `y` in contract
16fail_compilation/fail9414b.d(67): Error: variable `fail9414b.C.foo.__ensure.x` cannot modify result `x` in contract
17fail_compilation/fail9414b.d(68): Error: variable `fail9414b.C.foo.__ensure.r` cannot modify result `r` in contract
18fail_compilation/fail9414b.d(69): Error: variable `fail9414b.C.foo.__ensure.baz.y` cannot modify parameter `y` in contract
19fail_compilation/fail9414b.d(70): Error: variable `fail9414b.C.foo.__ensure.baz.s` cannot modify result `s` in contract
20fail_compilation/fail9414b.d(81): Error: variable `fail9414b.C.foo.__ensure.x` cannot modify result `x` in contract
21fail_compilation/fail9414b.d(82): Error: variable `fail9414b.C.foo.__ensure.r` cannot modify result `r` in contract
b4c522fa
IB
22---
23*/
24
25class C
26{
27 final int foo(int x)
28 in
29 {
30 int a;
31 int bar(int y)
32 in
33 {
34 x = 10; // err
35 y = 10; // err
36 a = 1; // OK
37 }
38 out(s)
39 {
40 x = 10; // err
41 y = 10; // err
42 s = 10; // err
43 a = 1; // OK
44 }
5fee5ec3 45 do
b4c522fa
IB
46 {
47 x = 10; // err
48 y = 1; // OK
49 a = 1; // OK
50 return 2;
51 }
52 x = 10; // err
53 }
54 out(r)
55 {
56 int a;
57 int baz(int y)
58 in
59 {
60 x = 10; // err
61 r = 10; // err
62 y = 10; // err
63 a = 1; // OK
64 }
65 out(s)
66 {
67 x = 10; // err
68 r = 10; // err
69 y = 10; // err
70 s = 10; // err
71 a = 1; // OK
72 }
5fee5ec3 73 do
b4c522fa
IB
74 {
75 x = 10; // err
76 r = 10; // err
77 y = 1; // OK
78 a = 1; // OK
79 return 2;
80 }
81 x = 10; // err
82 r = 10; // err
83 }
5fee5ec3 84 do
b4c522fa
IB
85 {
86 return 1;
87 }
88}