mirror of
https://github.com/golang/go
synced 2024-11-18 21:44:45 -07:00
The Go programming language
d7a9805478
Various reflect operations permit assignability conversions, i.e. their internals behave unlike y=x.(T) which unpacks only those interface values in x that are identical to T. We split typeAssertConstraint y=x.(T) into two constraints: 1) typeFilter, for when T is an interface type and no representation change occurs. 2) unpack, for when T is a concrete type and the payload of the tagged object is extracted. This constraint has an 'exact' parameter indicating whether to use the predicate IsIdentical (for type assertions) or IsAssignable (for reflect operators). + Tests. R=crawshaw CC=golang-dev https://golang.org/cl/14547043 |
||
---|---|---|
blog | ||
call | ||
cmd | ||
dashboard | ||
go | ||
godoc | ||
importer | ||
oracle | ||
playground | ||
pointer | ||
present | ||
ssa | ||
.hgignore | ||
AUTHORS | ||
codereview.cfg | ||
CONTRIBUTORS | ||
LICENSE | ||
PATENTS | ||
README |
This subrepository holds the source for various packages and tools that support the Go programming language. Some of the tools, godoc and vet for example, are included in binary Go distributions. Others, including the Go oracle and the test coverage tool, can be fetched with "go get". Packages include a type-checker for Go and an implementation of the Single Static Assignment (SSA) representation for Go programs. To submit changes to this repository, see http://golang.org/doc/contribute.html.