summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/language-feature/properties/property-in-interface.slang11
-rw-r--r--tests/language-feature/properties/property-in-interface.slang.expected.txt6
2 files changed, 13 insertions, 4 deletions
diff --git a/tests/language-feature/properties/property-in-interface.slang b/tests/language-feature/properties/property-in-interface.slang
index ba6d5eaa9..3622861e0 100644
--- a/tests/language-feature/properties/property-in-interface.slang
+++ b/tests/language-feature/properties/property-in-interface.slang
@@ -19,6 +19,8 @@ struct MyCell : ICell
struct YourCell : ICell
{
int value;
+
+ int getValue() { return value; }
}
int helper<C : ICell>(C cell)
@@ -31,7 +33,14 @@ int test(int value)
{
MyCell myCell = { value+1 };
YourCell yourCell = { value };
- return helper(myCell)*16 + helper(yourCell);
+
+ // Note: fetching `value` directly from `YourCell`
+ // to confirm that member lookup is prioritizing
+ // the concrete `YourCell::value` member of the inherited
+ // abstract member `ICell::value`.
+ //
+ int f = (yourCell.value + yourCell.getValue()) / 2;
+ return helper(myCell)*16 + helper(yourCell) + f;
}
//TEST_INPUT:ubuffer(data=[0 1 2 3], stride=4):out,name=outputBuffer
diff --git a/tests/language-feature/properties/property-in-interface.slang.expected.txt b/tests/language-feature/properties/property-in-interface.slang.expected.txt
index ba2ec282d..e9c86b523 100644
--- a/tests/language-feature/properties/property-in-interface.slang.expected.txt
+++ b/tests/language-feature/properties/property-in-interface.slang.expected.txt
@@ -1,4 +1,4 @@
21
-32
-43
-54
+33
+45
+57