Skip to content

Add Go 1.22 Support? #1334

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
rcoreilly opened this issue Jul 25, 2024 · 2 comments
Open

Add Go 1.22 Support? #1334

rcoreilly opened this issue Jul 25, 2024 · 2 comments

Comments

@rcoreilly
Copy link

What are the current plans for implementing the rest of the features to get up to go 1.22?

We are now appreciating in our Cogent Core framework the significant limitations of the wasm platform (e.g., WebAssembly/design#796 (comment)) and performance on mobile web in particular is unacceptable for any kind of more complex app (e.g., golang/go#68156 and other issues linked therein). Therefore, we're wondering if gopherjs might provide a more performant web experience overall. However, our code depends on all the 1.22 goodies, including loop var and range over int, min/max, slog, and generics. We did some quick tests and it looks like the current generics branch could handle the generics aspects.

I have reasonable experience with the go compiler code and recently implemented these same features in yaegi as well, so I could probably do them relatively quickly if that would be a welcome PR?

@flimzy
Copy link
Member

flimzy commented Jul 25, 2024

Go 1.20 support is currently under active development, and nearing completion, with the exception of Generics support, which is simultaneously under active development.

Once these two objectives are complete, we'll be ready to work on Go 1.21, followed by 1.22.

If you have the knowledge and time to contribute to either of these efforts, that would be welcome.

@rcoreilly
Copy link
Author

Quick update here: I took a look at the code and your nice documentation about what is required to update to a new Go version, and quickly realized that it is quite a big task to get to a new version, and the updates for the loopvar syntax are a relatively minor aspect of that task. I did manage to implement a quick "hack" implementation of loopvar in the existing codebase and it seemed to work, so I'd be happy to contribute that once the rest of the heavy lifting happens to actually get to the 1.22 version.

If I somehow end up finishing all my other todo items before you get to 1.22, maybe I'll try to help out with wherever you are, but I suspect the collective expertise here makes you all much more efficient at that than I would be. And wow, javascript is kind of a nightmare! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants