1 // Compiler options: -langversion:linq
8 delegate int di (int x);
9 delegate string ds (string s);
10 delegate bool db (bool x);
12 static bool M (db d) { return d (false); }
13 static string M (ds d) { return "b"; }
14 static int M (di d) { return d (0); }
16 public static int Main ()
18 string[] s = new string[] { "1" };
19 int[] i = new int[] { 1 };
21 string s_res = M (x=> M (y=> x.ToLower ()));
22 int i_res = M (x=> M (y=> (x * 0) + 5));