import testlib.util.*;
class ListOuter<T> {}
public class InnerGenerics {
class ListInner<T> {}
void testInner1() {
@Odd ListOuter<String> o = new @Odd ListOuter<String>();
@Odd ListInner<String> i = new @Odd ListInner<String>();
}
void testInner2() {
//:: error: (assignment.type.incompatible)
@Odd ListOuter<String> o = new ListOuter<String>();
//:: error: (assignment.type.incompatible)
@Odd ListInner<String> i = new ListInner<String>();
}
void testInner3() {
ListOuter<@Odd String> o = new ListOuter<@Odd String>();
ListInner<@Odd String> i = new ListInner<@Odd String>();
}
void testInner4() {
//:: error: (assignment.type.incompatible)
ListOuter<@Odd String> o = new ListOuter<String>();
//:: error: (assignment.type.incompatible)
ListInner<@Odd String> i = new ListInner<String>();
}
// more examples
}