abstract class A {
  factory A({int value}) = _AImpl;
  int get value;
}

class _AImpl implements A {
  _AImpl({this.value = 0});
  final int value;
}

const _new = A.new;
const _newImpl = _AImpl.new;
expect(expected, actual) {}
void main(List<String> args) {}
