[lit-labs/compiler] only compress marker comments #4048
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.
Fixes: #4047 (comment)
Issue: #189
RFC: lit/rfcs#21
Full prototype PR: #3984
Why
@rictic pointed out an oversight that the naive logic of minifying empty comments could match and miscompile code if these empty comments were used elsewhere.
Example
The code:
Renders:
<!---->Hello world<!--?-->.However when compiled without this fix, the compiled code would result in
<?>Hello world<?>rendering.Fix
Only minify marker comments by matching on
<!--lit$12345$-->and converting them to<?>. It's then far less likely to result in a collision.Test
Added a regression golden test case.