Closed flowchartsman closed 1 year ago
Thanks @flowchartsman for this PR as well as for #109. I have been very hesitant in adopting new version of Go with this package. Replacing io/ioutil
as well as replacing interface{}
with any
will basically break pigeon
on older versions of the Go compiler. Therefore I ask myself the following things:
pigeon
to just adopt these newest changes in Go and make it break for users with older version of the Go compiler?pigeon
stay backwards compatible by using build flags?pigeon
offer a flag to generate up-to-date code (without io/ioutil
and with any
instead of interface{}
)?pigeon
detect the compiler version used and based on this generate different code?I have not yet come to a conclusion and therefore I am not yet ready to review this PR nor merging it. So far, "breaking" changes have in this area have only been made for the introduction of Go modules (see the README.md). That being said, I think this PR would need to update the go.mod
and the README.md
files as well.
Additionally, the automated CI is no longer working (it still relies on travisci) and this should be moved to Github actions before we update to more recent version of Go.
I have not yet come to a conclusion and therefore I am not yet ready to review this PR nor merging it. So far, "breaking" changes have in this area have only been made for the introduction of Go modules (see the README.md). That being said, I think this PR would need to update the go.mod and the README.md files as well.
I'll probably throw that on, but, at least with this PR, my attitude is: the issue is still open, so now it has a PR. You can close it (or not) as you like, but now there's a whole PR if you want it. I just happen to be using Pigeon in a project right now, and the lint errors were annoying me. :) Given the Go Compatibility guaranteed, it really doesn't matter, though I will say the code is a heck of a lot more pleasant to look at with #109 in place.
Additionally, the automated CI is no longer working (it still relies on travisci) and this should be moved to Github actions before we update to more recent version of Go.
Sure. I mean, I ran all the tests in a couple versions of Go, but it's easy enough to move to Github actions.
Fixes #106