/**
 * @test /nodynamiccopyright/
 * @bug 7177306
 * @summary Regression: unchecked method call does not erase return type
 * @compile/fail/ref=T7177306b.out -Werror -Xlint:unchecked -XDrawDiagnostics T7177306b.java
 */

import java.util.List;

class T7177306b {

    <T, S extends List<T>> List<T> m(List<? super T> arg1, S arg2, Class<Object> arg3) { return arg2; }

    void test(List<Integer> li, List<String> ls, Class c) {
        m(li, ls, c);
        // should fail, because of bounds T <: Integer, S :> List<String>
    }
}