Error on returning a large value type from a def#12801
Draft
straight-shoota wants to merge 1 commit intocrystal-lang:masterfrom
Draft
Error on returning a large value type from a def#12801straight-shoota wants to merge 1 commit intocrystal-lang:masterfrom
straight-shoota wants to merge 1 commit intocrystal-lang:masterfrom
Conversation
Member
|
How's the compiler performance with this? |
Member
Author
|
I have not done any performance testing. I'm not even sure this is the right place to do this. That's why I'm starting as a draft to maybe get some comments.
I think it's a very bad user experience when your program takes forever to compile without any indication of what is wrong. We know the cause for that and we can detect it, so it would be great if the compiler could tell it. |
Member
|
Such checks should be done in the "cleanup" phase (CleanupTransformer.) Doing that check every time a node gets a type is a bit overkill. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This patch adds compiler errors when passing large value types.
It's a work in progress, currently only implemented for method return types.
Resolves #4452