| // Copyright 2021 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package main |
| |
| func Map[F, T any](s []F, f func(F) T) []T { return nil } |
| |
| func Reduce[Elem1, Elem2 any](s []Elem1, initializer Elem2, f func(Elem2, Elem1) Elem2) Elem2 { var x Elem2; return x } |
| |
| func main() { |
| var s []int |
| var f1 func(int) float64 |
| var f2 func(float64, int) float64 |
| _ = Map[int](s, f1) |
| _ = Map(s, f1) |
| _ = Reduce[int](s, 0, f2) |
| _ = Reduce(s, 0, f2) |
| } |