// Copyright (c) 2019, 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. /// Test that optional arguments of methods with a generator are forwarded /// properly when optional parameters are elided. /// /// This is a regression test for issue #35924 import "package:expect/expect.dart"; // The type parameter forces us to create a generator body. The call from the // method to the body needs to correctly handle elided parameters. Future foo( T Function(int, int, int) toT, { int p1 = 0, int p2 = 1, int p3 = 2, }) async { await null; return toT(p1, p2, p3); } main() async { Expect.equals(await foo((a, b, c) => "$a $b $c", p2: 4), "0 4 2"); }