import 'dart:async';

final bool isWeakMode = const <Null>[] is List<Object>;

const c0 = null is int?;

const c1 = null is int;

const c2 = null is Null;

const c3 = null is Never?;

const c4 = null is Never;

const c5 = null is FutureOr<int?>;

const c6 = null is FutureOr<int>;

const c7 = null is FutureOr<int>?;

const c8 = null is FutureOr<Null>;

const c9 = null is FutureOr<Null>?;

const c10 = null is FutureOr<Never>;

const c11 = null is FutureOr<Never?>;

const c12 = null is FutureOr<Never>?;

const e1 = const Class<int>.constructor1(null);

const e2 = const Class<List<int>>.constructor1(<Null>[null]);

const e3 = const Class<Null>.constructor1(null);

const e4 = const Class<int>.constructor2(null);

const e5 = const Class<int?>.constructor2(null);

const e6 = const Class<Null>.constructor2(null);

const e7 = const Class<int>.constructor3(null);

const e8 = const Class<int?>.constructor3(null);

const e9 = const Class<Null>.constructor3(null);

const e10 = const Class<int>.constructor4(null);

const e11 = const Class<int?>.constructor4(null);

const e12 = const Class<Null>.constructor4(null);

class Class<T> {
  final bool field;
  const Class.constructor1(value) : field = value is T;
  const Class.constructor2(value) : field = value is T?;
  const Class.constructor3(value) : field = value is Class<T>;
  const Class.constructor4(value) : field = value is Class<T>?;
}

main() {}

expect(expected, actual, String message) {}
