-
-
Notifications
You must be signed in to change notification settings - Fork 610
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
fix issue 19729 - Constructor overloads coming from mixin are not resolved #11652
Conversation
|
Thanks for your pull request, @NilsLankila! Bugzilla references
Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub run digger -- build "master + dmd#11652" |
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.
This needs a bit more test.
- Add a test with named mixin
- How does it work in case of conflict ?
- How does it work if there's an exact match mixed in and a conversion match at the top level
|
I can answer, as overload sets are tried at the end:
mixin looses, top level decl wins
mixin looses, top level decl wins But I'll push tests. The idea, as specified in the official doc is that one can name a mixin when there are conflicts. For constructor this is not possible to disambiguate so top level wins. |
|
ping @Geod24, I have pushed the tests you required four days ago, requested a second review but you still block this bugfix. |
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.
ping @Geod24, I have pushed the tests you required four days ago, requested a second review but you still block this bugfix.
Not on purpose, I promise, because I'm looking forward to this bug fix too :)
For reference, anyone is free to discard an (addressed) review if the reviewer is busy.
I added a last test case, otherwise LGTM.
…olved The test _b17259.d_ was created to check that an ICE was fixed but then this became a reject-valid. Make it working for good this time.
The test b17259.d was created to check that an ICE was fixed but then this became a reject-valid.
Make it working for good this time.