view test/tools/javac/generics/inference/6650759/T6650759m.java @ 165:e62c8af01197 jdk6-b32

OPENJDK6-35: backport of JDK-6650759 to openjdk6 Summary: Inference of formal type parameter (unused in formal parameters) is not performed. Reviewed-by: aph Contributed-by: vkarnauk <vladislav@azulsystems.com>, nikgor <nikolay@azulsystems.com>, ikrylov <ivan@azulsystems.com>
author ikrylov
date Mon, 23 Jun 2014 17:25:14 +0400
parents
children
line wrap: on
line source

/*
 * @test /nodynamiccopyright/
 * @bug     6650759
 * @summary Inference of formal type parameter (unused in formal parameters) is not performed
 * @compile/fail/ref=T6650759m.out -XDrawDiagnostics T6650759m.java
 */

import java.util.*;

class T6650759m {
    <Z> List<? super Z> m(List<? extends List<? super Z>> ls) {
        return ls.get(0);
    }

    void test() {
        ArrayList<ArrayList<Integer>> lli = new ArrayList<ArrayList<Integer>>();
        ArrayList<Integer> li = new ArrayList<Integer>();
        li.add(2);
        lli.add(li);
        List<? super String> ls = m(lli);
        ls.add("crash");
        Integer i = li.get(1);
    }
}