dart-sdk/tests/language_2/regress_29025_test.dart
Terry Lucas dfa7916418 Migrated block 148 to Dart 2.0
R=bkonyi@google.com

Change-Id: I2f455fd681b66c43cbcd873f3d3d278a5ff5c843
Reviewed-on: https://dart-review.googlesource.com/12762
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
2017-10-13 04:27:03 +00:00

31 lines
597 B
Dart

// Copyright (c) 2017, 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.
typedef T F<T>(T t);
class B<T extends F<T>> {}
class C<T extends F<C<T>>> {}
class D extends B<D> {
D foo(D x) => x;
D call(D x) => x;
D bar(D x) => x;
}
class E extends C<E> {
C<E> foo(C<E> x) => x;
C<E> call(C<E> x) => x;
C<E> bar(C<E> x) => x;
}
main() {
F<D> fd = new D();
var d = fd(fd);
print(d);
F<E> fe = new E();
var e = fe(fe);
print(e);
}