// 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. // Regression test for issue 32770. import 'dart:async' show Future; A futureToA(Future future, [J wrapValue(T value)?]) { return new A( (void resolveFn(J value), void rejectFn(error)) { future.then((value) { dynamic wrapped; if (wrapValue != null) { wrapped = wrapValue(value); } else if (value != null) { wrapped = value; } resolveFn(wrapped); }).catchError((error) { rejectFn(error); }); }, ); } class A { var x; A(this.x); } main() { print(futureToA); }