The allowed conversions before and after are:
type Tstring string
type Tbyte []byte
type Trune []rune
string <-> string // ok
string <-> []byte // ok
string <-> []rune // ok
string <-> Tstring // ok
string <-> Tbyte // was illegal, now ok
string <-> Trune // was illegal, now ok
Tstring <-> string // ok
Tstring <-> []byte // ok
Tstring <-> []rune // ok
Tstring <-> Tstring // ok
Tstring <-> Tbyte // was illegal, now ok
Tstring <-> Trune // was illegal, now ok
Update spec, compiler, tests. Use in a few packages.
We agreed on this a few months ago but never implemented it.
Fixes#1707.
R=golang-dev, gri, r
CC=golang-dev
https://golang.org/cl/5421057
Got rid of all the magic mystery globals. Now
for %N, %T, and %S, the flags +,- and # set a sticky
debug, sym and export mode, only visible in the new fmt.c.
Default is error mode. Handle h and l flags consistently with
the least side effects, so we can now change
things without worrying about unrelated things
breaking.
fixes#2361
R=rsc
CC=golang-dev
https://golang.org/cl/5316043
named1.go:40:11: error: argument 1 has incompatible type (cannot use type bool as type Bool)
named1.go:41:11: error: argument 1 has incompatible type (cannot use type bool as type Bool)
named1.go:43:7: error: incompatible types in assignment (cannot use type bool as type Bool)
named1.go:44:12: error: argument 4 has incompatible type (cannot use type Bool as type bool)
named1.go:46:4: error: incompatible types in assignment (cannot use type bool as type Bool)
named1.go:48:11: error: argument 1 has incompatible type (cannot use type bool as type Bool)
named1.go:50:7: error: incompatible types in assignment (cannot use type bool as type Bool)
named1.go:54:7: error: incompatible types in assignment (cannot use type bool as type Bool)
named1.go:60:7: error: incompatible types in assignment (cannot use type bool as type Bool)
named1.go:63:9: error: argument 1 has incompatible type (cannot use type bool as type Bool)
named1.go:64:4: error: incompatible types in assignment (cannot use type bool as type Bool)
named1.go:67:17: error: invalid type conversion (cannot use type Slice as type String)
R=rsc
CC=golang-dev
https://golang.org/cl/2146044
* Code for assignment, conversions now mirrors spec.
* Changed some snprint -> smprint.
* Renamed runtime functions to separate
interface conversions from type assertions:
convT2I, assertI2T, etc.
* Correct checking of \U sequences.
Fixes#840.
Fixes#830.
Fixes#778.
R=ken2
CC=golang-dev
https://golang.org/cl/1303042
messages. Match gccgo output.
named1.go:32:2: error: argument 0 has wrong type (cannot use type bool as type Bool)
named1.go:33:2: error: argument 0 has wrong type (cannot use type bool as type Bool)
named1.go:35:5: error: incompatible type for map index (cannot use type bool as type Bool)
named1.go:36:12: error: incompatible type for map assignment (cannot use type Bool as type bool)
named1.go:38:5: error: incompatible types in assignment (cannot use type bool as type Bool)
named1.go:40:2: error: argument 0 has wrong type (cannot use type bool as type Bool)
named1.go:42:5: error: incompatible type for receive (cannot use type bool as type Bool)
named1.go:46:5: error: incompatible type for type guard (cannot use type bool as type Bool)
named1.go:50:5: error: incompatible type for type guard (cannot use type bool as type Bool)
named1.go:53:2: error: argument 0 has wrong type (cannot use type bool as type Bool)
named1.go:54:5: error: incompatible types in assignment (cannot use type bool as type Bool)
R=rsc
DELTA=4 (0 added, 0 deleted, 4 changed)
OCL=35943
CL=35943