// Copyright (c) 2018, 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 = 2.7 // dart2jsOptions=--strong import 'package:expect/expect.dart'; class A {} class B extends A {} class C {} class D {} class E extends D {} class F {} void f1() { print('f1<$T>'); } void f2>() { print('f2<$S,$T>'); } main() { dynamic f = f1; f(); f(); Expect.throws(() => f(), (e) { print(e); return true; }); f(); f = f2; f>(); f>(); Expect.throws(() => f>(), (e) { print(e); return true; }); f(); }