Files
sdk/tests/language_2/generic/local_functions_test.dart
T
Robert Nystrom fc1b1ecc71 Move files under language_2 into subdirectories.
Change-Id: Idbcc965a27e9ffeedf5e0a1068b019de4193070f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127745
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-12-11 19:18:00 +00:00

23 lines
834 B
Dart

// Copyright (c) 2016, 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.
/// Dart test verifying that the parser can handle type parameterization of
/// local function declarations, and declarations of function parameters.
library generic_local_functions_test;
import "package:expect/expect.dart";
// Declare a generic function parameter.
int f(Y g<X, Y>(Map<X, Y> arg, X x)) => g<int, int>(<int, int>{1: 42}, 1);
main() {
// Declare a generic local function
Y h<X, Y>(Map<X, Y> m, X x) => m[x];
// Pass a generic local function as an argument.
Expect.equals(f(h), 42);
// Pass a function expression as an argument.
Expect.equals(f(<X, Y>(Map<X, Y> m, X x) => m[x]), 42);
}