library test;

class A {
  final I1 a = null;
}

class B {
  final I2 a = null;
}

class C1 implements A, B {
  get a => null;
}

class C2 implements B, A {
  get a => null;
}

class I1 {
  int x;
}

class I2 extends I1 {
  int y;
}

main() {}
