
This is a follow-up to2cf230951f
, adding more directives to adjust for some new code added since: Before this patch: make -C ./internal/gocompat/ GO111MODULE=off go generate . GO111MODULE=on go mod tidy GO111MODULE=on go test -v # github.com/docker/docker/internal/sliceutil internal/sliceutil/sliceutil.go:3:12: type parameter requires go1.18 or later (-lang was set to go1.16; check go.mod) internal/sliceutil/sliceutil.go:3:14: predeclared comparable requires go1.18 or later (-lang was set to go1.16; check go.mod) internal/sliceutil/sliceutil.go:4:19: invalid map key type T (missing comparable constraint) # github.com/docker/docker/libnetwork libnetwork/endpoint.go:252:17: implicit function instantiation requires go1.18 or later (-lang was set to go1.16; check go.mod) # github.com/docker/docker/daemon daemon/container_operations.go:682:9: implicit function instantiation requires go1.18 or later (-lang was set to go1.16; check go.mod) daemon/inspect.go:42:18: implicit function instantiation requires go1.18 or later (-lang was set to go1.16; check go.mod) With this patch: make -C ./internal/gocompat/ GO111MODULE=off go generate . GO111MODULE=on go mod tidy GO111MODULE=on go test -v === RUN TestModuleCompatibllity main_test.go:321: all packages have the correct go version specified through //go:build --- PASS: TestModuleCompatibllity (0.00s) PASS ok gocompat 0.031s make: Leaving directory '/go/src/github.com/docker/docker/internal/gocompat' Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commitbd4ff31775
) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
16 lines
398 B
Go
16 lines
398 B
Go
// FIXME(thaJeztah): remove once we are a module; the go:build directive prevents go from downgrading language version to go1.16:
|
|
//go:build go1.19
|
|
|
|
package sliceutil
|
|
|
|
func Dedup[T comparable](slice []T) []T {
|
|
keys := make(map[T]struct{})
|
|
out := make([]T, 0, len(slice))
|
|
for _, s := range slice {
|
|
if _, ok := keys[s]; !ok {
|
|
out = append(out, s)
|
|
keys[s] = struct{}{}
|
|
}
|
|
}
|
|
return out
|
|
}
|