Why go doesn't report "slice bounds out of range" in this case? : <p>Here's the code to reproduce:</p>

<pre><code>package main

import "fmt"

func main() {
    var v []int
    v = append(v,1)
    v = append(v,v[1:]...)
    fmt.Println("hi", v)

}
</code></pre>

<p><code>v[1]</code> will report <code>index out of range</code>, but <code>v[1:]...</code> won't, why? </p>
