Raise void value expression
in begin
#2808
Merged
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.
In some cases Prism was either not raising an appropriate
void value expression
error, or raising that error when the syntax is consideredvalid.
To fix this Prism needs to check whether we have other clauses on the
begin
rather than just returningcast->statements
.cast->statements
are null and thecast->ensure_clause
isnot null, set the code to
cast->ensure_clause
cast->rescue_clause
cast->statements
are null andcast->rescue_clause->statements
are null, and return
NULL
else_clause
, and set the node tocast->else_clause
.cast->statements
as the nodecast->statements
as the nodeSee tests for test cases. Note I took these directly from CRuby so if
desired I can delete them since the test will now pass. This only fixes
one test in the
test_parse
file, taking failures from 14 to 13.This fixes
TestParse#test_void_value_in_rhs
and is related toissue #2791.