Commit ae9afff8d for llama.cpp

commit ae9afff8d2c012ca760eb9c2adf41961cf6f6232
Author: Sigbjørn Skjæret <sigbjorn.skjaeret@huggingface.co>
Date:   Sat Sep 12 22:49:53 2026 +0200

    jinja : support dot property integer literals (#28817)

diff --git a/common/jinja/runtime.cpp b/common/jinja/runtime.cpp
index 49354c7c9..252ab55de 100644
--- a/common/jinja/runtime.cpp
+++ b/common/jinja/runtime.cpp
@@ -842,6 +842,12 @@ value member_expression::execute_impl(context & ctx) {
         } else {
             property = this->property->execute(ctx);
         }
+    } else if (is_stmt<integer_literal>(this->property)) {
+        // syntax: obj.index
+        property = mk_val<value_int>(cast_stmt<integer_literal>(this->property)->val);
+        if (property->as_int() < 0) {
+            throw std::runtime_error("Static member property cannot be negative");
+        }
     } else {
         // syntax: obj.prop
         if (!is_stmt<identifier>(this->property)) {
diff --git a/tests/test-jinja.cpp b/tests/test-jinja.cpp
index ab551d7b3..00de91ddf 100644
--- a/tests/test-jinja.cpp
+++ b/tests/test-jinja.cpp
@@ -398,6 +398,18 @@ static void test_expressions(testing & t) {
         "Bob"
     );

+    test_template(t, "dot notation (integer property)",
+        "{{ {10: 'Bob'}.10 }}",
+        json::object(),
+        "Bob"
+    );
+
+    test_template(t, "dot notation (array index)",
+        "{{ user.10 }}",
+        {{"user", json::array({"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k"})}},
+        "k"
+    );
+
     test_template(t, "negative float (not dot notation)",
         "{{ -1.0 }}",
         json::object(),