-
Notifications
You must be signed in to change notification settings - Fork 9
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
Clarify what assumptions this package intends to protect #3
Comments
As seen in the go 1.20 formula update PR for homebrew, a huge number of projects fail to build as some of their dependencies has decided to import this package. This has delayed the go 1.20 availability on brew for everyone. I think this does more harm than good. It seems this has been imported from several packages that just happen to use This @mdempsky 's question has gone unanswered for two years. I would advise everyone to not depend on this package unless they very clearly and exactly understand what the problem is they're trying to solve by importing this. |
It specifically is about moving GC of heap-allocated objects, not things on the stack. This package was made specifically for go4.org/intern which was needed by inet.af/netaddr before it was in the standard library as Any package depending on this is package is suspect and probably playing stupid games. I think the cost of having to |
I've updated the package docs. |
Strictly speaking, cmd/compile already has a moving GC: stacks can grow and shrink, and variables that are stack allocated may have their address visibly change during runtime: https://play.golang.org/p/t3VX4YVDYYT
The text was updated successfully, but these errors were encountered: