mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 05:00:16 +03:00
85 lines
2.7 KiB
D
85 lines
2.7 KiB
D
/*
|
|
TEST_OUTPUT:
|
|
---
|
|
fail_compilation/fail9413.d(45): Error: variable `fail9413.foo.x` cannot modify parameter `x` in contract
|
|
fail_compilation/fail9413.d(32): Error: variable `fail9413.foo.x` cannot modify parameter `x` in contract
|
|
fail_compilation/fail9413.d(33): Error: variable `fail9413.foo.bar.y` cannot modify parameter `y` in contract
|
|
fail_compilation/fail9413.d(38): Error: variable `fail9413.foo.x` cannot modify parameter `x` in contract
|
|
fail_compilation/fail9413.d(39): Error: variable `fail9413.foo.bar.y` cannot modify parameter `y` in contract
|
|
fail_compilation/fail9413.d(40): Error: variable `fail9413.foo.bar.s` cannot modify result `s` in contract
|
|
fail_compilation/fail9413.d(50): Error: variable `fail9413.foo.x` cannot modify parameter `x` in contract
|
|
fail_compilation/fail9413.d(73): Error: variable `fail9413.foo.x` cannot modify parameter `x` in contract
|
|
fail_compilation/fail9413.d(74): Error: variable `fail9413.foo.r` cannot modify result `r` in contract
|
|
fail_compilation/fail9413.d(58): Error: variable `fail9413.foo.x` cannot modify parameter `x` in contract
|
|
fail_compilation/fail9413.d(59): Error: variable `fail9413.foo.r` cannot modify result `r` in contract
|
|
fail_compilation/fail9413.d(60): Error: variable `fail9413.foo.baz.y` cannot modify parameter `y` in contract
|
|
fail_compilation/fail9413.d(65): Error: variable `fail9413.foo.x` cannot modify parameter `x` in contract
|
|
fail_compilation/fail9413.d(66): Error: variable `fail9413.foo.r` cannot modify result `r` in contract
|
|
fail_compilation/fail9413.d(67): Error: variable `fail9413.foo.baz.y` cannot modify parameter `y` in contract
|
|
fail_compilation/fail9413.d(68): Error: variable `fail9413.foo.baz.s` cannot modify result `s` in contract
|
|
fail_compilation/fail9413.d(79): Error: variable `fail9413.foo.x` cannot modify parameter `x` in contract
|
|
fail_compilation/fail9413.d(80): Error: variable `fail9413.foo.r` cannot modify result `r` in contract
|
|
---
|
|
*/
|
|
|
|
int foo(int x)
|
|
in
|
|
{
|
|
int a;
|
|
int bar(int y)
|
|
in
|
|
{
|
|
x = 10; // err
|
|
y = 10; // err
|
|
a = 1; // OK
|
|
}
|
|
out(s)
|
|
{
|
|
x = 10; // err
|
|
y = 10; // err
|
|
s = 10; // err
|
|
a = 1; // OK
|
|
}
|
|
do
|
|
{
|
|
x = 10; // err
|
|
y = 1; // OK
|
|
a = 1; // OK
|
|
return 2;
|
|
}
|
|
x = 10; // err
|
|
}
|
|
out(r)
|
|
{
|
|
int a;
|
|
int baz(int y)
|
|
in
|
|
{
|
|
x = 10; // err
|
|
r = 10; // err
|
|
y = 10; // err
|
|
a = 1; // OK
|
|
}
|
|
out(s)
|
|
{
|
|
x = 10; // err
|
|
r = 10; // err
|
|
y = 10; // err
|
|
s = 10; // err
|
|
a = 1; // OK
|
|
}
|
|
do
|
|
{
|
|
x = 10; // err
|
|
r = 10; // err
|
|
y = 1; // OK
|
|
a = 1; // OK
|
|
return 2;
|
|
}
|
|
x = 10; // err
|
|
r = 10; // err
|
|
}
|
|
do
|
|
{
|
|
return 1;
|
|
}
|