matryer / moq

Interface mocking tool for go generate
http://bit.ly/meetmoq
MIT License
2k stars 127 forks source link

support imported type aliases #225

Closed reillywatson closed 3 months ago

reillywatson commented 3 months ago

Go 1.23 changed how go/types handles type aliases, which breaks code generation if you use a package that has an alias type (example: https://pkg.go.dev/github.com/golang/protobuf@v1.5.3/ptypes/timestamp#Timestamp). These were getting generated as just the unqualified name, without the package. If you used a previous version of Go, it meant that if that aliased type was in an internal package we'd try to import the internal package instead, resulting in a compilation error.

Add a switch to handle that case, and bump the go.mod version to support using types.Alias.

sudo-suhas commented 3 months ago

Thanks @reillywatson for the PR! Changes have been released in moq@v0.5.0