class A1 {
  final int foo;
  A1({required this.foo});
}
class B1 extends A1 {
  B1({required super.foo}) : super();
}
class C1 extends A1 {
  C1({required super.foo}) : super(foo: foo);
}
class A2 {
  final int foo;
  final String bar;
  A2({required this.foo, required this.bar});
}
class B2 extends A2 {
  B2() : super(foo: 42, bar: "bar", baz: false);
}
class C2 extends A2 {
  C2({required super.foo}) : super();
  C2.other({required super.foo}) : super(bar: 'bar');
}
main() {}
