Initial commit: Go 1.23 release state
This commit is contained in:
41
test/fixedbugs/issue17918.go
Normal file
41
test/fixedbugs/issue17918.go
Normal file
@@ -0,0 +1,41 @@
|
||||
// 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)
|
||||
}
|
||||
Reference in New Issue
Block a user