blob: fb60ea55a5d50d5741b85b48feb668253fc10ac2 [file] [log] [blame]
import java.util.Set;
public class WrongGenerics {
@SuppressWarnings("unchecked")
<T> Set<Foo<? extends T>> foo(Set<Foo<?>> foo) {
return <error descr="Inconvertible types; cannot cast 'java.util.Set<Foo<?>>' to 'java.util.Set<Foo<? extends T>>'">(Set<Foo<? extends T>>)foo</error>;
}
@SuppressWarnings("unchecked")
<T> Set<Foo<? extends T>> bar(Set<Foo<? extends T>> foo) {
return <error descr="Inconvertible types; cannot cast 'java.util.Set<Foo<? extends T>>' to 'java.util.Set<Foo<?>>'">(Set<Foo<?>>) foo</error>;
}
@SuppressWarnings("unchecked")
<T> Foo<? extends T> bothSucceed(Foo<?> foo) {
return (Foo<? extends T>) foo;
}
@SuppressWarnings("unchecked")
<T> Foo<Foo<? extends T>> bothFail(Foo<Foo<?>> foo) {
return <error descr="Inconvertible types; cannot cast 'Foo<Foo<?>>' to 'Foo<Foo<? extends T>>'">(Foo<Foo<? extends T>>) foo</error>;
}
@SuppressWarnings("unchecked")
<T> Set<Foo<? extends T>> onlyIntelliJSucceeds(Set<Foo<?>> foo) {
return <error descr="Inconvertible types; cannot cast 'java.util.Set<Foo<?>>' to 'java.util.Set<Foo<? extends T>>'">(Set<Foo<? extends T>>) foo</error>;
}
}
class Foo<T> {
}