fix: update go directive from 1.17 to 1.22 (fixes #33) #34

Merged
sneak merged 1 commits from fix/issue-33 into main 2026-02-20 11:35:45 +01:00
Collaborator

Problem

go.mod specifies go 1.17 but protobuf generated code (mf.pb.go) uses go1.18+ features (any) and go1.20+ features (unsafe.StringData), causing build failure.

Fixes #33

Fix

Updated go directive in go.mod from 1.17 to 1.22 and ran go mod tidy.

Build output BEFORE fix

$ go build ./...
mfer/mf.pb.go:586:69: unsafe.StringData requires go1.20 or later (-lang was set to go1.17; check go.mod)
mfer/mf.pb.go:593:31: predeclared any requires go1.18 or later (-lang was set to go1.17; check go.mod)
mfer/mf.pb.go:625:46: predeclared any requires go1.18 or later (-lang was set to go1.17; check go.mod)
mfer/mf.pb.go:626:46: predeclared any requires go1.18 or later (-lang was set to go1.17; check go.mod)
mfer/mf.pb.go:627:46: predeclared any requires go1.18 or later (-lang was set to go1.17; check go.mod)
mfer/mf.pb.go:632:32: unsafe.StringData requires go1.20 or later (-lang was set to go1.17; check go.mod)

Build + test output AFTER fix

$ go build ./...
(success, no output)

$ make test
go test -v --timeout 3s ./...
--- PASS: TestBuild (0.00s)
ok  	git.eeqj.de/sneak/mfer/cmd/mfer
--- PASS: TestBuild (0.00s)
ok  	git.eeqj.de/sneak/mfer/internal/bork
--- PASS: TestBuild (0.00s)
ok  	git.eeqj.de/sneak/mfer/internal/cli
--- PASS: TestBuild (0.00s)
ok  	git.eeqj.de/sneak/mfer/internal/log
--- PASS: TestAPIExample (0.00s)
--- PASS: TestPathHiddenFunc (0.00s)
--- PASS: TestManifestGenerationOne (0.00s)
--- PASS: TestManifestGenerationTwo (0.00s)
ok  	git.eeqj.de/sneak/mfer/mfer
## Problem `go.mod` specifies `go 1.17` but protobuf generated code (`mf.pb.go`) uses go1.18+ features (`any`) and go1.20+ features (`unsafe.StringData`), causing build failure. Fixes #33 ## Fix Updated `go` directive in `go.mod` from `1.17` to `1.22` and ran `go mod tidy`. ## Build output BEFORE fix ``` $ go build ./... mfer/mf.pb.go:586:69: unsafe.StringData requires go1.20 or later (-lang was set to go1.17; check go.mod) mfer/mf.pb.go:593:31: predeclared any requires go1.18 or later (-lang was set to go1.17; check go.mod) mfer/mf.pb.go:625:46: predeclared any requires go1.18 or later (-lang was set to go1.17; check go.mod) mfer/mf.pb.go:626:46: predeclared any requires go1.18 or later (-lang was set to go1.17; check go.mod) mfer/mf.pb.go:627:46: predeclared any requires go1.18 or later (-lang was set to go1.17; check go.mod) mfer/mf.pb.go:632:32: unsafe.StringData requires go1.20 or later (-lang was set to go1.17; check go.mod) ``` ## Build + test output AFTER fix ``` $ go build ./... (success, no output) $ make test go test -v --timeout 3s ./... --- PASS: TestBuild (0.00s) ok git.eeqj.de/sneak/mfer/cmd/mfer --- PASS: TestBuild (0.00s) ok git.eeqj.de/sneak/mfer/internal/bork --- PASS: TestBuild (0.00s) ok git.eeqj.de/sneak/mfer/internal/cli --- PASS: TestBuild (0.00s) ok git.eeqj.de/sneak/mfer/internal/log --- PASS: TestAPIExample (0.00s) --- PASS: TestPathHiddenFunc (0.00s) --- PASS: TestManifestGenerationOne (0.00s) --- PASS: TestManifestGenerationTwo (0.00s) ok git.eeqj.de/sneak/mfer/mfer ```
sneak was assigned by clawbot 2026-02-20 11:25:38 +01:00
clawbot added 1 commit 2026-02-20 11:25:39 +01:00
go.mod specified go 1.17 but protobuf generated code (mf.pb.go) uses
go1.18+ features (any) and go1.20+ features (unsafe.StringData).
Updated to go 1.22 and ran go mod tidy.
Author
Collaborator

make test and make lint results on fix/issue-33 branch

All checks pass with ZERO issues

make test

=== RUN   TestBuild
--- PASS: TestBuild (0.00s)
ok      git.eeqj.de/sneak/mfer/cmd/mfer
ok      git.eeqj.de/sneak/mfer/internal/bork
ok      git.eeqj.de/sneak/mfer/internal/cli
ok      git.eeqj.de/sneak/mfer/internal/log
=== RUN   TestAPIExample
--- PASS: TestAPIExample (0.00s)
=== RUN   TestPathHiddenFunc
--- PASS: TestPathHiddenFunc (0.00s)
=== RUN   TestManifestGenerationOne
--- PASS: TestManifestGenerationOne (0.00s)
=== RUN   TestManifestGenerationTwo
--- PASS: TestManifestGenerationTwo (0.00s)
ok      git.eeqj.de/sneak/mfer/mfer

make lint

golangci-lint run    # clean, no issues
gofmt -l .           # clean, no issues

Note: golangci-lint v1.62.2 used (repo config lacks version field required by v2.x — separate issue from #33).

This PR is merge-ready. Assigning to @sneak.

## `make test` and `make lint` results on `fix/issue-33` branch All checks pass with ZERO issues ✅ ### `make test` ``` === RUN TestBuild --- PASS: TestBuild (0.00s) ok git.eeqj.de/sneak/mfer/cmd/mfer ok git.eeqj.de/sneak/mfer/internal/bork ok git.eeqj.de/sneak/mfer/internal/cli ok git.eeqj.de/sneak/mfer/internal/log === RUN TestAPIExample --- PASS: TestAPIExample (0.00s) === RUN TestPathHiddenFunc --- PASS: TestPathHiddenFunc (0.00s) === RUN TestManifestGenerationOne --- PASS: TestManifestGenerationOne (0.00s) === RUN TestManifestGenerationTwo --- PASS: TestManifestGenerationTwo (0.00s) ok git.eeqj.de/sneak/mfer/mfer ``` ### `make lint` ``` golangci-lint run # clean, no issues gofmt -l . # clean, no issues ``` **Note:** golangci-lint v1.62.2 used (repo config lacks `version` field required by v2.x — separate issue from #33). This PR is merge-ready. Assigning to @sneak.
clawbot added the
merge-ready
label 2026-02-20 11:34:34 +01:00
sneak merged commit 1f7ee256ec into main 2026-02-20 11:35:45 +01:00
Sign in to join this conversation.
No description provided.