class Complex {
  final double real;
  final double imaginary;
  const Complex(this.real, this.imaginary);
  Complex add(Complex other) {}
  Complex sub(Complex other) {}
  Complex negate() {}
  int get hashCode => real.hashCode * 13 + imaginary.hashCode * 19;
  bool operator ==(Object other) {}
  String toString() => 'Complex($real,$imaginary)';
}
extension Operators ;
on Complex (){}
main() {}
implicit() {}
explicit() {}
void errors(Complex c) {}
expect(expected, actual) {}
