Allow "closure" body to be any expression, not only block #105
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.
The
fuzz_target!
macro's input is designed to follow Rust's closure syntax, and mimics nearly all the syntax features of Rust closures: optional argument type, optional return type.However, it diverged from Rust closures in requiring the body of the "closure" to always be surrounded in curly braces, due to the use of $:block.
I had a fuzz target where I had to end up doing the following:
The braces here diverge from how the equivalent closure would ordinarily be written. Punctuation which is required but doesn't serve a purpose detracts from the readability of the program.
This PR makes the braces around a "closure" body optional.