// @dart = 2.9
import 'potentially_constant_type_lib1.dart';
import 'potentially_constant_type_lib2.dart';

T id<T>(T t) => t;

class Class<T> {
  const Class(o)
      : field1 = T,
        field5 = <T>[],
        field6 = <T>{},
        field7 = <T, T>{},
        field8 = o is T,
        field9 = o is Class<T>,
        field10 = o as T,
        field11 = o as Class<T>,
        field15 = <Class<T>>[];
  final field1;
  final field10;
  final field11;
  final field15;
  final field5;
  final field6;
  final field7;
  final field8;
  final field9;
  void method() {}
}

main() {}
