// @dart = 2.9
abstract class I {
  interfaceMethod();
}

class C implements I {
  noSuchMethod(_) => "C";
}

class D extends C {
  dMethod() => super.interfaceMethod();
  noSuchMethod(_) => "D";
}

main() {}
