diff --git a/src/runtime/MethodBinder.cs b/src/runtime/MethodBinder.cs index 6ed522fb4..bef394ba7 100644 --- a/src/runtime/MethodBinder.cs +++ b/src/runtime/MethodBinder.cs @@ -696,9 +696,7 @@ internal Binding Bind(BorrowedReference inst, BorrowedReference args, BorrowedRe } var match = new MatchedMethod(kwargsMatched, margs, outs, mi); - // Only add matches using implicit conversion if no other regular matches were found, - // since we favor regular matches over matches using implicit conversion - if (usedImplicitConversion && matches.Count == 0) + if (usedImplicitConversion) { if (matchesUsingImplicitConversion == null) { @@ -709,7 +707,7 @@ internal Binding Bind(BorrowedReference inst, BorrowedReference args, BorrowedRe else { matches.Add(match); - // We don't need the matches using implicit conversion anymore + // We don't need the matches using implicit conversion anymore, we can free the memory matchesUsingImplicitConversion = null; } }