mirror of
https://github.com/golang/go
synced 2024-11-25 05:07:56 -07:00
bc98e35b53
We should panic in this situation. Rewriting to a SSA op just leads to a compiler panic. Fixes #36259 Change-Id: I6e0bccbed7dd0fdac7ebae76b98a211947947386 Reviewed-on: https://go-review.googlesource.com/c/go/+/212405 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
29 lines
483 B
Go
29 lines
483 B
Go
// compile
|
|
|
|
// Copyright 2019 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package main
|
|
|
|
func rotate(s []int, m int) {
|
|
l := len(s)
|
|
m = m % l
|
|
buf := make([]int, m)
|
|
|
|
copy(buf, s)
|
|
copy(s, s[m:])
|
|
copy(s[l-m:], buf)
|
|
}
|
|
|
|
func main() {
|
|
a0 := [...]int{1,2,3,4,5}
|
|
println(a0[0])
|
|
|
|
rotate(a0[:], 1)
|
|
println(a0[0])
|
|
|
|
rotate(a0[:], -3)
|
|
println(a0[0])
|
|
}
|