Details
jinja : handle empty expressions correctly (#20913)
-
Reject empty computed member expressions before returning slices[0] from parse_member_expression_arguments().
-
Treat empty computed member expressions with Jinja2 undefined semantics
Treat empty computed member expressions like a[] as undefined instead of
raising a parser error, to match Jinja2 behavior.
- return a noop expression for empty computed member arguments
- return undefined when a computed member key evaluates to undefined
- add Jinja tests covering
a[]|default('fallback')anda[] is undefined
- Handle undefined computed member properties
Move undefined-property handling to the common member access path, and add a test covering a[undefined] is undefined.
- Use default undefined value in member access
Initialize val and then return it when property is undefined.
Co-authored-by: Sigbjørn Skjæret sigbjorn.skjaeret@scala.com
- empty statement parses to blank_expression instead of noop_statement
Co-authored-by: Sigbjørn Skjæret sigbjorn.skjaeret@scala.com
macOS/iOS:
Linux:
Windows:
- Windows x64 (CPU)
- Windows arm64 (CPU)
- Windows x64 (CUDA 12) - CUDA 12.4 DLLs
- Windows x64 (CUDA 13) - CUDA 13.1 DLLs
- Windows x64 (Vulkan)
- Windows x64 (SYCL)
- Windows x64 (HIP)
openEuler: