// @dart = 2.9
library test;

void expectTypeError(void callback()) {}
void expect(Object value, Object expected) {}

class C<T> {
  C(this.plusResult);
  final num Function(T) plusResult;
  num Function(T) operator +(int i) => plusResult;
}

class D {
  D(this.getValue);
  final C<num> getValue;
  C<num> get value => getValue;
  int Function(int) setValue;
  void set value(int Function(int) value) {}
}

int numToInt(num n) => 1;
num numToNum(num n) => 2;
void main() {}
