-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Regression in cleanup trannsformer #6718
Comments
Reproducible examples: def pending(&block)
end
pending do
{"foo" * 20}
end And def pending(&block)
end
pending do
{s: "foo" * 20}
end To compile the first example is failed on |
makenowjust
added a commit
to makenowjust/crystal
that referenced
this issue
Sep 14, 2018
Fixed crystal-lang#6718 The reason of crystal-lang#6718 is calling `node.update` with untyped `TupleLiteral` or `NamedTupleLiteral`. An untyped node has no `node.program`, so it fails nil assertion. I think this `node.update` is not needed because `CleanupTransformer` does not change the type of `node` execpt for untyped and unreachable node. However such nodes should be transformed to other node. In other words `node.update` does nothing in general. Thus, this replaces `node.update` with treating untyped element.
makenowjust
added a commit
to makenowjust/crystal
that referenced
this issue
Oct 12, 2018
Fixed crystal-lang#6718 The reason of crystal-lang#6718 is calling `node.update` with untyped `TupleLiteral` or `NamedTupleLiteral`. An untyped node has no `node.program`, so it fails nil assertion. I think this `node.update` is not needed because `CleanupTransformer` does not change the type of `node` execpt for untyped and unreachable node. However such nodes should be transformed to other node. In other words `node.update` does nothing in general. Thus, this replaces `node.update` with treating untyped element.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The current nightly build of crinja shows a compiler regression in master. The build with a compiler at
master
fails, while0.26.1
is fine.This was probably introduced by #6659
I couldn't exactly pinpoint the failing part yet (the code base is quite large).
But it is reproducible with:
Callstack:
/cc @makenowjust
The text was updated successfully, but these errors were encountered: