patch 8.2.3229: Vim9: runtime and compile time type checks are not the same

Problem:    Vim9: runtime and compile time type checks are not the same.
Solution:   Add more runtime type checks for builtin functions. (Yegappan
            Lakshmanan, closes #8646)
diff --git a/src/testdir/test_float_func.vim b/src/testdir/test_float_func.vim
index b10bffd..ba15ecf 100644
--- a/src/testdir/test_float_func.vim
+++ b/src/testdir/test_float_func.vim
@@ -240,8 +240,7 @@
   call assert_equal('nan', string(str2float('  nan  ')))
 
   call assert_equal(1.2, str2float(1.2))
-  call CheckDefExecFailure(['str2float(1.2)'], 'E1013:')
-  call CheckScriptFailure(['vim9script', 'str2float(1.2)'], 'E806:')
+  call CheckDefAndScriptFailure2(['str2float(1.2)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1')
   call assert_fails("call str2float([])", 'E730:')
   call assert_fails("call str2float({})", 'E731:')
   call assert_fails("call str2float(function('string'))", 'E729:')