You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Constantine Plotnikov (JIRA)" <ji...@apache.org> on 2018/10/09 19:23:00 UTC

[jira] [Created] (GROOVY-8837) Invalid type inference for redefined generic boundaries

Constantine Plotnikov created GROOVY-8837:
---------------------------------------------

             Summary: Invalid type inference for redefined generic boundaries
                 Key: GROOVY-8837
                 URL: https://issues.apache.org/jira/browse/GROOVY-8837
             Project: Groovy
          Issue Type: Bug
          Components: Compiler
    Affects Versions: 2.5.2
            Reporter: Constantine Plotnikov
         Attachments: groovy-bug-generic-extension.zip

Static compiler incorrectly calculates type boundary for chain calls with generic types. When method is called, it takes boundary defined in the method of the class (Base in sample), instead of the boundary redefined in subclass (SubClass in sample).

The bug was discovered when working with Lombok SuperBuilder generated classes from Groovy. The attached project demonstrate the bug on the smaller sample.

Note that Java test infers type correctly, but groovy does not. However, the groovy test works when CompileStatic annotation is disabled.

IDEA also shows red code here, but it possibly follows Groovy logic.

The bug also affects earlier versions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)