Pavlo Shevchenko created GROOVY-10889: -----------------------------------------
Summary: Casting of arguments in `@NamedVariant` method has no effect Key: GROOVY-10889 URL: https://issues.apache.org/jira/browse/GROOVY-10889 Project: Groovy Issue Type: Bug Affects Versions: 4.0.6 Reporter: Pavlo Shevchenko {code:java} import groovy.transform.NamedVariant class Reproducer { @NamedVariant private static Tuple2<Integer, Set<String>> createSampleData( Integer left = 0, Set<String> right = [] as Set ) { Tuple2.tuple(left, right) } static void main(String[] args) { createSampleData(left: 1) } } {code} The default value of "right" argument (i.e. "[] as Set") is detected as "ArrayList" despite the explicit cast. This used to work in Groovy 3.x, and now fails with {code:java} Exception in thread "main" groovy.lang.MissingMethodException: No signature of method: static dev.pshevche.Reproducer.createSampleData() is applicable for argument types: (Integer, ArrayList) values: [1, []]{code} Replacing the "[] as Set" with "new HashSet<>()" resolves the issue. -- This message was sent by Atlassian Jira (v8.20.10#820010)