-
-
Notifications
You must be signed in to change notification settings - Fork 649
fix issue 21429 . Allow mixed-in opDispatch overloads #21444
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
Conversation
Thanks for your pull request and interest in making D better, @benjones! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.
|
It seems like rewriting the expression to e.opDispatch!ident and then running semantic on it to do the resolution would work? But I'm not sure which expression type to use there. |
OK, I think I got this working for the issue I had. I'll investigate the other overloads like Steven mentioned and am happy for whatever other feedback folks have |
OK, |
I'm not familiar with If you're going to fix the issue for all operator overloads, I suggest creating a common function used for all searching of |
I'm about to wrap up a fix to opOpAssign. I'll see what similarities there are and what I can extract. I sort of feel like I'm playing whack-a-mole on where else there's an assumption that something is a template, not an overloadSet. Thanks for the feedback! |
Skimmed through opover.d and I didn't see any other places where there would be a similar "assume I get a single template from search_function, not an overload set" assumption/problem, so hopefully opDispatch, opBinary, and opOpAssign were the only places. |
@thewilsonator any idea who might be good to take a look at this? |
Bump |
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.
Sorry, I somehow missed this
Could you please rebase or force push to restart the CI |
I think I've narrowed down the cause to the area I've edited. There is an overload set containing multiple
opDispatch
implementations. It think the next step is to resolve the correct on in the ??? block in typesem, but I'm not sure how best to do that. Would appreciate any suggestions there. The Issue also mentions issues with other op overloads, which I haven't looked at yet. I'd like to get something actually working foropDispatch
before hunting that down.