| // A test case that should not longer crash once issue #717 is fixed |
| // https://github.com/typetools/checker-framework/issues/717 |
| public class Issue717 { |
| |
| public static <T extends Interface<? super T>> void foo2(T a, T b) { |
| a.compareTo(b); |
| } |
| |
| public static <T extends Object & Interface<? super T>> void foo(T a, T b) { |
| // asSuper doesn't find Interface, so the type variable F is not substituted |
| // causing isSuptype to be called between Object & Interface and F. |
| a.compareTo(b); |
| } |
| |
| interface Interface<F> { |
| void compareTo(F t); |
| } |
| } |