import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
import org.checkerframework.checker.nullness.qual.*;
import org.checkerframework.framework.qual.SubtypeOf;
import org.checkerframework.framework.qual.Unused;

@SubtypeOf({})
@Target(ElementType.TYPE_USE)
@interface DoesNotUseF {}

public class Uninit11 {

  @Unused(when = DoesNotUseF.class)
  public Object f;

  // parameter disambiguate_overloads is just to distinguish the overloaded constructors
  public @DoesNotUseF Uninit11(int disambiguate_overloads) {}

  // :: error: (initialization.fields.uninitialized)
  public Uninit11(boolean disambiguate_overloads) {}

  public Uninit11(long x) {
    f = new Object();
  }
}
