-
-
Notifications
You must be signed in to change notification settings - Fork 111
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
Kill the struct wrapper around Client #279
Conversation
...in generated interface types. This means that Client and the wrapper types have the same underlying type, so we can CapList for both. Notes: - The pogs package has some test failures that need fixing. - Annoyingly, we can't just use ~Client as the constraint, since the proper underlying type is `struct { *client }`. But it works.
Fixed the tests. One thing I really don't like about this is that go doc shows the constraint as |
Forgive me if we've covered this before, but is there a reason why the constraint can't be |
If I use
|
This lets us refer to it outside the main package, and it also means that CapList's constraint isn't exposing as much implementation detail.
Per discussion via matrix, I pushed another commit that makes an alias |
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.
Minor issue inline, otherwise LGMT.
...in generated interface types. This means that Client and the wrapper
types have the same underlying type, so we can CapList for both.
Notes:
proper underlying type is
struct { *client }
. But it works.Marking this as a draft for now.