otp icon indicating copy to clipboard operation
otp copied to clipboard

compiler: Fix skip clause for binary generators

Open lucioleKi opened this issue 1 year ago • 1 comments

When the pattern in a binary generator is of the form X:Y/float, the previous skip clause could never match. The skip pattern is changed to _:Y/integer, so that it can match as long as Y is valid.

Before:

1> BadFloat = <<-1:64>>, [X || <<X:64/float>> <= <<BadFloat/binary, 1.0:64/float>>].
[]

Now:

1> BadFloat = <<-1:64>>, [X || <<X:64/float>> <= <<BadFloat/binary, 1.0:64/float>>].
[1.0]

lucioleKi avatar Oct 23 '24 11:10 lucioleKi

CT Test Results

    4 files    435 suites   1h 14m 9s :stopwatch: 2 968 tests 2 896 :white_check_mark: 72 :zzz: 0 :x: 8 139 runs  8 061 :white_check_mark: 78 :zzz: 0 :x:

Results for commit 61bf3429.

:recycle: This comment has been updated with latest results.

To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass.

See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally.

Artifacts

// Erlang/OTP Github Action Bot

github-actions[bot] avatar Oct 23 '24 11:10 github-actions[bot]