Ian Lance Taylor 55626ee50b [dev.go2go] README: document that this branch is no longer maintained | 3 years ago | |
---|---|---|
.github | 4 years ago | |
api | 3 years ago | |
doc | 3 years ago | |
lib | 3 years ago | |
misc | 3 years ago | |
src | 3 years ago | |
test | 3 years ago | |
.gitattributes | 4 years ago | |
.gitignore | 7 years ago | |
AUTHORS | 3 years ago | |
CONTRIBUTING.md | 6 years ago | |
CONTRIBUTORS | 3 years ago | |
LICENSE | 8 years ago | |
PATENTS | 14 years ago | |
README.go2go.md | 3 years ago | |
README.md | 3 years ago | |
SECURITY.md | 5 years ago | |
codereview.cfg | 3 years ago | |
favicon.ico | 8 years ago | |
robots.txt | 13 years ago |
This branch provides an experimental go2go tool for testing the use of the generics design draft. This branch was published in 2020 and is no longer being maintained. The generics proposal has been accepted and development is now focused on implementing the proposal in the ordinary Go tools.
This branch contains a type checker and a translation tool for experimentation with generics in Go. This implements the generics design draft.
You can build this branch as
usual.
You can then use the new go2go
tool.
Write your generic code in a file with the extension .go2
instead of
.go
.
Run it using go tool go2go run x.go2
.
There are some sample packages in cmd/go2go/testdata/go2path/src
.
You can see the full documentation for the tool by running go doc
cmd/go2go
.
The go2go
tool will look for .go2
files using the environment variable GO2PATH
.
You can find some useful packages that you might want to experiment with by
setting GO2PATH=$GOROOT/src/cmd/go2go/testdata/go2path
.
If you find bugs in the updated type checker or in the translation
tool, they should be filed in the standard Go issue
tracker.
Please start the issue title with cmd/go2go
.
Note that the issue tracker should only be used for reporting bugs in
the tools, not for discussion of changes to the language.
Unlike typical dev branches, we do not intend any eventual merge of this code into the master branch. We will update it for bug fixes and change to the generic design draft. If a generics language proposal is accepted, it will be implemented in the standard compiler, not via a translation tool. The necessary changes to the go/* packages (go/ast, go/parser, and so forth) may re-use code from this prototype but will follow the usual code review process.