Mercurial > vim
comparison src/testdir/test_vim9_builtin.vim @ 28806:3754393e05bc v8.2.4927
patch 8.2.4927: return type of remove() incorrect when using three arguments
Commit: https://github.com/vim/vim/commit/2ac037f54bb2588b7a86e61c9c6e9504884edbec
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon May 9 14:12:14 2022 +0100
patch 8.2.4927: return type of remove() incorrect when using three arguments
Problem: Return type of remove() incorrect when using three arguments.
Solution: Use first argument type when there are three arguments.
(closes #10387)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 09 May 2022 15:15:03 +0200 |
parents | c428a4e53b9c |
children | 1ad71fcbf546 |
comparison
equal
deleted
inserted
replaced
28805:2a1287ec767f | 28806:3754393e05bc |
---|---|
3206 var x: string = range(2)->extend(['x'])->remove(2) | 3206 var x: string = range(2)->extend(['x'])->remove(2) |
3207 assert_equal('x', x) | 3207 assert_equal('x', x) |
3208 enddef | 3208 enddef |
3209 | 3209 |
3210 def Test_remove_return_type() | 3210 def Test_remove_return_type() |
3211 var l = remove({one: [1, 2], two: [3, 4]}, 'one') | 3211 var l: list<number> = remove({one: [1, 2], two: [3, 4]}, 'one') |
3212 var res = 0 | 3212 l->assert_equal([1, 2]) |
3213 for n in l | 3213 |
3214 res += n | 3214 var ll: list<number> = remove(range(3), 0, 1) |
3215 endfor | 3215 ll->assert_equal([0, 1]) |
3216 res->assert_equal(3) | |
3217 enddef | 3216 enddef |
3218 | 3217 |
3219 def Test_rename() | 3218 def Test_rename() |
3220 v9.CheckDefAndScriptFailure(['rename(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3219 v9.CheckDefAndScriptFailure(['rename(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3221 v9.CheckDefAndScriptFailure(['rename("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3220 v9.CheckDefAndScriptFailure(['rename("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |