class Main {
  static public final C<? super A<Double>> test() {
    final C<? super A<Double>> x = null;
    x.f = null;
    return x;
  }
}

class A<T> {}

abstract class B<F, B extends F> {}

abstract class C<N extends A<Number>> {
  public B<? extends N, ? extends N> f;
} 