Skip to content
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

Compiler: fix proc of self causing multidispatch #9972

Merged
merged 4 commits into from
Dec 2, 2020

Conversation

asterite
Copy link
Member

@asterite asterite commented Nov 25, 2020

Fixes #9823
Fixes #3822

We rewrite ->foo(X) to ->(x : X) { foo(x) } in case self in that context could cause a multi-dispatch. This is similar to #9824

I believe with this, Procs don't have any more bugs (that I am aware of, so this is probably a lie 😛 )

@asterite asterite added kind:bug A bug in the code. Does not apply to documentation, specs, etc. topic:compiler:semantic labels Nov 25, 2020
@asterite
Copy link
Member Author

Well, I lied. There's #3822 but I'll fix it in this PR too. We should always do the replacement if there's no obj.

@asterite
Copy link
Member Author

Done! Ready for another review.

@asterite asterite requested a review from bcardiff November 25, 2020 20:55
@asterite
Copy link
Member Author

There's something wrong in what I did but I'll fix it in the next days

@asterite
Copy link
Member Author

CI is green! Ready for another review.

@bcardiff bcardiff added this to the 1.0.0 milestone Dec 1, 2020
@asterite asterite merged commit 748c9fd into master Dec 2, 2020
@asterite asterite deleted the bug/rewrite-proc-pointer-of-self branch December 2, 2020 00:19
@Blacksmoke16
Copy link
Member

Blacksmoke16 commented Dec 5, 2020

Just a heads up this PR broke some stuff in https://github.com/athena-framework/validator. I'm working up a reduction and will create an issue when I got something reproducible.

EDIT: See #9972.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:bug A bug in the code. Does not apply to documentation, specs, etc. topic:compiler:semantic
Projects
None yet
Development

Successfully merging this pull request may close these issues.

X target defs for method (Exception) 2 target defs compiler error
3 participants