patch 9.0.2160: instanceof() should use varargs as second arg
Problem: instanceof() should use varargs as second arg
Solution: Modify `instanceof()` to use varargs instead of list
Modify `instanceof()` to use varargs instead of list
Valid `instanceof()` arguments are `type`s. A `type` is not a value;
it cannot be added to a list.
This change is non-compatible with the current usage of instanceof;
but instanceof is relatively new and it's a trivial change.
fixes: #13421
closes: #13644
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index f9d2e41..216118e 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -2316,7 +2316,7 @@
endclass
instanceof(Foo.new(), 123)
END
- v9.CheckScriptFailure(lines, 'E693: List or Class required for argument 2')
+ v9.CheckScriptFailure(lines, 'E693: Class or class typealias required for argument 2')
lines =<< trim END
vim9script
@@ -2338,7 +2338,7 @@
enddef
Bar()
END
- v9.CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected class<Unknown> but got number')
+ v9.CheckScriptFailure(lines, 'E693: Class or class typealias required for argument 2')
lines =<< trim END
vim9script
@@ -2346,7 +2346,7 @@
endclass
instanceof(Foo.new(), [{}])
END
- v9.CheckSourceFailure(lines, 'E614: Class required')
+ v9.CheckSourceFailure(lines, 'E693: Class or class typealias required for argument 2')
lines =<< trim END
vim9script
@@ -2357,7 +2357,7 @@
enddef
Bar()
END
- v9.CheckSourceFailure(lines, 'E614: Class required')
+ v9.CheckSourceFailure(lines, 'E693: Class or class typealias required for argument 2')
enddef
def Test_invert()