[ 
https://issues.apache.org/jira/browse/GROOVY-7826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15288489#comment-15288489
 ] 

Jochen Theodorou commented on GROOVY-7826:
------------------------------------------

thanks for taking the time to explain the problem in more detail. Actually I 
was misunderstanding something and not really understanding the issue. But the 
recursive use of C2 is indeed something that can be solved with your patch. And 
since we need to break the toString somewhere I think you have chosen a good 
place for that.

> Infinite recursion in genericTypeAsString
> -----------------------------------------
>
>                 Key: GROOVY-7826
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7826
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 2.4.6
>         Environment: Groovy Version: 2.4.6 JVM: 1.8.0_91 Vendor: Oracle 
> Corporation OS: Linux
>            Reporter: Magnus Reftel
>              Labels: regresion
>         Attachments: groovy-7826.zip
>
>
> The following two Java classes C1 and C2 cause Groovy to enter infinite 
> recursion in genericTypeAsString when a method that takes a C1 is declared:
> C1.java:
> public class C1 <T2 extends C2<T2,T1>,T1 extends C1<T2,T1>> { }
> class C2<T2 extends C2<T2, T1>, T1 extends C1<T2, T1>> { }
> repro.groovy
> def f(C1 c1) { }
> This is reduced from actual code in Jenkins, where Run and Job have type 
> parameters like this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to