-
Notifications
You must be signed in to change notification settings - Fork 69
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
Correctly handly QSelf
in riker macro
#158
Comments
@hardliner66 @leenozara is solving this issue necessary before a new version is released? In this case I would implement it (if you are not already working on that yourself). |
I personally think it's more of an advanced feature. But we would still be shipping with incomplete generics support. So while I don't think it is strictly necessary for a new release, I think it still would be better if we would implement it directly. I'm also interested in your opinions on the topic. |
Ok, I agree that it is better to have a complete implementation right now rather than having to fix it later on. |
I tried to build a basic proof of concept yesterday, but you need to recursively create a string from the type. I also changed name from returning an Maybe it would be easier to use the |
My first attempt was to use |
I just looked at the possible enums and these are the ones I think are actually possible: Maybe Also I think that |
I drafted a PR for this issue that handles QSelf by generating the name for |
The names do get quite long and I think this is something we should work on, but just shortening them will probably lead to conflicts. We might be able to do something fancier in order to shorten them, but for now I would just leave them as is. |
@hardliner66 @leenozara is there any update from your side about this PR / anything that is still missing? |
There is nothing missing from my side. |
Currently the riker macro does not correctly handle the
qself
field of theTypePath
. This can lead to conflicts, if you use an associated trait type with two different structs, because they only differ by theQSelf
part.In order to correctly handle this, we need to pattern match on
QSelf
and handle all type enum values that are actually possible in this case (maybe all, but that needs to be evaluated).This relates to #154 and #155.
The text was updated successfully, but these errors were encountered: