You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
where the list separator will never actually be matched because #Layout strips all white-space.
Explicitly, let L be the #Layout regex and S a token. We must check that (~(*L*))&S is non-empty where ~ is negation, * is Kleene star, and & is intersection.
The text was updated successfully, but these errors were encountered:
Closes#4592
Previously, we trimmed list separators, presumably under the assumption
that `#Layout` deletes all whitespace and the user may end up including
redundant whitespace. This is hacky and a faulty assumption given that
we allow custom `#Layout`.
For now, we just remove the `trim()` call. This shouldn't cause issues
downstream - I've manually checked that all `List{...}` and
`NeList{...}` declarations in the EVM, C, and WASM semantics are already
correct. If anything was missed, it's an easy fix.
A proper solution is described in #4595
Co-authored-by: rv-jenkins <admin@runtimeverification.com>
Related to #4592
Check that, after removing all tokens matching
#Layout
, every token is still a non-empty regular expression, preventing bugs likewhere the list separator will never actually be matched because
#Layout
strips all white-space.Explicitly, let
L
be the#Layout
regex andS
a token. We must check that(~(*L*))&S
is non-empty where~
is negation,*
is Kleene star, and&
is intersection.The text was updated successfully, but these errors were encountered: