diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/diagnostics/implicit-cast-lvalue.slang | 15 | ||||
| -rw-r--r-- | tests/diagnostics/implicit-cast-lvalue.slang.expected | 7 |
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/diagnostics/implicit-cast-lvalue.slang b/tests/diagnostics/implicit-cast-lvalue.slang new file mode 100644 index 000000000..4bf3c13b0 --- /dev/null +++ b/tests/diagnostics/implicit-cast-lvalue.slang @@ -0,0 +1,15 @@ +//TEST:SIMPLE: + +// Passing an argument for an `out` parameter such +// that implicit conversion would be required in +// both directions. + +void a(out uint x) +{ + x = 0; +} + +void b(int y) +{ + a(y); +} diff --git a/tests/diagnostics/implicit-cast-lvalue.slang.expected b/tests/diagnostics/implicit-cast-lvalue.slang.expected new file mode 100644 index 000000000..e5685fc51 --- /dev/null +++ b/tests/diagnostics/implicit-cast-lvalue.slang.expected @@ -0,0 +1,7 @@ +result code = -1 +standard error = { +tests/diagnostics/implicit-cast-lvalue.slang(14): error 30047: argument passed to parameter '0' must be l-value. +tests/diagnostics/implicit-cast-lvalue.slang(14): note 30048: argument was implicitly cast from 'int' to 'uint', and Slang does not support using an implicit cast as an l-value +} +standard output = { +} |
