| // 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. |
| |
| /*@testedFeatures=checks*/ |
| library test; |
| |
| typedef void F<T>(T x); |
| typedef F<T> G<T>(); |
| |
| class C<T> { |
| F<T> _x; |
| C(this._x); |
| F<T> f() => _x; |
| } |
| |
| G<num> g(C<num> c) { |
| return c. /*@ checkReturn=() ->* (num*) ->* void */ f; |
| } |
| |
| void h(int i) { |
| print('$i'); |
| } |
| |
| void test() { |
| var x = g(new C<int>(h)); |
| } |
| |
| void main() {} |