Bugfix: restoring original overload matching scheme for Ruby and Python

This commit is contained in:
Matthias Koefferlein
2024-05-25 18:58:18 +02:00
parent eb92e5f2d1
commit d59d318218
4 changed files with 81 additions and 33 deletions
+2 -2
View File
@@ -3261,14 +3261,14 @@ class BasicTest(unittest.TestCase):
bb.d4(1, "a", 2.0, xxx=17)
except Exception as ex:
m = str(ex)
self.assertEqual(m, "Unknown keyword parameter: xxx in BB.d4")
self.assertEqual(m, "Can't match arguments. Variants are:\n string d4(int a, string b, double c, B3::E d = E3A, variant e = nil) [unknown keyword parameter: xxx]\n in BB.d4")
m = ""
try:
bb.d4(a=1, b="a", c=2.0, xxx=17)
except Exception as ex:
m = str(ex)
self.assertEqual(m, "Unknown keyword parameter: xxx in BB.d4")
self.assertEqual(m, "Can't match arguments. Variants are:\n string d4(int a, string b, double c, B3::E d = E3A, variant e = nil) [unknown keyword parameter: xxx]\n in BB.d4")
self.assertEqual(bb.d4(1, "a", 2.0), "1,a,2,100,nil")
self.assertEqual(bb.d4(1, "a", 2.0, e=42), "1,a,2,100,42")
+2 -2
View File
@@ -3181,7 +3181,7 @@ class Basic_TestClass < TestBase
rescue => ex
m = ex.to_s
end
assert_equal(m, "Unknown keyword parameter: xxx in BB::d4")
assert_equal(m, "Can't match arguments. Variants are:\n string d4(int a, string b, double c, B3::E d = E3A, variant e = nil) [unknown keyword parameter: xxx]\n in BB::d4")
m = ""
begin
@@ -3189,7 +3189,7 @@ class Basic_TestClass < TestBase
rescue => ex
m = ex.to_s
end
assert_equal(m, "Unknown keyword parameter: xxx in BB::d4")
assert_equal(m, "Can't match arguments. Variants are:\n string d4(int a, string b, double c, B3::E d = E3A, variant e = nil) [unknown keyword parameter: xxx]\n in BB::d4")
assert_equal(bb.d4(1, "a", 2.0), "1,a,2,100,nil")
assert_equal(bb.d4(1, "a", 2.0, e: 42), "1,a,2,100,42")