// compile // Copyright 2016 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. // Issue 17918: slice out-of-bounds in ssa/cse package dead import ( "fmt" "time" ) var ( units = []struct { divisor time.Duration unit rune }{ {1000000, 's'}, {60, 'm'}, {60, 'h'}, {24, 'd'}, {7, 'w'}, } ) func foobar(d time.Duration) string { d /= time.Microsecond unit := 'u' for _, f := range units { if d%f.divisor != 0 { break } d /= f.divisor unit = f.unit } return fmt.Sprintf("%d%c", d, unit) }