README 983 B

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