Fix Python compile errors with overloading and varargs

Fixes wrapping overloaded functions/constructors where a vararg
function is declared after a non-vararg function.
This is a long standing bug in the Python layer exposed since fastunpack
was turned on by default.
This commit is contained in:
William S Fulton 2019-02-25 19:27:23 +00:00
commit 83ea2280e2
11 changed files with 199 additions and 22 deletions

View file

@ -11,5 +11,19 @@ let _ =
assert (_vararg_over3 '(2, 2.2, "hey") as string = "2 2.2 hey");
assert (_vararg_over4 '("Hello") as string = "Hello");
assert (_vararg_over4 '(123) as string = "123");
assert (_vararg_over4 '("Hello", 123) as string = "Hello")
assert (_vararg_over4 '("Hello", 123) as string = "Hello");
(* Same as above but non-vararg function declared first *)
assert (_vararg_over6 '("Hello") as string = "Hello");
assert (_vararg_over6 '(2) as string = "2");
assert (_vararg_over7 '("Hello") as string = "Hello");
assert (_vararg_over7 '(2, 2.2) as string = "2 2.2");
assert (_vararg_over8 '("Hello") as string = "Hello");
assert (_vararg_over8 '(2, 2.2, "hey") as string = "2 2.2 hey");
assert (_vararg_over9 '("Hello") as string = "Hello");
assert (_vararg_over9 '(123) as string = "123");
assert (_vararg_over9 '("Hello", 123) as string = "Hello");
;;