mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 03:47:13 +00:00
dfa7916418
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>
31 lines
597 B
Dart
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);
|
|
}
|