// Test case for Issue 240:
// https://github.com/typetools/checker-framework/issues/240

import org.checkerframework.checker.nullness.qual.Nullable;

class I<A> {}

// This should compile, because the implicit upper
// bound of I is "@Nullable Object"
class Use extends I<@Nullable String> {}

class I2<A extends Object> {}

// This use must be an error.
// :: error: (type.argument.type.incompatible)
class Use2 extends I2<@Nullable String> {}
