all: replace io/ioutil with io and os package

This PR replaces the deprecated in Go 1.17 `io/ioutil` package with `io` and `os` packages.

Changes are the same as in [CL 430799]( but with test fixes.

Change-Id: I69095e5d62b10879fd273305876fd7498803705d
GitHub-Last-Rev: 28cdff9b8c971556da0006d955d60551930cebde
GitHub-Pull-Request: golang/mod#17
Reviewed-by: Ian Lance Taylor <>
Auto-Submit: Bryan Mills <>
TryBot-Result: Gopher Robot <>
Reviewed-by: Bryan Mills <>
Run-TryBot: Bryan Mills <>
7 files changed
tree: 583fddaff199852f1a7368c43976bf1c00d4ed35
  1. gosumcheck/
  2. internal/
  3. modfile/
  4. module/
  5. semver/
  6. sumdb/
  7. zip/
  8. codereview.cfg
  9. go.mod
  10. go.sum



This repository holds packages for writing tools that work directly with Go module mechanics. That is, it is for direct manipulation of Go modules themselves.

It is NOT about supporting general development tools that need to do things like load packages in module mode. That use case, where modules are incidental rather than the focus, should remain in x/tools, specifically x/tools/go/packages.

The specific case of loading packages should still be done by invoking the go command, which remains the single point of truth for package loading algorithms.