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/vim9instr.c b/src/vim9instr.c
index 89f1243..8b11705 100644
--- a/src/vim9instr.c
+++ b/src/vim9instr.c
@@ -2521,6 +2521,10 @@
class_unref(isn->isn_arg.classmember.cm_class);
break;
+ case ISN_STOREINDEX:
+ class_unref(isn->isn_arg.storeindex.si_class);
+ break;
+
case ISN_TRY:
vim_free(isn->isn_arg.tryref.try_ref);
break;
@@ -2622,7 +2626,6 @@
case ISN_SLICE:
case ISN_SOURCE:
case ISN_STORE:
- case ISN_STOREINDEX:
case ISN_STORENR:
case ISN_STOREOUTER:
case ISN_STORE_THIS: