@@ -245,16 +245,26 @@ type ListType() =
245245 Assert.AreEqual( lst.[ 6 ..], ([]: int list))
246246 CheckThrowsIndexOutRangException(( fun _ -> lst.[ 7 ..] |> ignore))
247247
248- CheckThrowsIndexOutRangException(( fun _ -> lst.[.. - 1 ] |> ignore))
248+
249+ Assert.AreEqual( lst.[..(- 1 )], ([]: int list))
249250 Assert.AreEqual( lst.[.. 0 ], [ 1 ])
250251 Assert.AreEqual( lst.[.. 1 ], [ 1 ; 2 ])
251252 Assert.AreEqual( lst.[.. 2 ], [ 1 ; 2 ; 3 ])
252253 Assert.AreEqual( lst.[.. 3 ], [ 1 ; 2 ; 3 ; 4 ])
253254 Assert.AreEqual( lst.[.. 4 ], [ 1 ; 2 ; 3 ; 4 ; 5 ])
254255 Assert.AreEqual( lst.[.. 5 ], [ 1 ; 2 ; 3 ; 4 ; 5 ; 6 ])
255- CheckThrowsIndexOutRangException(( fun _ -> lst.[.. 6 ] |> ignore))
256+ CheckThrowsIndexOutRangException(( fun _ -> lst.[.. 6 ] |> ignore))
257+
258+ Assert.AreEqual( lst.[ 0 ..(- 1 )], ([]: int list))
259+ Assert.AreEqual( lst.[ 0 .. 0 ], [ 1 ])
260+ Assert.AreEqual( lst.[ 0 .. 1 ], [ 1 ; 2 ])
261+ Assert.AreEqual( lst.[ 0 .. 2 ], [ 1 ; 2 ; 3 ])
262+ Assert.AreEqual( lst.[ 0 .. 3 ], [ 1 ; 2 ; 3 ; 4 ])
263+ Assert.AreEqual( lst.[ 0 .. 4 ], [ 1 ; 2 ; 3 ; 4 ; 5 ])
264+ Assert.AreEqual( lst.[ 0 .. 5 ], [ 1 ; 2 ; 3 ; 4 ; 5 ; 6 ])
265+ CheckThrowsIndexOutRangException(( fun _ -> lst.[ 0 .. 6 ] |> ignore))
256266
257- Assert.AreEqual( lst.[ 1 ..- 1 ], ([]: int list))
267+ Assert.AreEqual( lst.[ 1 ..(- 1 ) ],([]: int list))
258268 Assert.AreEqual( lst.[ 1 .. 0 ], ([]: int list))
259269 Assert.AreEqual( lst.[ 1 .. 1 ], [ 2 ])
260270 Assert.AreEqual( lst.[ 1 .. 2 ], [ 2 ; 3 ])
@@ -270,8 +280,8 @@ type ListType() =
270280 Assert.AreEqual( lst.[ 3 .. 1 ], ([]: int list))
271281 Assert.AreEqual( lst.[ 4 .. 1 ], ([]: int list))
272282
273- Assert.AreEqual( lst.[- 3 ..- 4 ], ([]: int list))
274- CheckThrowsIndexOutRangException(( fun _ -> lst.[- 4 ..- 3 ] |> ignore))
283+ Assert.AreEqual( lst.[- 3 ..(- 4 ) ],([]: int list))
284+ CheckThrowsIndexOutRangException(( fun _ -> lst.[- 4 ..(- 3 ) ]|> ignore))
275285
276286let empty : obj list = List.empty
277287 Assert.AreEqual( empty.[*], ([]: obj list))
@@ -280,4 +290,4 @@ type ListType() =
280290 CheckThrowsIndexOutRangException(( fun _ -> empty.[.. 0 ] |> ignore))
281291 CheckThrowsIndexOutRangException(( fun _ -> empty.[ 0 .. 0 ] |> ignore))
282292 CheckThrowsIndexOutRangException(( fun _ -> empty.[ 0 .. 1 ] |> ignore))
283- CheckThrowsIndexOutRangException(( fun _ -> empty.[ 3 .. 5 ] |> ignore))
293+ CheckThrowsIndexOutRangException(( fun _ -> empty.[ 3 .. 5 ] |> ignore))