-
Notifications
You must be signed in to change notification settings - Fork 570
Add purge directive #1258
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
Add purge directive #1258
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left a couple of minor suggestions, but otherwise looks good. Please ping this PR once the other PRs are merged and it is rebased.
All looks good and I've merged #1257. Could you please resolve the conflicts? I'll merge this one then. Thanks! |
Updated and resolved. Thank you! After these changes, the CI is error in the build is |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
Summary
After a conversation with Nevkontakte (here), the current goal is to make go1.19 support without generics possible by dropping generic code. To accomplish this, I'm adding a new directive,
gopherjs:purge
, which will remove parts of the original code without replacing them with something in the overlay/override code. The native code will have the directive for some declaration or specification identifier and both the overlay and original will have that decl/spec removed from it.This will allow us, in a follow up ticket, to add things into the natives that we want to remove, e.g.
type Pointer[T any] struct {}
in atomic. This will also help with imports for variable type constraints, e.g.type Foo[T cmp.Ordered](value T)
.Dependancies