final bool inSoundMode = <int?>[] is! List<int>;
main() {}

class Class1<T> {
  Class1._();
  factory Class1() = Class1<T>._;
}

testGeneric() {}

class Class2<T extends num> {
  Class2._();
  factory Class2() = Class2<T>._;
}

class Class3<T extends S, S> {
  Class3._();
  factory Class3() = Class3<T, S>._;
}

class Class4<T extends Class4<T>> {
  Class4._();
  factory Class4() = Class4<T>._;
}

class Class4int extends Class4<Class4int> {
  Class4int._() : super._();
  factory Class4int() = Class4int._;
}

testBounded() {}
expect(expected, actual) {}
throws(Function() f, {bool inSoundModeOnly: false}) {}
