| interface IA { | |
| <T extends Cloneable & Iterable> void foo(T x); | |
| <T extends Iterable & Cloneable> void foo(T x); | |
| } | |
| abstract class A<T extends Throwable> { | |
| abstract <T extends Comparable<?> & Iterable> void foo(T x, A<?> y); | |
| abstract <T extends Iterable & Comparable<?>> void foo(T x, A<? extends Throwable> y); | |
| } |