test/tools/javac/generics/inference/6938454/T6938454b.java

Thu, 29 Jul 2010 15:56:25 +0100

author
mcimadamore
date
Thu, 29 Jul 2010 15:56:25 +0100
changeset 615
36c4ec4525b4
child 650
b599cc9a9c22
permissions
-rw-r--r--

6938454: Unable to determine generic type in program that compiles under Java 6
Summary: a redundant dubtyping check causes spurious inference failure
Reviewed-by: jjg

mcimadamore@615 1 /*
mcimadamore@615 2 * Copyright 2010 Sun Microsystems, Inc. All Rights Reserved.
mcimadamore@615 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
mcimadamore@615 4 *
mcimadamore@615 5 * This code is free software; you can redistribute it and/or modify it
mcimadamore@615 6 * under the terms of the GNU General Public License version 2 only, as
mcimadamore@615 7 * published by the Free Software Foundation.
mcimadamore@615 8 *
mcimadamore@615 9 * This code is distributed in the hope that it will be useful, but WITHOUT
mcimadamore@615 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
mcimadamore@615 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
mcimadamore@615 12 * version 2 for more details (a copy is included in the LICENSE file that
mcimadamore@615 13 * accompanied this code).
mcimadamore@615 14 *
mcimadamore@615 15 * You should have received a copy of the GNU General Public License version
mcimadamore@615 16 * 2 along with this work; if not, write to the Free Software Foundation,
mcimadamore@615 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
mcimadamore@615 18 *
mcimadamore@615 19 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
mcimadamore@615 20 * CA 95054 USA or visit www.sun.com if you need additional information or
mcimadamore@615 21 * have any questions.
mcimadamore@615 22 */
mcimadamore@615 23
mcimadamore@615 24 import java.util.List;
mcimadamore@615 25
mcimadamore@615 26 /*
mcimadamore@615 27 * @test
mcimadamore@615 28 * @bug 6938454
mcimadamore@615 29 *
mcimadamore@615 30 * @summary Unable to determine generic type in program that compiles under Java 6
mcimadamore@615 31 * @author mcimadamore
mcimadamore@615 32 * @compile T6938454b.java
mcimadamore@615 33 *
mcimadamore@615 34 */
mcimadamore@615 35
mcimadamore@615 36 class T6938454b {
mcimadamore@615 37
mcimadamore@615 38 static interface A {}
mcimadamore@615 39 static interface B extends A {}
mcimadamore@615 40 static class C implements B {}
mcimadamore@615 41
mcimadamore@615 42 <T, R extends T, S extends R> List<R> m(List<T> l, S s) {
mcimadamore@615 43 return null;
mcimadamore@615 44 }
mcimadamore@615 45
mcimadamore@615 46 List<B> test(List<A> la) {
mcimadamore@615 47 return m(la, new C());
mcimadamore@615 48 }
mcimadamore@615 49 }

mercurial