partial rune at end makes string range loop forever

R=rsc
DELTA=20  (20 added, 0 deleted, 0 changed)
OCL=34330
CL=34332
This commit is contained in:
Rob Pike 2009-09-03 13:33:16 -07:00
parent 7f0dd8b1b7
commit cf336b10df

24
test/bugs/bug204.go Normal file
View File

@ -0,0 +1,24 @@
// $G $D/$F.go && $L $F.$A && ./$A.out
// Copyright 2009 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 main() {
nchar := 0;
a := []int { '日', '本', '語', 0xFFFD };
for pos, char := range "日本語\xc0" {
if nchar >= len(a) {
println("BUG");
break;
}
if char != a[nchar] {
println("expected", a[nchar], "got", char);
println("BUG");
break;
}
nchar++;
}
}