// @dart = 2.6
class A {}

class B {}

class C extends B implements A {}

List<A> list;
List<T> g<T extends A>(T t) {}
List<S> f<S>(S s) {}
main() {}
