class Class<T extends num> {
  T field1;
  T field2;
  Class(this.field1, this.field2);
}

extension Extension1<T extends num> on Class<T> {
  static String? latestType;
  T get field {}
  void set field(T value) {}
  T method() {}
  T genericMethod<S extends num>(S t) {}
}

extension Extension2<T extends num> on Class<T> {
  T get field => field2;
  void set field(T value) {}
  T method() => field2;
  T genericMethod<S extends num>(S t) => (field2 + t) as T;
}

main() {}
expect(expected, actual) {}
