-
Notifications
You must be signed in to change notification settings - Fork 16
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
Support generic interface on contract #237
Support generic interface on contract #237
Conversation
57f4389
to
8470f7f
Compare
8470f7f
to
9a0ac19
Compare
Codecov Report
@@ Coverage Diff @@
## feat/generics_support #237 +/- ##
=========================================================
- Coverage 89.05% 88.36% -0.70%
=========================================================
Files 24 25 +1
Lines 1380 1444 +64
=========================================================
+ Hits 1229 1276 +47
- Misses 151 168 +17
... and 1 file with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
9a0ac19
to
08d5381
Compare
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.
Looks okish, but I really struggle with this AsIdent
and dropping the entire path for generics verification - it seems to assume that if paths have the same ident, they are the same, which is not the case. We agreed on the call you would double-check this.
The tests that are the most important look good - I'll check the code generated there as well, but I need to understand what happens with those paths first.
Also, what I noticed in the generated code (I cannot find it in the review, but it is important) - on dispatching Also - it is included in the schema, which needs to be corrected. We need to make PR to the schema generator, which adds syntax for ignoring the variant in the schema. Possible |
Yet another thing I am not sure where is generated - I see that generic types for messages are skipping generics not used in messages. It is messy if someone wants to build a message manually which might be sometimes needed - one would need to know which generics are to be passed. The idea of |
50dce2d
to
6dc3bc6
Compare
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.
LGTM, with one test request.
6dc3bc6
to
629f3a2
Compare
Part 1/2 of #226
This change lacks
#[messages()]
attribute on main#[contract]
call as it is already a big PR