...
1Typecheck does cross-platform typechecking of source code for all Go build
2platforms.
3
4The primary benefit is speed: a full Kubernetes cross-build takes 20 minutes
5and >40GB of RAM, while this takes under 2 minutes and <8GB of RAM.
6
7It uses Go's built-in parsing and typechecking libraries (go/parser and
8go/types), which unfortunately are not what the go compiler uses. Occasional
9mismatches will occur, but overall they correspond closely.
10
11Failures can be ignored if they don't block the build:
12
13Things go/types errors on that go build doesn't:
14 True errors (according to the spec):
15 These should be fixed whenever possible. Ignore if a fix isn't possible
16 or is in progress (e.g., vendored code).
17 - unused variables in closures
18 False errors:
19 These should be ignored and reported upstream if applicable.
20 - type checking mismatches between staging and generated types
21Things go build fails on that we don't:
22 - CGo errors, including syntax and linker errors.
View as plain text