-
Notifications
You must be signed in to change notification settings - Fork 569
[WIP][go1.20] go1.20 branch update to master #1388
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
Draft
grantnelson-wf
wants to merge
97
commits into
gopherjs:go1.20
Choose a base branch
from
Workiva:go120Update2
base: go1.20
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(based on commit 7866b1e)
(based on commit d15130f) This special case doesn't seem to serve any purpose that I can discern. My best guess is that it was necessary at some point, but the compiler has changed to not need it anymore. The compiler seems to wrap the returned value in a pointer-type at a call site as appropriate anyway and defining this method on the value type doesn't seem correct.
- Move it into a separate function, similar to translateStandaloneFunction(). - Add some comments explaining quirks of GopherJS's method implementation. (based on commit ccda918)
We haven't been using it since we switched to esbuild for prelude minification.
Since Node 12 it supports the --enable-source-maps flag, which has been considered stable since Node 14. Given we are now on 18, we can drop the unneeded dependency and use the built-in flag.
Remove npm dependencies we don't need anymore
The main change is that we assign explicit names to all function objects that correspond to Go functions (named and literals). Function name is declared as `var f = function nameHere() { ... }` and is visible inside the function scope only. Doing so serves two purposes: - It is an identifier which we can use when saving state of a blocked function to know which function to call upon resumption. - It shows up in the stack trace, which helps distinguish similarly-named functions. For methods, we include the receiver type in the identifier to make A.String and B.String easily distinguishable. The main trick is that we synthesize names for the function literals, which are anonymous as far as go/types is concerned. The upstream Go compiler does something very similar. (based on commit 4d24395)
JS function names are subtly different from what vanilla Go may expect, unless gopherjs#1085 is implemented. It turns out that a combination of d5771cc and 22c65b8 subtly changes how node outputs stack trace in a way that breaks my workarounds in the reflect package. Instead of further fumbling, I am going to disable the offending tests temporarily, and I have a proper fix for gopherjs#1085 in the works, which will allow us to re-enable them along with a few other tests.
Final round of refactoring ported from the original generics branch.
Moving DCE into its own package
Adding more functions to InstanceMap
Adding DCE integration tests in compiler
Update evanw/esbuild and spf13/cobra for direct and transitive vulnerabilities
Adding nested type support, more updates will follow, see summary on this PR
Handling nested type arguments
DCE update to support nested types
Adding selectors to index handling for generics
[generics] Grouping by declaration kinds and adding $finishSetup
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12. - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@1.1.11...v1.1.12) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 1.1.12 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
…n/node-syscall/brace-expansion-1.1.12
[generics] Fixed collecting instances from inverted dependencies
Update go1.19 native overrides
[generics][go1.19] Enable generics and remove overrides for generics
140a687
to
7ba0ef5
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updating the go1.20 branch with the new master.
I pulled master. Then made my changes only in the last commit, Fixing merge conflicts. The changes include a merge conflict mistake, removing native overrides for generics (some which where conflicted), and added to
valueMethodName
to fix a failing test.