-
Notifications
You must be signed in to change notification settings - Fork 18.6k
Closed as not planned
Labels
LibraryProposalIssues describing a requested change to the Go standard library or x/ libraries, but not to a toolIssues describing a requested change to the Go standard library or x/ libraries, but not to a tool
Description
What did you see happen?
internal/filepathlite imports io/fs which brings many internal dependencies, and so isn't that "lite": io/fs depends in particular on packages time and io which are not directly relevant for filepathlite.
The only use of io/fs is in func Localize which calls fs.ValidPath.
What did you expect to see?
I'm not sure about the "lite" contract here.
But it looks like that moving the implementation of io/fs.ValidPath from io/fs to another internal lite package could make the dependency tree of internal/filepathlite lighter.
Go version
1.25 tip (c893e1c)
Output of go env in your module/workspace:
N/AWhat did you do?
$ git rev-parse HEAD
c893e1cf821b06aa0602f7944ce52f0eb28fd7b5
$ go list -deps internal/filepathlite
internal/goarch
unsafe
internal/abi
internal/unsafeheader
internal/cpu
internal/bytealg
internal/byteorder
internal/chacha8rand
internal/coverage/rtcov
internal/godebugs
internal/goexperiment
internal/goos
internal/profilerecord
internal/runtime/atomic
internal/runtime/exithook
internal/asan
internal/msan
internal/race
internal/runtime/math
internal/runtime/sys
internal/runtime/maps
internal/stringslite
internal/trace/tracev2
runtime
internal/reflectlite
errors
internal/oserror
sync/atomic
internal/sync
sync
io
unicode/utf8
path
cmp
iter
math/bits
slices
internal/bisect
internal/godebug
internal/itoa
syscall
time
io/fs
internal/filepathlite
$ go run github.com/KyleBanks/depth/cmd/depth@master -internal internal/filepathlite
internal/filepathlite
├ errors
│ ├ internal/reflectlite
│ │ ├ internal/abi
│ │ │ ├ internal/goarch
│ │ │ └ unsafe
│ │ ├ internal/goarch
│ │ ├ internal/unsafeheader
│ │ │ └ unsafe
│ │ ├ runtime
│ │ │ ├ internal/abi
│ │ │ ├ internal/bytealg
│ │ │ │ ├ internal/cpu
│ │ │ │ │ └ unsafe
│ │ │ │ └ unsafe
│ │ │ ├ internal/byteorder
│ │ │ ├ internal/chacha8rand
│ │ │ │ ├ internal/byteorder
│ │ │ │ ├ internal/cpu
│ │ │ │ ├ internal/goarch
│ │ │ │ └ unsafe
│ │ │ ├ internal/coverage/rtcov
│ │ │ │ └ unsafe
│ │ │ ├ internal/cpu
│ │ │ ├ internal/goarch
│ │ │ ├ internal/godebugs
│ │ │ ├ internal/goexperiment
│ │ │ ├ internal/goos
│ │ │ ├ internal/profilerecord
│ │ │ ├ internal/runtime/atomic
│ │ │ │ ├ internal/cpu
│ │ │ │ ├ internal/goarch
│ │ │ │ └ unsafe
│ │ │ ├ internal/runtime/exithook
│ │ │ │ ├ internal/runtime/atomic
│ │ │ │ └ unsafe
│ │ │ ├ internal/runtime/maps
│ │ │ │ ├ internal/abi
│ │ │ │ ├ internal/asan
│ │ │ │ │ └ unsafe
│ │ │ │ ├ internal/goarch
│ │ │ │ ├ internal/msan
│ │ │ │ │ └ unsafe
│ │ │ │ ├ internal/race
│ │ │ │ │ ├ internal/abi
│ │ │ │ │ └ unsafe
│ │ │ │ ├ internal/runtime/math
│ │ │ │ │ └ internal/goarch
│ │ │ │ ├ internal/runtime/sys
│ │ │ │ │ ├ internal/cpu
│ │ │ │ │ ├ internal/goarch
│ │ │ │ │ └ internal/goos
│ │ │ │ └ unsafe
│ │ │ ├ internal/runtime/math
│ │ │ ├ internal/runtime/sys
│ │ │ ├ internal/stringslite
│ │ │ │ ├ internal/bytealg
│ │ │ │ └ unsafe
│ │ │ ├ internal/trace/tracev2
│ │ │ └ unsafe
│ │ └ unsafe
│ └ unsafe
├ internal/bytealg
├ internal/stringslite
├ io/fs
│ ├ errors
│ ├ internal/bytealg
│ ├ internal/oserror
│ │ └ errors
│ ├ io
│ │ ├ errors
│ │ └ sync
│ │ ├ internal/race
│ │ ├ internal/sync
│ │ │ ├ internal/abi
│ │ │ ├ internal/goarch
│ │ │ ├ internal/race
│ │ │ ├ sync/atomic
│ │ │ │ └ unsafe
│ │ │ └ unsafe
│ │ ├ runtime
│ │ ├ sync/atomic
│ │ └ unsafe
│ ├ path
│ │ ├ errors
│ │ ├ internal/bytealg
│ │ └ unicode/utf8
│ ├ slices
│ │ ├ cmp
│ │ ├ iter
│ │ │ ├ internal/race
│ │ │ ├ runtime
│ │ │ └ unsafe
│ │ ├ math/bits
│ │ │ └ unsafe
│ │ └ unsafe
│ ├ time
│ │ ├ errors
│ │ ├ internal/bytealg
│ │ ├ internal/godebug
│ │ │ ├ internal/bisect
│ │ │ │ ├ runtime
│ │ │ │ ├ sync
│ │ │ │ └ sync/atomic
│ │ │ ├ internal/godebugs
│ │ │ ├ sync
│ │ │ ├ sync/atomic
│ │ │ └ unsafe
│ │ ├ internal/stringslite
│ │ ├ math/bits
│ │ ├ runtime
│ │ ├ sync
│ │ ├ syscall
│ │ │ ├ errors
│ │ │ ├ internal/abi
│ │ │ ├ internal/asan
│ │ │ ├ internal/bytealg
│ │ │ ├ internal/byteorder
│ │ │ ├ internal/goarch
│ │ │ ├ internal/itoa
│ │ │ ├ internal/msan
│ │ │ ├ internal/oserror
│ │ │ ├ internal/race
│ │ │ ├ runtime
│ │ │ ├ sync
│ │ │ ├ sync/atomic
│ │ │ └ unsafe
│ │ └ unsafe
│ └ unicode/utf8
└ slices
43 dependencies (43 internal, 0 external, 0 testing).Metadata
Metadata
Assignees
Labels
LibraryProposalIssues describing a requested change to the Go standard library or x/ libraries, but not to a toolIssues describing a requested change to the Go standard library or x/ libraries, but not to a tool