diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/language-feature/properties/property-in-interface.slang | 11 | ||||
| -rw-r--r-- | tests/language-feature/properties/property-in-interface.slang.expected.txt | 6 |
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 |
