This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch groovy11888
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/groovy11888 by this push:
     new d37bc6b725 GROOVY-11888: STC: method resolution fails for 
UnionTypeClassNode due to premature covariant elimination
d37bc6b725 is described below

commit d37bc6b7258a658bf149897ff47a1d2817aa5805
Author: Paul King <[email protected]>
AuthorDate: Mon Mar 30 11:09:48 2026 +1000

    GROOVY-11888: STC: method resolution fails for UnionTypeClassNode due to 
premature covariant elimination
---
 .../org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
 
b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
index c7676a2ba4..a4783f52fb 100644
--- 
a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
+++ 
b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
@@ -965,7 +965,7 @@ public abstract class StaticTypeCheckingSupport {
             var view = methods;
             if (duckType) {
                 view = methods.stream().filter(m -> 
implementsInterfaceOrSubclassOf(rcvr, m.getDeclaringClass())).toList();
-                if (view.size() > 1 && !first(view).isConstructor())
+                if (view.size() > 1)
                     view = removeCovariantsAndInterfaceEquivalents(view, true);
             }
             view = chooseBestMethods(rcvr, view, argumentTypes);

Reply via email to