summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/diagnostics/interfaces/return-type-mismatch.slang20
-rw-r--r--tests/language-feature/interfaces/argument-direction-mismatch.slang4
2 files changed, 22 insertions, 2 deletions
diff --git a/tests/diagnostics/interfaces/return-type-mismatch.slang b/tests/diagnostics/interfaces/return-type-mismatch.slang
new file mode 100644
index 000000000..244f2f18e
--- /dev/null
+++ b/tests/diagnostics/interfaces/return-type-mismatch.slang
@@ -0,0 +1,20 @@
+// return-type-mismatch.slang
+
+//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK):
+
+enum LobeTypes : uint32_t { None = 0, Diffuse = 1 }
+
+interface IMaterialInstance {
+ LobeTypes get_lobe_types();
+}
+
+struct Broken : IMaterialInstance {
+ // CHECK: ([[# @LINE+1]]): error 38106:
+ uint get_lobe_types() { return LobeTypes::Diffuse; }
+}
+
+int test()
+{
+ Broken b;
+ return 0;
+} \ No newline at end of file
diff --git a/tests/language-feature/interfaces/argument-direction-mismatch.slang b/tests/language-feature/interfaces/argument-direction-mismatch.slang
index cf9d99fdd..e02715ea0 100644
--- a/tests/language-feature/interfaces/argument-direction-mismatch.slang
+++ b/tests/language-feature/interfaces/argument-direction-mismatch.slang
@@ -6,11 +6,11 @@ public interface ITest {
};
public struct TestImpl : ITest {
- // CHECK: ([[# @LINE + 1]]): error 38105
+ // CHECK: ([[# @LINE + 1]]): error 38108
public void testIn(out int a) {
a = 5;
}
- // CHECK: ([[# @LINE + 1]]): error 38105
+ // CHECK: ([[# @LINE + 1]]): error 38108
public void testOut(int b) {
b = 6;
}