]>
Commit | Line | Data |
---|---|---|
b4c522fa IB |
1 | /* |
2 | TEST_OUTPUT: | |
3 | --- | |
5fee5ec3 IB |
4 | fail_compilation/fail9414b.d(47): Error: variable `fail9414b.C.foo.__require.x` cannot modify parameter `x` in contract |
5 | fail_compilation/fail9414b.d(34): Error: variable `fail9414b.C.foo.__require.x` cannot modify parameter `x` in contract | |
6 | fail_compilation/fail9414b.d(35): Error: variable `fail9414b.C.foo.__require.bar.y` cannot modify parameter `y` in contract | |
7 | fail_compilation/fail9414b.d(40): Error: variable `fail9414b.C.foo.__require.x` cannot modify parameter `x` in contract | |
8 | fail_compilation/fail9414b.d(41): Error: variable `fail9414b.C.foo.__require.bar.y` cannot modify parameter `y` in contract | |
9 | fail_compilation/fail9414b.d(42): Error: variable `fail9414b.C.foo.__require.bar.s` cannot modify result `s` in contract | |
10 | fail_compilation/fail9414b.d(52): Error: variable `fail9414b.C.foo.__require.x` cannot modify parameter `x` in contract | |
11 | fail_compilation/fail9414b.d(75): Error: variable `fail9414b.C.foo.__ensure.x` cannot modify result `x` in contract | |
12 | fail_compilation/fail9414b.d(76): Error: variable `fail9414b.C.foo.__ensure.r` cannot modify result `r` in contract | |
13 | fail_compilation/fail9414b.d(60): Error: variable `fail9414b.C.foo.__ensure.x` cannot modify result `x` in contract | |
14 | fail_compilation/fail9414b.d(61): Error: variable `fail9414b.C.foo.__ensure.r` cannot modify result `r` in contract | |
15 | fail_compilation/fail9414b.d(62): Error: variable `fail9414b.C.foo.__ensure.baz.y` cannot modify parameter `y` in contract | |
16 | fail_compilation/fail9414b.d(67): Error: variable `fail9414b.C.foo.__ensure.x` cannot modify result `x` in contract | |
17 | fail_compilation/fail9414b.d(68): Error: variable `fail9414b.C.foo.__ensure.r` cannot modify result `r` in contract | |
18 | fail_compilation/fail9414b.d(69): Error: variable `fail9414b.C.foo.__ensure.baz.y` cannot modify parameter `y` in contract | |
19 | fail_compilation/fail9414b.d(70): Error: variable `fail9414b.C.foo.__ensure.baz.s` cannot modify result `s` in contract | |
20 | fail_compilation/fail9414b.d(81): Error: variable `fail9414b.C.foo.__ensure.x` cannot modify result `x` in contract | |
21 | fail_compilation/fail9414b.d(82): Error: variable `fail9414b.C.foo.__ensure.r` cannot modify result `r` in contract | |
b4c522fa IB |
22 | --- |
23 | */ | |
24 | ||
25 | class 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 | } |