1 // Compiler options: -langversion:linq
4 using System.Collections.Generic;
8 public static void Foo<TSource> (IEnumerable<TSource> a)
12 public static void Foo<TCollection, TSource> (IEnumerable<TSource> a,
13 Func<TSource, IEnumerable <TCollection>> b)
17 public static void Foo<TCollection, TSource> (IEnumerable<TSource> a,
18 Func<TSource, TCollection[], IEnumerable <TCollection>> b)
22 public static void Foo<TCollection, TSource> (Func<TCollection[], IEnumerable <TSource>> b)
26 public static void Main ()
28 int[] a = new int [] { 1 };
30 Foo (a, (int i) => { return a; });
31 Foo (a, (int i, int[] b) => { return a; });
32 Foo ((int[] b) => { return a; });