blob: 55e14142e99ad1e6a991b4053d1974e241ac9832 [file] [log] [blame]
// Copyright (c) 2013, 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.
// Dart test program for constructors and initializers.
// @dart = 2.9
// Check function subtyping.
import 'package:expect/expect.dart';
class A {}
class B extends A {}
class C extends A {}
class Class<K, V> {
void forEach(void f(K k, V v)) {}
main() {
Class<B, C> c = new Class<B, C>();
c.forEach((A a, A b) {});
c.forEach((B a, C b) {});
Expect.throwsTypeError(() => c.forEach((A a, B b) {} as dynamic));