The Swift Package Index logo.Swift Package Index

Build Information

Successful build of xgrammar, reference v0.2.8 (977873), with Swift 6.4 for macOS (SPM) on 29 Sep 2026 16:25:32 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mlc-ai/xgrammar.git
Reference: v0.2.8
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/mlc-ai/xgrammar
 * tag               v0.2.8     -> FETCH_HEAD
HEAD is now at 9778737 feat: support MiMo-V2.6 Pro and Flash structural tags (#916)
Submodule path '3rdparty/cpptrace': checked out '6689d14c203eed390ae7bb64f56a983cfd7dff9c'
Submodule path '3rdparty/dlpack': checked out 'bbd2f4d32427e548797929af08cfe2a9cbb3cf12'
Submodule path '3rdparty/googletest': checked out 'df1544bcee0c7ce35cd5ea0b3eb8cc81855a4140'
Submodule '3rdparty/cpptrace' (https://github.com/jeremy-rifkin/cpptrace.git) registered for path '3rdparty/cpptrace'
Submodule '3rdparty/dlpack' (https://github.com/dmlc/dlpack.git) registered for path '3rdparty/dlpack'
Submodule '3rdparty/googletest' (https://github.com/google/googletest.git) registered for path '3rdparty/googletest'
Cloning into '/Users/admin/builder/spi-builder-workspace/3rdparty/cpptrace'...
Cloning into '/Users/admin/builder/spi-builder-workspace/3rdparty/dlpack'...
Cloning into '/Users/admin/builder/spi-builder-workspace/3rdparty/googletest'...
Cloned https://github.com/mlc-ai/xgrammar.git
Revision (git rev-parse @):
97787376faee5ed8466cfad57c99855e4ce2f6aa
SUCCESS checkout https://github.com/mlc-ai/xgrammar.git at v0.2.8
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/mlc-ai/xgrammar.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Planning deferred tasks]
[15 / 45]
[26 / 45] XGrammar
[30 / 45] XGrammar
[32 / 45] XGrammar
[33 / 45] XGrammar
[35 / 45] XGrammar
[36 / 45] XGrammar
[37 / 45] XGrammar
[38 / 45] XGrammar
[39 / 45] XGrammar
[40 / 45] XGrammar
[41 / 45] XGrammar
[42 / 45] XGrammar
[43 / 45] XGrammar
Build complete! (9.00 sec)
In file included from /Users/admin/builder/spi-builder-workspace/cpp/testing.cc:15:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_printer.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_printer.h:14:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
/Users/admin/builder/spi-builder-workspace/cpp/tokenizer_info.cc:298:30: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  298 |   for (int i = encoded_vocab.size(); i < vocab_size_; ++i) {
      |            ~   ~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/tokenizer_info.cc:317:52: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  317 |       trie_subtree_nodes_range_[top_pair.second] = i;
      |                                                  ~ ^
/Users/admin/builder/spi-builder-workspace/cpp/tokenizer_info.cc:324:72: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  324 |     trie_subtree_nodes_range_[top_pair.second] = sorted_decoded_vocab_.size();
      |                                                ~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~
3 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/qwen.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter_ext.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter.h:24:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/minimax.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter_ext.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter.h:24:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/kimi_k3.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter_ext.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter.h:24:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/minimax_m3.cc:14:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter_ext.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter.h:24:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/lark_converter.cc:28:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:20:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1203:75: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1203 |       ReportParseError("Unknown named argument for TagDispatch: " + name, delta_element);
      |       ~~~~~~~~~~~~~~~~                                                    ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1211:69: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1211 |       ReportParseError("Each tag dispatch element must be a tuple", delta_element);
      |       ~~~~~~~~~~~~~~~~                                              ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1215:80: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1215 |       ReportParseError("Each tag dispatch element must be a pair (tag, rule)", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1220:66: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1220 |       ReportParseError("Tag must be a non-empty string literal", delta_element);
      |       ~~~~~~~~~~~~~~~~                                           ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1225:64: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1225 |       ReportParseError("Rule reference must be an identifier", delta_element);
      |       ~~~~~~~~~~~~~~~~                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1230:80: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1230 |       ReportParseError("Rule \"" + rule_name_node->name + "\" is not defined", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1241:73: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1241 |       ReportParseError("loop_after_dispatch must be a boolean literal", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                  ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1250:52: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1250 |       ReportParseError("excludes must be a tuple", delta_element);
      |       ~~~~~~~~~~~~~~~~                             ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1255:72: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1255 |         ReportParseError("Exclude must be a non-empty string literal", delta_element);
      |         ~~~~~~~~~~~~~~~~                                               ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1266:83: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1265 |         ReportParseError(
      |         ~~~~~~~~~~~~~~~~
 1266 |             "Exclude string must not be a prefix of trigger string: " + excl_str, delta_element
      |                                                                                   ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1282:67: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1282 |     ReportParseError("Regex expects exactly one string argument", delta_element);
      |     ~~~~~~~~~~~~~~~~                                              ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1286:64: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1286 |     ReportParseError("Regex pattern must be a string literal", delta_element);
      |     ~~~~~~~~~~~~~~~~                                           ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1292:77: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1292 |       ReportParseError("Regex does not support the named argument " + name, delta_element);
      |       ~~~~~~~~~~~~~~~~                                                      ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1298:57: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1298 |       ReportParseError("json_string must be a boolean", delta_element);
      |       ~~~~~~~~~~~~~~~~                                  ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1306:50: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1306 |       ReportParseError("flags must be a string", delta_element);
      |       ~~~~~~~~~~~~~~~~                           ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1319:88: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1318 |         ReportParseError(
      |         ~~~~~~~~~~~~~~~~
 1319 |             "regular-expression flag '" + std::string(1, flag) + "' is not supported", delta_element
      |                                                                                        ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1341:69: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1341 |     ReportParseError("Substring() does not accept named arguments", delta_element);
      |     ~~~~~~~~~~~~~~~~                                                ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1349:65: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1349 |       ReportParseError("Substring() arguments must be strings", delta_element);
      |       ~~~~~~~~~~~~~~~~                                          ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1364:65: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1364 |     ReportParseError("Token() does not accept named arguments", delta_element);
      |     ~~~~~~~~~~~~~~~~                                            ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1368:72: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1368 |     ReportParseError("Token() requires at least one integer argument", delta_element);
      |     ~~~~~~~~~~~~~~~~                                                   ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1375:75: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1375 |       ReportParseError("Token() arguments must be non-negative integers", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                    ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1393:72: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1393 |     ReportParseError("ExcludeToken() does not accept named arguments", delta_element);
      |     ~~~~~~~~~~~~~~~~                                                   ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1396:79: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1396 |     ReportParseError("ExcludeToken() requires at least one integer argument", delta_element);
      |     ~~~~~~~~~~~~~~~~                                                          ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1403:82: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1403 |       ReportParseError("ExcludeToken() arguments must be non-negative integers", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                           ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1426:80: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1426 |       ReportParseError("Unknown named argument for TokenTagDispatch: " + name, delta_element);
      |       ~~~~~~~~~~~~~~~~                                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1434:76: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1433 |       ReportParseError(
      |       ~~~~~~~~~~~~~~~~
 1434 |           "Each TokenTagDispatch element must be a pair (token_id, rule)", delta_element
      |                                                                            ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1439:75: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1439 |       ReportParseError("Token trigger ID must be a non-negative integer", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                    ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1443:64: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1443 |       ReportParseError("Rule reference must be an identifier", delta_element);
      |       ~~~~~~~~~~~~~~~~                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1447:75: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1447 |       ReportParseError("Rule \"" + rule_node->name + "\" is not defined", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                    ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1457:65: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1457 |       ReportParseError("loop_after_dispatch must be a boolean", delta_element);
      |       ~~~~~~~~~~~~~~~~                                          ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1465:52: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1465 |       ReportParseError("excludes must be a tuple", delta_element);
      |       ~~~~~~~~~~~~~~~~                             ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1470:77: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1470 |         ReportParseError("Exclude token ID must be a non-negative integer", delta_element);
      |         ~~~~~~~~~~~~~~~~                                                    ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_parser.cc:1481:13: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1479 |         ReportParseError(
      |         ~~~~~~~~~~~~~~~~
 1480 |             "Token trigger ID " + std::to_string(tid) + " must not overlap with exclude token ID",
 1481 |             delta_element
      |             ^~~~~~~~~~~~~
35 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_builder.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_builder.cc:64:73: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
   64 |   grammar_->grammar_expr_indptr_.push_back(grammar_->grammar_expr_data_.size());
      |                                  ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
3 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/glm.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter_ext.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter.h:24:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/json_schema_converter.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/json_schema_converter.h:24:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/structural_tag.cc:19:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar.cc:13:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_functor.h:17:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/earley_parser.h:19:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar.cc:215:38: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  215 |     const auto expr = GetGrammarExpr(expr_id);
      |                       ~~~~~~~~~~~~~~ ^~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar.cc:241:51: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  241 |           ok = expr_ok(expr[i]) && rule_ok(expr[i + 1]);
      |                                            ~~~~ ~~^~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar.cc:241:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  241 |           ok = expr_ok(expr[i]) && rule_ok(expr[i + 1]);
      |                        ~~~~ ^
/Users/admin/builder/spi-builder-workspace/cpp/grammar.cc:245:39: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  245 |              GetGrammarExpr(expr[size - 1]).type == GrammarExprType::kChoices;
      |                             ~~~~ ~~~~~^~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar.cc:244:38: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  244 |         ok = ok && expr_ok(expr[size - 1]) &&
      |                            ~~~~ ~~~~~^~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar.cc:256:31: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  256 |           ok = rule_ok(expr[2 + 2 * i]);
      |                        ~~~~ ~~^~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar.cc:259:64: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  259 |           const int64_t exclude_cnt = expr[1 + 2 * trigger_cnt + 1];
      |                                       ~~~~ ~~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar.cc:270:43: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  270 |           const int64_t chunk_len = expr[i++];
      |                                     ~~~~ ~^~
10 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:26:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/earley_parser.h:19:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:31:
/Users/admin/builder/spi-builder-workspace/cpp/support/int_set.h:21:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
   21 |   int original_lhs_size = lhs->size();
      |       ~~~~~~~~~~~~~~~~~   ~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/support/int_set.h:22:22: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
   22 |   int rhs_size = rhs.size();
      |       ~~~~~~~~   ~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:111:15: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  110 |           bool success = TraverseDraftTreeRecursive(
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~
  111 |               retrieve_next_token[current_position],
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:145:9: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  144 |     bool success = TraverseDraftTreeRecursive(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~
  145 |         retrieve_next_sibling[current_position],
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:228:24: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  228 |   int logits_stride0 = logits->strides[0];
      |       ~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:229:25: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  229 |   int bitmask_stride0 = bitmask.strides[0];
      |       ~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:277:24: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  277 |   int logits_stride0 = logits->strides[0];
      |       ~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:278:25: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  278 |   int bitmask_stride0 = bitmask.strides[0];
      |       ~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:1443:42: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1443 |     token_length_history.push_back(token.size());
      |                          ~~~~~~~~~ ~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:1537:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1537 |       token_length_history.push_back(token.size());
      |                            ~~~~~~~~~ ~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:1633:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1633 |   token_length_history.push_back(input_str.size());
      |                        ~~~~~~~~~ ~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:1826:41: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
 1820 |       common_prefix_length = std::mismatch(
      |                            ~ ~~~~~~~~~~~~~~
 1821 |                                  vocab[previous_index].second.begin(),
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1822 |                                  vocab[previous_index].second.end(),
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1823 |                                  token.begin(),
      |                                  ~~~~~~~~~~~~~~
 1824 |                                  token.end()
      |                                  ~~~~~~~~~~~
 1825 |                              )
      |                              ~
 1826 |                                  .first -
      |                                  ~~~~~~~^
 1827 |                              vocab[previous_index].second.begin();
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_matcher.cc:1992:34: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32]
 1989 |         int lcp_len = std::mismatch(
      |             ~~~~~~~   ~~~~~~~~~~~~~~
 1990 |                           cur_token.begin(), cur_token.end(), prev_token->begin(), prev_token->end()
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1991 |                       )
      |                       ~
 1992 |                           .first -
      |                           ~~~~~~~^
 1993 |                       cur_token.begin();
      |                       ~~~~~~~~~~~~~~~~~
15 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/fsm_builder.cc:23:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_functor.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_functor.h:17:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/earley_parser.h:19:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_functor.cc:2402:74: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
 2402 |         {builder_->AddRepeat(new_rule_id, lower - kUnzipThreshold, upper - kUnzipThreshold)}
      |                    ~~~~~~~~~                                       ~~~~~~^~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_functor.cc:2402:49: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
 2402 |         {builder_->AddRepeat(new_rule_id, lower - kUnzipThreshold, upper - kUnzipThreshold)}
      |                    ~~~~~~~~~              ~~~~~~^~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_functor.cc:3223:33: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
 3223 |     int32_t current_fsm_index = i;
      |             ~~~~~~~~~~~~~~~~~   ^
5 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_compiler.cc:21:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/earley_parser.h:19:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /Users/admin/builder/spi-builder-workspace/cpp/grammar_compiler.cc:27:
/Users/admin/builder/spi-builder-workspace/cpp/support/int_set.h:21:32: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
   21 |   int original_lhs_size = lhs->size();
      |       ~~~~~~~~~~~~~~~~~   ~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/support/int_set.h:22:22: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
   22 |   int rhs_size = rhs.size();
      |       ~~~~~~~~   ~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_compiler.cc:182:24: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32]
  180 |         int lcp_len =
      |             ~~~~~~~
  181 |             std::mismatch(token.begin(), token.end(), prev_token->begin(), prev_token->end())
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  182 |                 .first -
      |                 ~~~~~~~^
  183 |             token.begin();
      |             ~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_compiler.cc:324:25: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  324 |   int token_len = token.size();
      |       ~~~~~~~~~   ~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_compiler.cc:398:15: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  392 |         int32_t interval_left_end =
      |                 ~~~~~~~~~~~~~~~~~
  393 |             std::lower_bound(
      |             ~~~~~~~~~~~~~~~~~
  394 |                 sorted_decoded_vocab.begin() + matched_size,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  395 |                 sorted_decoded_vocab.end(),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  396 |                 std::make_pair(0, std::string(1, static_cast<uint8_t>(last_interval_end))),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  397 |                 IntStringPairComparator()
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~
  398 |             ) -
      |             ~~^
  399 |             sorted_decoded_vocab.begin();
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_compiler.cc:405:40: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  400 |         int32_t interval_right_end = std::lower_bound(
      |                 ~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~
  401 |                                          sorted_decoded_vocab.begin() + interval_left_end,
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  402 |                                          sorted_decoded_vocab.end(),
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  403 |                                          std::make_pair(0, std::string(1, static_cast<uint8_t>(i))),
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  404 |                                          IntStringPairComparator()
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~
  405 |                                      ) -
      |                                      ~~^
  406 |                                      sorted_decoded_vocab.begin();
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_compiler.cc:423:11: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  417 |     int32_t interval_left_end =
      |             ~~~~~~~~~~~~~~~~~
  418 |         std::lower_bound(
      |         ~~~~~~~~~~~~~~~~~
  419 |             sorted_decoded_vocab.begin() + matched_size,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  420 |             sorted_decoded_vocab.end(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  421 |             std::make_pair(0, std::string(1, static_cast<uint8_t>(last_interval_end))),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  422 |             IntStringPairComparator()
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~
  423 |         ) -
      |         ~~^
  424 |         sorted_decoded_vocab.begin();
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_compiler.cc:606:24: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32]
  604 |         int lcp_len =
      |             ~~~~~~~
  605 |             std::mismatch(token.begin(), token.end(), prev_token->begin(), prev_token->end())
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  606 |                 .first -
      |                 ~~~~~~~^
  607 |             token.begin();
      |             ~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_compiler.cc:1250:83: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1250 |     DynamicBitset definite_accepted_tokens_since_second_char(sorted_decoded_vocab.size());
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
11 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/deepseek.cc:8:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter_ext.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter.h:24:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/earley_parser.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/earley_parser.h:19:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:241:26: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  241 |     return edges_.size() - 1;
      |     ~~~~~~ ~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:962:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  962 |   result->edge_num_ = tmp.edge_num;
      |                     ~ ~~~~^~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:963:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  963 |   result->node_num_ = tmp.node_num;
      |                     ~ ~~~~^~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1371:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1371 |       new_to_old[state] = i;
      |                         ~ ^
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1375:24: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1375 |   int cnt = eq_classes.size();
      |       ~~~   ~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1633:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1633 |           old_to_new[state] = i;
      |                             ~ ^
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1636:28: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1636 |       int cnt = eq_classes.size();
      |           ~~~   ~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1768:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1768 |       state_mapping[state] = i;
      |                            ~ ^
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1771:35: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1771 |   int new_num_states = partitions.size();
      |       ~~~~~~~~~~~~~~   ~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1873:52: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1873 |         dfa.GetFsm().AddEdge(now_process, closures.size(), interval.first, interval.second);
      |                      ~~~~~~~              ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1906:56: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1906 |         dfa.GetFsm().AddRuleEdge(now_process, closures.size(), rule);
      |                      ~~~~~~~~~~~              ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1938:52: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1938 |         dfa.GetFsm().AddEdge(now_process, closures.size(), FSMEdge::EdgeType::kRepeatRef, aux_idx);
      |                      ~~~~~~~              ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1970:52: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1970 |         dfa.GetFsm().AddEdge(now_process, closures.size(), FSMEdge::EdgeType::kToken, aux_idx);
      |                      ~~~~~~~              ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:2003:35: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2002 |         dfa.GetFsm().AddEdge(
      |                      ~~~~~~~
 2003 |             now_process, closures.size(), FSMEdge::EdgeType::kExcludeToken, aux_idx
      |                          ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:58:41: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
   58 |   int NumStates() const { return edges_.size(); }
      |                           ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:401:24: note: in instantiation of member function 'xgrammar::FSMImplBase<std::vector<std::vector<xgrammar::FSMEdge>>>::NumStates' requested here
  401 |   int old_num_states = NumStates();
      |                        ^
In file included from /Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:32:
/Users/admin/builder/spi-builder-workspace/cpp/support/union_find_set.h:79:74: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
   79 |   int Count(const T& element) const { return element_to_parent_and_size_.count(element); }
      |                                       ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/fsm.cc:1339:24: note: in instantiation of member function 'xgrammar::UnionFindSet<int>::Count' requested here
 1339 |     if (union_find_set.Count(i)) {
      |                        ^
16 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/cohere.cc:15:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter_ext.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../json_schema_converter.h:24:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_builder.h:18:
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/converter_ext/../grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/cpp/compiled_grammar.cc:12:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/cpp/earley_parser.h:19:
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:126:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  126 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/grammar_impl.h:230:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  230 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/compiled_grammar.cc:39:37: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
   39 |     accepted_bitset = DynamicBitset(vocab_size);
      |                       ~~~~~~~~~~~~~ ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/cpp/compiled_grammar.cc:63:37: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
   63 |     accepted_bitset = DynamicBitset(vocab_size);
      |                       ~~~~~~~~~~~~~ ^~~~~~~~~~
4 warnings generated.
Build complete.
{
  "cxx_language_standard" : "c++17",
  "dependencies" : [
  ],
  "manifest_display_name" : "xgrammar",
  "name" : "xgrammar",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "XGrammar",
      "targets" : [
        "XGrammar"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "XGrammar",
      "module_type" : "ClangTarget",
      "name" : "XGrammar",
      "path" : ".",
      "product_memberships" : [
        "XGrammar"
      ],
      "sources" : [
        "cpp/compiled_grammar.cc",
        "cpp/config.cc",
        "cpp/converter_ext/cohere.cc",
        "cpp/converter_ext/deepseek.cc",
        "cpp/converter_ext/glm.cc",
        "cpp/converter_ext/kimi_k3.cc",
        "cpp/converter_ext/minimax.cc",
        "cpp/converter_ext/minimax_m3.cc",
        "cpp/converter_ext/qwen.cc",
        "cpp/earley_parser.cc",
        "cpp/fsm.cc",
        "cpp/fsm_builder.cc",
        "cpp/grammar.cc",
        "cpp/grammar_builder.cc",
        "cpp/grammar_compiler.cc",
        "cpp/grammar_functor.cc",
        "cpp/grammar_matcher.cc",
        "cpp/grammar_parser.cc",
        "cpp/grammar_printer.cc",
        "cpp/json_schema_converter.cc",
        "cpp/lark_converter.cc",
        "cpp/regex_converter.cc",
        "cpp/structural_tag.cc",
        "cpp/suffix_automata.cc",
        "cpp/support/logging.cc",
        "cpp/support/recursion_guard.cc",
        "cpp/testing.cc",
        "cpp/tokenizer_info.cc"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.