• Russ Cox's avatar
    allow direct conversion between string and named []byte, []rune · 6e3e3809
    Russ Cox authored
    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
    6e3e3809
Name
Last commit
Last update
..
bench Loading commit data...
bugs Loading commit data...
chan Loading commit data...
dwarf Loading commit data...
fixedbugs Loading commit data...
garbage Loading commit data...
interface Loading commit data...
ken Loading commit data...
syntax Loading commit data...
235.go Loading commit data...
64bit.go Loading commit data...
alias.go Loading commit data...
alias1.go Loading commit data...
append.go Loading commit data...
args.go Loading commit data...
assign.go Loading commit data...
assign1.go Loading commit data...
bigalg.go Loading commit data...
bigmap.go Loading commit data...
blank.go Loading commit data...
blank1.go Loading commit data...
chancap.go Loading commit data...
char_lit.go Loading commit data...
char_lit1.go Loading commit data...
closedchan.go Loading commit data...
closure.go Loading commit data...
cmp.go Loading commit data...
cmp6.go Loading commit data...
cmplx.go Loading commit data...
cmplxdivide.c Loading commit data...
cmplxdivide.go Loading commit data...
cmplxdivide1.go Loading commit data...
complit.go Loading commit data...
compos.go Loading commit data...
const.go Loading commit data...
const1.go Loading commit data...
const2.go Loading commit data...
const3.go Loading commit data...
convert.go Loading commit data...
convert1.go Loading commit data...
convert3.go Loading commit data...
convlit.go Loading commit data...
convlit1.go Loading commit data...
copy.go Loading commit data...
ddd.go Loading commit data...
ddd1.go Loading commit data...
ddd2.go Loading commit data...
ddd3.go Loading commit data...
decl.go Loading commit data...
declbad.go Loading commit data...
defer.go Loading commit data...
deferprint.go Loading commit data...
divide.go Loading commit data...
empty.go Loading commit data...
env.go Loading commit data...
eof.go Loading commit data...
eof1.go Loading commit data...
errchk Loading commit data...
escape.go Loading commit data...
escape2.go Loading commit data...
escape3.go Loading commit data...
float_lit.go Loading commit data...
floatcmp.go Loading commit data...
for.go Loading commit data...
func.go Loading commit data...
func1.go Loading commit data...
func2.go Loading commit data...
func3.go Loading commit data...
func4.go Loading commit data...
func5.go Loading commit data...
func6.go Loading commit data...
func7.go Loading commit data...
gc.go Loading commit data...
gc1.go Loading commit data...
gc2.go Loading commit data...
golden.out Loading commit data...
goprint.go Loading commit data...
goto.go Loading commit data...
hashmap.go Loading commit data...
helloworld.go Loading commit data...
if.go Loading commit data...
import.go Loading commit data...
import1.go Loading commit data...
import2.go Loading commit data...
import3.go Loading commit data...
import4.go Loading commit data...
index.go Loading commit data...
indirect.go Loading commit data...
indirect1.go Loading commit data...
init.go Loading commit data...
init1.go Loading commit data...
initcomma.go Loading commit data...
initialize.go Loading commit data...
initializerr.go Loading commit data...
initsyscall.go Loading commit data...
int_lit.go Loading commit data...
intcvt.go Loading commit data...
iota.go Loading commit data...
label.go Loading commit data...
label1.go Loading commit data...
literal.go Loading commit data...
malloc1.go Loading commit data...
mallocfin.go Loading commit data...
mallocrand.go Loading commit data...
mallocrep.go Loading commit data...
mallocrep1.go Loading commit data...
map.go Loading commit data...
map1.go Loading commit data...
method.go Loading commit data...
method1.go Loading commit data...
method2.go Loading commit data...
method3.go Loading commit data...
named.go Loading commit data...
named1.go Loading commit data...
nil.go Loading commit data...
nilptr.go Loading commit data...
nul1.go Loading commit data...
parentype.go Loading commit data...
peano.go Loading commit data...
printbig.go Loading commit data...
range.go Loading commit data...
recover.go Loading commit data...
recover1.go Loading commit data...
recover2.go Loading commit data...
recover3.go Loading commit data...
rename.go Loading commit data...
rename1.go Loading commit data...
reorder.go Loading commit data...
run Loading commit data...
runtime.go Loading commit data...
shift1.go Loading commit data...
shift2.go Loading commit data...
sieve.go Loading commit data...
sigchld.go Loading commit data...
simassign.go Loading commit data...
sinit.go Loading commit data...
sizeof.go Loading commit data...
solitaire.go Loading commit data...
stack.go Loading commit data...
string_lit.go Loading commit data...
stringrange.go Loading commit data...
struct0.go Loading commit data...
switch.go Loading commit data...
switch1.go Loading commit data...
switch3.go Loading commit data...
test0.go Loading commit data...
turing.go Loading commit data...
typeswitch.go Loading commit data...
typeswitch1.go Loading commit data...
typeswitch2.go Loading commit data...
typeswitch3.go Loading commit data...
undef.go Loading commit data...
utf.go Loading commit data...
varerr.go Loading commit data...
varinit.go Loading commit data...
zerodivide.go Loading commit data...