import '../nnbd_mixed/nnbd_opt_out_language_version.dart';
import 'value_class_support_lib.dart';

class Animal {
  final int numberOfLegs;
}

@valueClass
class Cat implements Animal {
  final int numberOfLegs;
  final int numberOfWhiskers;
}

abstract class Animal2 {
  int get numberOfLegs;
}

@valueClass
class Cat2 implements Animal2 {
  final int numberOfLegs;
  final int numberOfWhiskers;
}

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