Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.6.0-alpha-3, 3.0.0-alpha-2, 2.5.0
-
None
Description
Fails to compile the following code:
@groovy.transform.CompileStatic public class A<T extends List<E>, E extends Map<String, Integer>> { E getFirstRecord(T recordList) { return recordList.get(0); } }
Error messages:
BUG! exception in phase 'instruction selection' in source unit 'ConsoleScript0' Expected earlier checking to detect generics parameter arity mismatch Expected: java.util.Map<K,V> Supplied: java.util.Map<E> at org.codehaus.groovy.ast.tools.GenericsUtils.extractPlaceholders(GenericsUtils.java:169) at org.codehaus.groovy.ast.tools.GenericsUtils.extractPlaceholders(GenericsUtils.java:142) at org.codehaus.groovy.ast.GenericsType$GenericsTypeMatcher.compareGenericsWithBound(GenericsType.java:375) at org.codehaus.groovy.ast.GenericsType$GenericsTypeMatcher.checkGenerics(GenericsType.java:307) at org.codehaus.groovy.ast.GenericsType$GenericsTypeMatcher.matches(GenericsType.java:276) at org.codehaus.groovy.ast.GenericsType.isCompatibleWith(GenericsType.java:198) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkTypeGenerics(StaticTypeCheckingVisitor.java:1174) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkReturnType(StaticTypeCheckingVisitor.java:2076) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor$1.returnStatementAdded(StaticTypeCheckingVisitor.java:309) at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitReturnStatement(StaticTypeCheckingVisitor.java:2026) at org.codehaus.groovy.ast.stmt.ReturnStatement.visit(ReturnStatement.java:49)
Attachments
Issue Links
- links to