patch 9.0.1211: storing value in interface member does not always work
Problem: Storing value in interface member does not always work.
Solution: Convert the index on the interface to the index on the object.
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index ee10a3c..dadd3e4 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -876,14 +876,14 @@
vim9script
interface Result
- this.label: string
+ public this.label: string
this.errpos: number
endinterface
# order of members is opposite of interface
class Failure implements Result
this.errpos: number = 42
- this.label: string = 'label'
+ public this.label: string = 'label'
endclass
def Test()
@@ -891,6 +891,10 @@
assert_equal('label', result.label)
assert_equal(42, result.errpos)
+
+ result.label = 'different'
+ assert_equal('different', result.label)
+ assert_equal(42, result.errpos)
enddef
Test()