public static void StringSliceIntRangeChecked()
{
string s = "Hello";
Assert.Throws<ArgumentOutOfRangeException>(() => s.Slice(-1).DontBox());
Assert.Throws<ArgumentOutOfRangeException>(() => s.Slice(s.Length + 1).DontBox());
Assert.Throws<ArgumentOutOfRangeException>(() => s.Slice(-1, 0).DontBox());
Assert.Throws<ArgumentOutOfRangeException>(() => s.Slice(0, s.Length + 1).DontBox());
Assert.Throws<ArgumentOutOfRangeException>(() => s.Slice(2, s.Length + 1 - 2).DontBox());
Assert.Throws<ArgumentOutOfRangeException>(() => s.Slice(s.Length + 1, 0).DontBox());
Assert.Throws<ArgumentOutOfRangeException>(() => s.Slice(s.Length, 1).DontBox());
}
}