// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // Tests subclass usage for the `in` variance modifier. // SharedOptions=--enable-experiment=variance typedef CovFunction = T Function(); typedef ContraFunction = void Function(T); class Covariant {} class Contravariant {} mixin MContravariant {} class A extends Contravariant {} class B implements Contravariant {} class C with MContravariant {} class D extends Covariant> {} class E extends Contravariant> {} class F extends Covariant> {} class G extends Covariant>> {} class H extends Covariant>> {} class I extends Covariant>> {} class J extends Contravariant>> {} class K = Contravariant with MContravariant; class L = Covariant> with MContravariant; class M = Contravariant with MContravariant>; main() { A a = A(); B b = B(); C c = C(); D d = D(); E e = E(); F f = F(); G g = G(); H h = H(); I i = I(); J j = J(); K k = K(); L l = L(); M m = M(); }