1
0
mirror of https://github.com/golang/go synced 2024-11-22 01:54:42 -07:00

Conversion from array to slices should work like assignment:

you should be able to convert a pointer to an array to a
slice, you should not be able to convert an array to a slice.
Currently 6g works the other way around.

R=ken,rsc
DELTA=17  (17 added, 0 deleted, 0 changed)
OCL=28033
CL=28067
This commit is contained in:
Ian Lance Taylor 2009-04-29 20:15:59 -07:00
parent 89f8238a99
commit 625866a977
2 changed files with 21 additions and 0 deletions

14
test/bugs/bug146.go Normal file
View File

@ -0,0 +1,14 @@
// errchk $G $D/$F.go
// 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() {
type Slice []byte;
a := [...]byte{ 0 };
b := Slice(&a); // This should be OK.
c := Slice(a); // ERROR "invalid"
}

View File

@ -111,6 +111,13 @@ bugs/bug140.go:6: syntax error near L1
bugs/bug140.go:7: syntax error near L2
BUG should compile
=========== bugs/bug146.go
BUG: errchk: bugs/bug146.go:9: missing expected error: 'invalid'
errchk: bugs/bug146.go: unmatched error messages:
==================================================
bugs/bug146.go:8: invalid conversion: *[1]uint8 to Slice
==================================================
=========== fixedbugs/bug016.go
fixedbugs/bug016.go:7: constant -3 overflows uint