blob: ab7221dc0c87d94db08a219d7d78cdcfc2034f14 [file] [log] [blame]
// 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.
import 'package:expect/expect.dart';
class C<CT> {
foo<FT extends CT>() => CT;
BT bar<BT extends CT>(BT x) => x;
CT map<MT extends CT>(MT x) => x;
}
main() {
dynamic o = new C<num>();
Expect.equals('<T1 extends num>() => dynamic', o.foo.runtimeType.toString());
// Instantiations
int Function(int) f1 = new C<num>().bar;
num Function(int) f2 = new C<num>().map;
Expect.equals('(int) => int', f1.runtimeType.toString());
Expect.equals('(int) => num', f2.runtimeType.toString());
}