• K
    Using two type parameters was causing too much problem, as illustrated in the... · 457315f4
    kohsuke 提交于
    Using two type parameters was causing too much problem, as illustrated in the following. Falling back to one type argument version, which is much easier to handle:
    ------------------
    import java.util.ArrayList;
    
    class Job<J extends Job<J,R>, R extends Run<J,R>> {}
    class Run<J extends Job<J,R>, R extends Run<J,R>> {}
    
    class Job2 extends Job<Job2,Run2> {}
    class Run2 extends Run<Job2,Run2> {}
    
    class RunList<J extends Job<J,R>, R extends Run<J,R>> extends ArrayList<R> {}
    
    class Foo {
        // how do I make this work?
        public void test1(RunList<Job,Run> why) {}
    
        // this works
        public void test2(RunList<Job2,Run2> why) {}
    }
    
    git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@34043 71c3de6d-444a-0410-be80-ed276b4c234a
    457315f4
Job.java 45.6 KB