jinja2cpp: update submodule for 'not X is defined' fix #3402
+3
−2
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.
It turns out that the reason #3372 was needed was that
if not add_generation_prompt is defined
was meant to be parsed asif not (add_generation_prompt is defined)
, which is how it works in Jinja2Cpp and also how those operators work in the Python language itself ('is' binds more strongly than 'not').But Jinja2Cpp parsed that as
if (not add_generation_prompt) is defined
, which when read that way is nonsense—it will always be true, so the conditional will always be executed.With this change, the operator precedence is corrected, so Jinja2Cpp is able to interpret these expressions in the expected manner. This leaves list slicing as the primary limitation preventing Jinja2Cpp from being compatible with most prompt templates.