-// Compiler options: -langversion:linq
-// Tests implicit arrays
-using System;
+
+// Tests implicitly typed arrays
public class Test
{
foreach (string s in array)
if (s.Length != 3)
return 1;
+
+ string[] s1 = new[] { null, "a", default (string) };
+ double[] s2 = new[] { 0, 1.0, 2 };
+
+ var a1 = new[] { null, "a", default (string) };
+ var a2 = new[] { 0, 1.0, 2 };
+ var a3 = new[] { new Test (), null };
+ var a4 = new[,] { { 1, 2, 3 }, { 4, 5, 6 } };
+ var a5 = new[] { default (object) };
+ var a6 = new[] { new [] { 1, 2, 3 }, new [] { 4, 5, 6 } };
+
+ const byte b = 100;
+ int[] a7 = new[] { b, 10, b, 999, b };
+
+ var a8 = new[] { new Test (), 22, new object(), string.Empty, null };
+
+ int[] a9 = new [] { 1, (byte) 1 };
return 0;
}