| class List<T> { T t;} |
| |
| class Base<T> { |
| List<T> getList(List<T> l) { |
| return null; |
| } |
| |
| |
| } |
| |
| class Derived extends Base <String> { |
| <warning descr="Unchecked overriding: return type requires unchecked conversion. Found 'List', required 'List<java.lang.String>'">List</warning> getList(List<String> l) { |
| return null; |
| } |
| } |
| |
| class A1 { |
| <T> T foo(T t) { |
| return null; |
| } |
| } |
| |
| class A2 extends A1 { |
| <warning descr="Unchecked overriding: return type requires unchecked conversion. Found 'java.lang.Object', required 'T'">Object</warning> foo(Object o) { |
| return null; |
| } |
| } |
| |
| //IDEADEV-15918 |
| abstract class Outer<U> { |
| public abstract Inner m(U u); |
| |
| public class Inner { |
| } |
| } |
| |
| class Other extends Outer<Other> { |
| public Ither m(Other other) { |
| return new Ither(); |
| } |
| |
| public class Ither extends Inner { |
| } |
| } |
| //end of IDEADEV-15918 |