public static class Test
{
	static string() GetFoo()
	{
		byte[3] a;
		a[0] = 'f';
		a[1] = 'o';
		a[2] = 'o';
		return Encoding.UTF8.GetString(a, 0, 3);
	}

	static string() GetInitial(byte[] a) => Encoding.UTF8.GetString(a, 0, 1);

	public static bool Run()
	{
		byte[6] a;
		a[0] = 'x';
		a[1] = 'f';
		a[2] = 'o';
		a[3] = 'o';
		a[4] = 'b';
		a[5] = 'a';
		string() s = Encoding.UTF8.GetString(a, 1, 3); //FAIL: cl
		a[3] = 'x';
		string() s2 = GetInitial(a);
		return s == "foo" && s2 == "x" && GetFoo() == "foo";
	}
}