The Swift Package Index logo.Swift Package Index

Build Information

Successful build of XGrammar, reference main (e0f2de), with Swift 6.4 for macOS (SPM) on 24 Sep 2026 17:34:44 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/mattt/swift-xgrammar.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/mattt/swift-xgrammar
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at e0f2de3 Add CI workflow (#1)
Cloned https://github.com/mattt/swift-xgrammar.git
Revision (git rev-parse @):
e0f2de361aa4891dbca5113629bc90ab8e5c3888
SUCCESS checkout https://github.com/mattt/swift-xgrammar.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/mattt/swift-xgrammar.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 96]
[Planning deferred tasks]
[21 / 50]
[32 / 51] XGrammar
[35 / 51] Cxgrammar
[37 / 51] Cxgrammar
[38 / 51] Cxgrammar
[39 / 51] Cxgrammar
[40 / 51] Cxgrammar
[41 / 95]
[42 / 103]
[44 / 103]
[46 / 103]
[49 / 103]
[51 / 103] Cxgrammar
[53 / 103]
[59 / 103]
[61 / 103]
[65 / 103]
[67 / 103]
[70 / 103] Cxgrammar
[74 / 103]
[77 / 103]
[78 / 103]
[79 / 103]
[83 / 103]
[84 / 103]
[94 / 103] XGrammar
[100 / 103] XGrammar
Build complete! (9.82 sec)
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/testing.cc:14:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:86:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   86 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:154:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  154 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/testing.cc:79:29: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   79 |     int32_t curr_token_id = draft_tokens[curr];
      |             ~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/testing.cc:87:27: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   87 |       matcher.AcceptToken(draft_tokens[curr]);
      |               ~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/testing.cc:94:13: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   94 |         DFS(retrieve_next_token[curr],
      |         ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/testing.cc:110:9: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  110 |     DFS(retrieve_next_sibling[curr],
      |     ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~
6 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_printer.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_printer.h:14:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:86:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   86 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:154:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  154 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/tokenizer_info.cc:291:30: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  291 |   for (int i = encoded_vocab.size(); i < vocab_size_; ++i) {
      |            ~   ~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/tokenizer_info.cc:308:52: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  308 |       trie_subtree_nodes_range_[top_pair.second] = i;
      |                                                  ~ ^
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/tokenizer_info.cc:315:72: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  315 |     trie_subtree_nodes_range_[top_pair.second] = sorted_decoded_vocab_.size();
      |                                                ~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~
3 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:16:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:86:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   86 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:154:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  154 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:16:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:73:75: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
   73 |     grammar_->grammar_expr_indptr_.push_back(grammar_->grammar_expr_data_.size());
      |                                    ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:233:35: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  233 |     int32_t id = grammar_->rules_.size();
      |             ~~   ~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:895:73: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  895 |         {builder_.AddRepeat(new_rule_id, lower - kUnzipThreshold, upper - kUnzipThreshold)}
      |                   ~~~~~~~~~                                       ~~~~~~^~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:895:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  895 |         {builder_.AddRepeat(new_rule_id, lower - kUnzipThreshold, upper - kUnzipThreshold)}
      |                   ~~~~~~~~~              ~~~~~~^~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1058:69: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1058 |       ReportParseError("Each tag dispatch element must be a tuple", delta_element);
      |       ~~~~~~~~~~~~~~~~                                              ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1062:80: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1062 |       ReportParseError("Each tag dispatch element must be a pair (tag, rule)", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1068:66: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1068 |       ReportParseError("Tag must be a non-empty string literal", delta_element);
      |       ~~~~~~~~~~~~~~~~                                           ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1073:64: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1073 |       ReportParseError("Rule reference must be an identifier", delta_element);
      |       ~~~~~~~~~~~~~~~~                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1078:80: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1078 |       ReportParseError("Rule \"" + rule_name_node->name + "\" is not defined", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1089:62: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1089 |       ReportParseError("stop_eos must be a boolean literal", delta_element);
      |       ~~~~~~~~~~~~~~~~                                       ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1098:56: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1098 |       ReportParseError("Stop strings must be a tuple", delta_element);
      |       ~~~~~~~~~~~~~~~~                                 ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1104:76: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1104 |         ReportParseError("Stop string must be a non-empty string literal", delta_element);
      |         ~~~~~~~~~~~~~~~~                                                   ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1116:73: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1116 |       ReportParseError("loop_after_dispatch must be a boolean literal", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                  ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1125:60: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1125 |       ReportParseError("excluded strings must be a tuple", delta_element);
      |       ~~~~~~~~~~~~~~~~                                     ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1131:76: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1131 |         ReportParseError("Stop string must be a non-empty string literal", delta_element);
      |         ~~~~~~~~~~~~~~~~                                                   ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1140:77: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1139 |     ReportParseError(
      |     ~~~~~~~~~~~~~~~~
 1140 |         "The TagDispatch must have stop_eos=true or stop_str is not empty", delta_element
      |                                                                             ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_parser.cc:1148:13: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1146 |         ReportParseError(
      |         ~~~~~~~~~~~~~~~~
 1147 |             "The TagDispatch should not have a common stop_str and exclude_str: " + stop_str,
 1148 |             delta_element
      |             ^~~~~~~~~~~~~
19 warnings generated.
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:1146:94: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1146 |                     MakePatternForDigitRange('0', static_cast<char>(end_str[i] - 1), len - i - 1)
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~                                         ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:1168:94: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1168 |                   MakePatternForDigitRange(static_cast<char>(start_str[i] + 1), '9', len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                           ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:1202:94: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1202 |                   MakePatternForDigitRange(static_cast<char>(start_str[i] + 1), '9', len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                           ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:1223:92: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1223 |                   MakePatternForDigitRange('0', static_cast<char>(end_str[i] - 1), len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                         ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:1249:94: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1249 |                   MakePatternForDigitRange(static_cast<char>(start_str[i] + 1), '9', len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                           ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:1275:92: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1275 |                   MakePatternForDigitRange('0', static_cast<char>(end_str[i] - 1), len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                         ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:1349:94: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1349 |                   MakePatternForDigitRange(static_cast<char>(start_str[i] + 1), '9', len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                           ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:1390:92: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1390 |                   MakePatternForDigitRange('0', static_cast<char>(end_str[i] - 1), len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                         ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:2248:76: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 2245 |                 EBNFScriptCreator::Repeat(
      |                 ~~~~~~~~~~~~~~~~~
 2246 |                     EBNFScriptCreator::Concat({mid_separator, additional_rule_name}),
 2247 |                     0,
 2248 |                     array_spec.max_items == -1 ? -1 : array_spec.max_items - 1
      |                                                       ~~~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:2264:71: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 2261 |            EBNFScriptCreator::Repeat(
      |            ~~~~~~~~~~~~~~~~~
 2262 |                EBNFScriptCreator::Concat({mid_separator, additional_rule_name}),
 2263 |                array_spec.min_items - 1,
 2264 |                array_spec.max_items == -1 ? -1 : array_spec.max_items - 1
      |                                                  ~~~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:2263:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 2261 |            EBNFScriptCreator::Repeat(
      |            ~~~~~~~~~~~~~~~~~
 2262 |                EBNFScriptCreator::Concat({mid_separator, additional_rule_name}),
 2263 |                array_spec.min_items - 1,
      |                ~~~~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:2297:43: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 2292 |            EBNFScriptCreator::Repeat(
      |            ~~~~~~~~~~~~~~~~~
 2293 |                EBNFScriptCreator::Concat({mid_separator, additional_rule_name}),
 2294 |                min_items,
 2295 |                array_spec.max_items == -1
 2296 |                    ? -1
 2297 |                    : array_spec.max_items - static_cast<int64_t>(item_rule_names.size())
      |                      ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:2294:16: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
 2292 |            EBNFScriptCreator::Repeat(
      |            ~~~~~~~~~~~~~~~~~
 2293 |                EBNFScriptCreator::Concat({mid_separator, additional_rule_name}),
 2294 |                min_items,
      |                ^~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:2464:36: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2464 |     for (int i = properties.size() - 2; i >= 0; --i) {
      |              ~   ~~~~~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:3189:81: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int' [-Wshorten-64-to-32]
 3189 |     string_spec.min_length = schema.count("minLength") ? schema.at("minLength").get<int64_t>() : 0;
      |                            ~                             ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/json_schema_converter.cc:3190:81: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int' [-Wshorten-64-to-32]
 3190 |     string_spec.max_length = schema.count("maxLength") ? schema.at("maxLength").get<int64_t>() : -1;
      |                            ~                             ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
16 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:20:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/earley_parser.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:86:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   86 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:154:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  154 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:25:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/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/Sources/Cxgrammar/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/Sources/Cxgrammar/cpp/grammar_matcher.cc:101:24: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  101 |   int logits_stride0 = logits->strides[0];
      |       ~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:102:25: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  102 |   int bitmask_stride0 = bitmask.strides[0];
      |       ~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:150:24: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  150 |   int logits_stride0 = logits->strides[0];
      |       ~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:151:25: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  151 |   int bitmask_stride0 = bitmask.strides[0];
      |       ~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:547:40: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  547 |   token_length_history.push_back(token.size());
      |                        ~~~~~~~~~ ~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:586:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  586 |   token_length_history.push_back(input_str.size());
      |                        ~~~~~~~~~ ~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_matcher.cc:719:34: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32]
  716 |         int lcp_len = std::mismatch(
      |             ~~~~~~~   ~~~~~~~~~~~~~~
  717 |                           cur_token.begin(), cur_token.end(), prev_token->begin(), prev_token->end()
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  718 |                       )
      |                       ~
  719 |                           .first -
      |                           ~~~~~~~^
  720 |                       cur_token.begin();
      |                       ~~~~~~~~~~~~~~~~~
11 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/structural_tag.cc:14:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_functor.h:14:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:86:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   86 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:154:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  154 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/structural_tag.cc:14:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_functor.h:14:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:73:75: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
   73 |     grammar_->grammar_expr_indptr_.push_back(grammar_->grammar_expr_data_.size());
      |                                    ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:233:35: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  233 |     int32_t id = grammar_->rules_.size();
      |             ~~   ~~~~~~~~~~~~~~~~~^~~~~~
4 warnings generated.
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm_builder.cc:358:77: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  358 |       std::vector<std::pair<int, int>> escape_vector = HandleEscapes(regex, i);
      |                                                        ~~~~~~~~~~~~~        ^
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm_builder.cc:394:53: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  394 |         auto escaped_edges = HandleEscapes(regex, i + 2);
      |                              ~~~~~~~~~~~~~        ~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm_builder.cc:408:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  408 |       auto escaped_edges = HandleEscapes(regex, i);
      |                            ~~~~~~~~~~~~~        ^
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm_builder.cc:435:55: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  435 |       auto rhs_escaped_edges = HandleEscapes(regex, i + 2);
      |                                ~~~~~~~~~~~~~        ~~^~~
4 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_functor.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_functor.h:14:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:86:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   86 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:154:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  154 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_functor.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_functor.h:14:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:73:75: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
   73 |     grammar_->grammar_expr_indptr_.push_back(grammar_->grammar_expr_data_.size());
      |                                    ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:233:35: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  233 |     int32_t id = grammar_->rules_.size();
      |             ~~   ~~~~~~~~~~~~~~~~~^~~~~~
4 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar.cc:10:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_functor.h:14:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:86:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   86 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:154:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  154 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar.cc:10:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_functor.h:14:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:73:75: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
   73 |     grammar_->grammar_expr_indptr_.push_back(grammar_->grammar_expr_data_.size());
      |                                    ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:233:35: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  233 |     int32_t id = grammar_->rules_.size();
      |             ~~   ~~~~~~~~~~~~~~~~~^~~~~~
4 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:19:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/earley_parser.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:86:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   86 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:154:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  154 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:22:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_functor.h:14:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:73:75: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
   73 |     grammar_->grammar_expr_indptr_.push_back(grammar_->grammar_expr_data_.size());
      |                                    ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_builder.h:233:35: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  233 |     int32_t id = grammar_->rules_.size();
      |             ~~   ~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:131:25: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  131 |   int token_len = token.size();
      |       ~~~~~~~~~   ~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:205:15: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  199 |         int32_t interval_left_end =
      |                 ~~~~~~~~~~~~~~~~~
  200 |             std::lower_bound(
      |             ~~~~~~~~~~~~~~~~~
  201 |                 sorted_decoded_vocab.begin() + matched_size,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  202 |                 sorted_decoded_vocab.end(),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  203 |                 std::make_pair(0, std::string(1, static_cast<uint8_t>(last_interval_end))),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  204 |                 IntStringPairComparator()
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~
  205 |             ) -
      |             ~~^
  206 |             sorted_decoded_vocab.begin();
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:212:40: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  207 |         int32_t interval_right_end = std::lower_bound(
      |                 ~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~
  208 |                                          sorted_decoded_vocab.begin() + interval_left_end,
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  209 |                                          sorted_decoded_vocab.end(),
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  210 |                                          std::make_pair(0, std::string(1, static_cast<uint8_t>(i))),
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  211 |                                          IntStringPairComparator()
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~
  212 |                                      ) -
      |                                      ~~^
  213 |                                      sorted_decoded_vocab.begin();
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:230:11: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  224 |     int32_t interval_left_end =
      |             ~~~~~~~~~~~~~~~~~
  225 |         std::lower_bound(
      |         ~~~~~~~~~~~~~~~~~
  226 |             sorted_decoded_vocab.begin() + matched_size,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  227 |             sorted_decoded_vocab.end(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  228 |             std::make_pair(0, std::string(1, static_cast<uint8_t>(last_interval_end))),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  229 |             IntStringPairComparator()
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~
  230 |         ) -
      |         ~~^
  231 |         sorted_decoded_vocab.begin();
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:430:24: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32]
  428 |         int lcp_len =
      |             ~~~~~~~
  429 |             std::mismatch(token.begin(), token.end(), prev_token->begin(), prev_token->end())
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  430 |                 .first -
      |                 ~~~~~~~^
  431 |             token.begin();
      |             ~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_compiler.cc:830:83: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  830 |     DynamicBitset definite_accepted_tokens_since_second_char(sorted_decoded_vocab.size());
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
10 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/earley_parser.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/earley_parser.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:86:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   86 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:154:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  154 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm.cc:207:26: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  207 |     return edges_.size() - 1;
      |     ~~~~~~ ~~~~~~~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm.cc:1086:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1086 |       new_to_old[state] = i;
      |                         ~ ^
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm.cc:1090:24: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1090 |   int cnt = eq_classes.size();
      |       ~~~   ~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm.cc:1237:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1237 |           old_to_new[state] = i;
      |                             ~ ^
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm.cc:1240:28: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1240 |       int cnt = eq_classes.size();
      |           ~~~   ~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm.cc:1372:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1372 |       state_mapping[state] = i;
      |                            ~ ^
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm.cc:1375:35: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1375 |   int new_num_states = partitions.size();
      |       ~~~~~~~~~~~~~~   ~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm.cc:1464:52: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1464 |         dfa.GetFsm().AddEdge(now_process, closures.size(), interval.first, interval.second);
      |                      ~~~~~~~              ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm.cc:1494:56: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1494 |         dfa.GetFsm().AddRuleEdge(now_process, closures.size(), rule);
      |                      ~~~~~~~~~~~              ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/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/Sources/Cxgrammar/cpp/fsm.cc:320:24: note: in instantiation of member function 'xgrammar::FSMImplBase<std::vector<std::vector<xgrammar::FSMEdge>>>::NumStates' requested here
  320 |   int old_num_states = NumStates();
      |                        ^
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/fsm.cc:32:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/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/Sources/Cxgrammar/cpp/fsm.cc:1055:24: note: in instantiation of member function 'xgrammar::UnionFindSet<int>::Count' requested here
 1055 |     if (union_find_set.Count(i)) {
      |                        ^
11 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/compiled_grammar.cc:8:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/earley_parser.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:86:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   86 |   int32_t NumRules() const { return rules_.size(); }
      |                              ~~~~~~ ~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/grammar_impl.h:154:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  154 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/compiled_grammar.cc:34:37: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
   34 |     accepted_bitset = DynamicBitset(vocab_size);
      |                       ~~~~~~~~~~~~~ ^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/Cxgrammar/cpp/compiled_grammar.cc:58:37: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
   58 |     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" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "XGrammar",
      "targets" : [
        "XGrammar"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "XGrammarTests",
      "module_type" : "SwiftTarget",
      "name" : "XGrammarTests",
      "path" : "Tests/XGrammarTests",
      "sources" : [
        "CompilerTests.swift",
        "ConfigurationTests.swift",
        "ErrorTests.swift",
        "GrammarCompositionTests.swift",
        "GrammarTests.swift",
        "Helpers.swift",
        "JSONSchemaTests.swift",
        "MatcherTests.swift",
        "RegexGrammarTests.swift",
        "StructuralTagTests.swift",
        "TokenBitmaskTests.swift",
        "TokenizerInfoTests.swift"
      ],
      "target_dependencies" : [
        "XGrammar"
      ],
      "type" : "test"
    },
    {
      "c99name" : "XGrammar",
      "module_type" : "SwiftTarget",
      "name" : "XGrammar",
      "path" : "Sources/XGrammar",
      "product_memberships" : [
        "XGrammar"
      ],
      "sources" : [
        "Bridging.swift",
        "Compiler.swift",
        "Configuration.swift",
        "Errors.swift",
        "Formatting.swift",
        "Grammar.swift",
        "Matcher.swift",
        "TokenizerInfo.swift"
      ],
      "target_dependencies" : [
        "Cxgrammar"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Cxgrammar",
      "module_type" : "ClangTarget",
      "name" : "Cxgrammar",
      "path" : "Sources/Cxgrammar",
      "product_memberships" : [
        "XGrammar"
      ],
      "sources" : [
        "bridging.cc",
        "cpp/compiled_grammar.cc",
        "cpp/config.cc",
        "cpp/earley_parser.cc",
        "cpp/fsm.cc",
        "cpp/fsm_builder.cc",
        "cpp/grammar.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/regex_converter.cc",
        "cpp/structural_tag.cc",
        "cpp/support/logging.cc",
        "cpp/support/recursion_guard.cc",
        "cpp/testing.cc",
        "cpp/tokenizer_info.cc"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.