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

Consider free vars in parameters of abstract def implementations before existing types #10503

Conversation

HertzDevil
Copy link
Contributor

Fixes #10153.

This doesn't change the semantics of free vars during abstract def checking.

@HertzDevil
Copy link
Contributor Author

The changes here are actually very similar to #9595, however I haven't found an example where the original issue manifests through a return type restriction.

@HertzDevil HertzDevil changed the title Consider free vars in abstract def implementations before existing types Consider free vars in parameters of abstract def implementations before existing types Mar 12, 2021
@straight-shoota straight-shoota added kind:bug A bug in the code. Does not apply to documentation, specs, etc. topic:compiler:semantic labels Mar 18, 2021
Copy link
Member

@sdogruyol sdogruyol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @HertzDevil 🙏

@straight-shoota straight-shoota added this to the 1.1.0 milestone Mar 30, 2021
@straight-shoota
Copy link
Member

This needs conflict resolution with master

@straight-shoota straight-shoota merged commit 5298587 into crystal-lang:master Apr 13, 2021
@HertzDevil HertzDevil deleted the bug/abstract-def-free-var-shadow branch April 14, 2021 04:23
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.

The Trivial class class U; end Doesn't Compile
3 participants