summaryrefslogtreecommitdiff
path: root/tests/diagnostics
diff options
context:
space:
mode:
Diffstat (limited to 'tests/diagnostics')
-rw-r--r--tests/diagnostics/implicit-cast-lvalue.slang9
-rw-r--r--tests/diagnostics/implicit-cast-lvalue.slang.expected7
2 files changed, 12 insertions, 4 deletions
diff --git a/tests/diagnostics/implicit-cast-lvalue.slang b/tests/diagnostics/implicit-cast-lvalue.slang
index 79b619443..daf196378 100644
--- a/tests/diagnostics/implicit-cast-lvalue.slang
+++ b/tests/diagnostics/implicit-cast-lvalue.slang
@@ -1,15 +1,20 @@
//DIAGNOSTIC_TEST:SIMPLE:
+
+// Generally speaking:
// Passing an argument for an `out` parameter such
// that implicit conversion would be required in
// both directions.
+//
+// But we do have special case code to handle uint/int of the same type and scalar/vector/matrix forms.
+// So for this to fail we need to use floats or something else
-void a(out uint x)
+void a(out float x)
{
x = 0;
}
-void b(int y)
+void b(double y)
{
a(y);
}
diff --git a/tests/diagnostics/implicit-cast-lvalue.slang.expected b/tests/diagnostics/implicit-cast-lvalue.slang.expected
index 3fdd846a5..920ad17c2 100644
--- a/tests/diagnostics/implicit-cast-lvalue.slang.expected
+++ b/tests/diagnostics/implicit-cast-lvalue.slang.expected
@@ -1,9 +1,12 @@
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(19): warning 30081: implicit conversion from 'double' to 'float' is not recommended
a(y);
^
-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
+tests/diagnostics/implicit-cast-lvalue.slang(19): error 30047: argument passed to parameter '0' must be l-value.
+ a(y);
+ ^
+tests/diagnostics/implicit-cast-lvalue.slang(19): note 30048: argument was implicitly cast from 'double' to 'float', and Slang does not support using an implicit cast as an l-value
}
standard output = {
}