// run | |
// Copyright 2014 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 8325: corrupted byte operations during optimization | |
// pass. | |
package main | |
const alphanum = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" | |
func main() { | |
var bytes = []byte{10, 20, 30, 40, 50} | |
for i, b := range bytes { | |
bytes[i] = alphanum[b%byte(len(alphanum))] | |
} | |
for _, b := range bytes { | |
switch { | |
case '0' <= b && b <= '9', | |
'A' <= b && b <= 'Z': | |
default: | |
println("found a bad character", string(b)) | |
panic("BUG") | |
} | |
} | |
} |