The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Cast, reference stage (9c5ac3), with Swift 6.4 for macOS (SPM) on 25 Sep 2026 10:34:17 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/jaylann/Cast.git
Reference: stage
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jaylann/Cast
 * branch            stage      -> FETCH_HEAD
 * [new branch]      stage      -> origin/stage
HEAD is now at 9c5ac3e feat(api): pluggable ModelSource — directory, bundle, endpoint (#101) (#113)
Submodule path 'Sources/CMLXStructured/xgrammar': checked out 'd68df627908376f3ed5e0a989395a03cc41894cd'
Submodule path 'Sources/CMLXStructured/xgrammar/3rdparty/cpptrace': checked out '6689d14c203eed390ae7bb64f56a983cfd7dff9c'
Submodule path 'Sources/CMLXStructured/xgrammar/3rdparty/dlpack': checked out 'bbd2f4d32427e548797929af08cfe2a9cbb3cf12'
Submodule path 'Sources/CMLXStructured/xgrammar/3rdparty/googletest': checked out 'df1544bcee0c7ce35cd5ea0b3eb8cc81855a4140'
Submodule 'Sources/CMLXStructured/xgrammar' (https://github.com/mlc-ai/xgrammar) registered for path 'Sources/CMLXStructured/xgrammar'
Cloning into '/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar'...
Submodule '3rdparty/cpptrace' (https://github.com/jeremy-rifkin/cpptrace.git) registered for path 'Sources/CMLXStructured/xgrammar/3rdparty/cpptrace'
Submodule '3rdparty/dlpack' (https://github.com/dmlc/dlpack.git) registered for path 'Sources/CMLXStructured/xgrammar/3rdparty/dlpack'
Submodule '3rdparty/googletest' (https://github.com/google/googletest.git) registered for path 'Sources/CMLXStructured/xgrammar/3rdparty/googletest'
Cloning into '/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/3rdparty/cpptrace'...
Cloning into '/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/3rdparty/dlpack'...
Cloning into '/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/3rdparty/googletest'...
Cloned https://github.com/jaylann/Cast.git
Revision (git rev-parse @):
9c5ac3e41d399651671f7b1f09611ef3e4e37f22
SUCCESS checkout https://github.com/jaylann/Cast.git at stage
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/jaylann/Cast.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 1655]
[Planning deferred tasks]
[Constructing 1232 / 3870]
[56 / 934] swift-crypto_Crypto
[323 / 934] swift-crypto_Crypto
[329 / 934]
[341 / 942] SwiftSyntax510
[345 / 961] EventSource
[347 / 986] ArgumentParserToolInfo
[349 / 1025]
[359 / 1039]
[375 / 1039] InternalCollectionsUtilities
[389 / 1039]
[406 / 1039] CMLXStructured
[407 / 1039]
[412 / 1039] InternalCollectionsUtilities
[421 / 1039]
[424 / 1039] CMLXStructured
[427 / 1039]
[429 / 1039]
[431 / 1039]
[433 / 1039]
[436 / 1039] CMLXStructured
[437 / 1039]
[439 / 1039]
[440 / 1039]
[443 / 1039]
[446 / 1039]
[454 / 1039] _NumericsShims
[457 / 1039] _NumericsShims
[462 / 1039] SwiftSyntax
[466 / 1039]
[467 / 1039] RealModule
[473 / 1039] SwiftSyntax509
[481 / 1039] InternalCollectionsUtilities
[487 / 1039] InternalCollectionsUtilities
[489 / 1039] ArgumentParser
[497 / 1043]
[501 / 1050] EventSource
[506 / 1080] SpanPreview
[518 / 1102] EventSource
[529 / 1114] HeapModule
[537 / 1114] ComplexModule
[550 / 1114] _RopeModule
[552 / 1114] _RopeModule
[553 / 1114] _RopeModule
[563 / 1114] OrderedCollections
[570 / 1114] SwiftSyntax
[572 / 1114] SwiftSyntax
[575 / 1114] HashTreeCollections
[582 / 1114] SwiftSyntax
[583 / 1114] SwiftSyntax
[590 / 1114] OrderedCollections
[591 / 1114] OrderedCollections-product
[593 / 1114] OrderedCollections-product
[595 / 1114] OrderedCollections
[599 / 1114] InternalCollectionsUtilities
[607 / 1114] HashTreeCollections
[609 / 1114] HashTreeCollections
[611 / 1114] HeapModule
[612 / 1114] HashTreeCollections
[614 / 1114] HashTreeCollections
[615 / 1114] HashTreeCollections
[616 / 1114] HashTreeCollections
[617 / 1114] HashTreeCollections
[619 / 1114] EventSource
[622 / 1114] EventSource-product
[627 / 1114] SwiftSyntax
[637 / 1114] HuggingFace
[638 / 1114] HuggingFace
[644 / 1114] Numerics
[650 / 1114] Crypto
[656 / 1118]
[661 / 1122] Numerics
[667 / 1152] SwiftParser
[690 / 1163] ArgumentParser
[692 / 1163] SwiftParser
[693 / 1174] BitCollections
[697 / 1223] Jinja
[710 / 1223] SwiftParser
[729 / 1223]
[736 / 1223]
[742 / 1223] SwiftParser
[745 / 1223]
[748 / 1223] SwiftDiagnostics
[749 / 1223]
[753 / 1223]
[760 / 1223] SwiftDiagnostics
[763 / 1223] SwiftBasicFormat
[768 / 1223] Numerics-product
[772 / 1223] Jinja-product
[775 / 1223] Jinja
[779 / 1223] SwiftBasicFormat
[782 / 1223] BitCollections
[784 / 1223] HuggingFace
[787 / 1223] HuggingFace
[789 / 1223] HuggingFace
[790 / 1223] HuggingFace
[791 / 1223] Jinja
[794 / 1223] HuggingFace
[795 / 1223] BitCollections
[797 / 1223] BitCollections
[799 / 1223] BitCollections
[802 / 1223] HuggingFace
[810 / 1223] HuggingFace-product
[812 / 1223] ArgumentParser
[814 / 1223] ArgumentParser-product
[820 / 1223]
[828 / 1223]
[830 / 1225]
[834 / 1239] _RopeModule
[838 / 1267] SwiftOperators
[842 / 1267] encuda-product
[845 / 1267] SwiftParserDiagnostics
[860 / 1267] SwiftSyntaxBuilder
[865 / 1339]
[874 / 1339]
[877 / 1339]
[880 / 1339] SwiftOperators
[887 / 1339]
[892 / 1339] SwiftOperators
[895 / 1339]
[902 / 1339] DequeModule
[907 / 1339] SwiftParserDiagnostics
[917 / 1339] DequeModule
[921 / 1340]
[928 / 1343]
[939 / 1344]
[948 / 1355]
[954 / 1377]
[959 / 1377]
[966 / 1377] SwiftSyntaxBuilder
[979 / 1378]
[985 / 1378]
[996 / 1379] mlx-swift_Cmlx
[1002 / 1390]
[1006 / 1390] SwiftSyntaxMacros
[1015 / 1403] mlx-swift_Cmlx
[1018 / 1403]
[1020 / 1403] JSONSchema
[1022 / 1403] MLX
[1030 / 1403]
[1040 / 1403]
[1044 / 1403]
[1046 / 1403] mlx-swift_Cmlx
[1054 / 1403] SwiftSyntaxMacros
[1057 / 1403] SwiftSyntaxMacros
[1064 / 1403] MLXNN
[1070 / 1403]
[1071 / 1403] MLX
[1075 / 1403] JSONSchema
[1076 / 1403] JSONSchema
[1082 / 1403] JSONSchema
[1086 / 1403] Hub
[1091 / 1403] Hub
[1092 / 1403] JSONSchema
[1102 / 1405] Cmlx
[1105 / 1406] SwiftSyntaxMacroExpansion
[1106 / 1415] Hub
[1109 / 1426] Tokenizers
[1111 / 1426] SwiftSyntaxMacroExpansion
[1119 / 1426] Cmlx
[1120 / 1426] Tokenizers
[1128 / 1426] Cmlx
[1130 / 1426] Cmlx
[1135 / 1426] Cmlx
[1136 / 1426] Cmlx
[1139 / 1426] Cmlx
[1144 / 1426] Cmlx
[1149 / 1426] Cmlx
[1151 / 1426] Cmlx
[1154 / 1426] Cmlx
[1155 / 1426] Cmlx
[1157 / 1426] Cmlx
[1158 / 1426] Cmlx
[1159 / 1426] Cmlx
[1160 / 1426] Cmlx
[1161 / 1426] Cmlx
[1167 / 1426] Cmlx
[1170 / 1426] Cmlx
[1172 / 1426] Cmlx
[1174 / 1426] Cmlx
[1175 / 1426] Cmlx
[1176 / 1426] Cmlx
[1180 / 1426] Cmlx
[1183 / 1426] Cmlx
[1185 / 1426] Cmlx
[1187 / 1426] Cmlx
[1188 / 1426] Cmlx
[1189 / 1426] Cmlx
[1190 / 1426] Cmlx
[1194 / 1426] Cmlx
[1195 / 1426] Cmlx
[1196 / 1426] Cmlx
[1197 / 1426] Cmlx
[1201 / 1426] Cmlx
[1203 / 1426] Cmlx
[1206 / 1426] Cmlx
[1207 / 1426] Cmlx
[1208 / 1426] Cmlx
[1211 / 1426] Cmlx
[1212 / 1426] Cmlx
[1213 / 1426] Cmlx
[1214 / 1426] Cmlx
[1216 / 1426] Cmlx
[1219 / 1426] Cmlx
[1222 / 1426] Cmlx
[1224 / 1426] Cmlx
[1229 / 1426] Cmlx
[1234 / 1426] Cmlx
[1235 / 1426] Cmlx
[1236 / 1426] Cmlx
[1238 / 1426] Cmlx
[1241 / 1426] Cmlx
[1243 / 1426] Cmlx
[1245 / 1426] Cmlx
[1246 / 1426] Cmlx
[1247 / 1426] Cmlx
[1248 / 1426] Cmlx
[1250 / 1426] Cmlx
[1252 / 1426] Cmlx
[1254 / 1426] Cmlx
[1256 / 1426] Cmlx
[1258 / 1426] Cmlx
[1260 / 1426] Cmlx
[1262 / 1426] Cmlx
[1263 / 1426] Cmlx
[1264 / 1426] Cmlx
[1266 / 1426] Cmlx
[1270 / 1426] Cmlx
[1273 / 1426] Cmlx
[1274 / 1426] Cmlx
[1275 / 1426] Cmlx
[1276 / 1426] Cmlx
[1278 / 1426] Cmlx
[1280 / 1426] Cmlx
[1282 / 1426] Cmlx
[1283 / 1426] Cmlx
[1287 / 1426] Cmlx
[1290 / 1426] Cmlx
[1293 / 1426] mlx-swift_Cmlx
[1294 / 1426] Tokenizers
[1295 / 1426] Tokenizers
[1297 / 1426] Tokenizers
[1299 / 1426] Tokenizers
[1303 / 1426] Tokenizers
[1306 / 1426] SwiftSyntaxMacroExpansion
[1310 / 1426] SwiftSyntaxMacroExpansion
[1317 / 1426] Hub
[1322 / 1428]
[1330 / 1429] Cmlx
[1342 / 1460] SwiftCompilerPluginMessageHandling
[1352 / 1482]
[1360 / 1493] SwiftCompilerPluginMessageHandling
[1368 / 1493] SwiftCompilerPluginMessageHandling
[1374 / 1493] Generation
[1393 / 1493] MLXNN-product
[1399 / 1493]
[1403 / 1493] Models
[1407 / 1493]
[1411 / 1493] Generation
[1415 / 1493]
[1420 / 1496]
[1422 / 1496]
[1426 / 1498] MLXOptimizers
[1435 / 1501] SwiftCompilerPlugin
[1455 / 1506] Models
[1462 / 1507] MLXOptimizers
[1467 / 1511] CastMacros
[1470 / 1511] CastMacros
[1472 / 1511] MLXLMCommon
[1479 / 1535]
[1482 / 1535] CastMacros
[1484 / 1535]
[1486 / 1535]
[1487 / 1535]
[1497 / 1535] MLXLMCommon
[1506 / 1537] Cmlx
[1507 / 1537]
[1510 / 1537] MLXOptimizers
[1510 / 1537] MLXLMCommon
[1520 / 1560] MLXStructured
[1522 / 1560] MLXStructured
[1524 / 1560] MLXStructured
[1526 / 1560] MLXStructured
[1531 / 1560] MLXStructured
[1534 / 1560] MLXStructured
[1535 / 1560] MLXStructured
[1537 / 1560] MLXLMCommon
[1540 / 1560] MLXLMCommon
[1541 / 1560] MLXStructured
[1550 / 1561] MLXLLM
[1550 / 1561] Cast
[1558 / 1572] Cast
[1559 / 1572] Cast
[1561 / 1572] Cast
[1568 / 1572] MLXLLM
[1572 / 1572] Cast-product
Build complete! (60.80 sec)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/petrukha-ivan/swift-json-schema.git
Fetching https://github.com/ml-explore/mlx-swift.git
Fetching https://github.com/swiftlang/swift-docc-plugin
Fetching https://github.com/huggingface/swift-transformers.git
Fetching https://github.com/swiftlang/swift-syntax.git
Fetching https://github.com/ml-explore/mlx-swift-lm.git
[1/132] Fetching swift-json-schema
[23/2477] Fetching swift-json-schema, swift-docc-plugin
[251/9504] Fetching swift-json-schema, swift-docc-plugin, swift-transformers
[1001/37227] Fetching swift-json-schema, swift-docc-plugin, swift-transformers, swift-collections
[1213/54168] Fetching swift-json-schema, swift-docc-plugin, swift-transformers, swift-collections, mlx-swift
[23059/134236] Fetching swift-json-schema, swift-docc-plugin, swift-transformers, swift-collections, mlx-swift, swift-syntax
[50965/155414] Fetching swift-json-schema, swift-docc-plugin, swift-transformers, swift-collections, mlx-swift, swift-syntax, mlx-swift-lm
Fetched https://github.com/apple/swift-collections.git (3.11s)
Fetched https://github.com/petrukha-ivan/swift-json-schema.git (3.11s)
[74402/127559] Fetching swift-docc-plugin, swift-transformers, mlx-swift, swift-syntax, mlx-swift-lm
Fetched https://github.com/ml-explore/mlx-swift.git (3.20s)
[62476/110618] Fetching swift-docc-plugin, swift-transformers, swift-syntax, mlx-swift-lm
Fetched https://github.com/ml-explore/mlx-swift-lm.git (9.55s)
Fetched https://github.com/swiftlang/swift-syntax.git (9.55s)
Fetched https://github.com/huggingface/swift-transformers.git (9.55s)
Fetched https://github.com/swiftlang/swift-docc-plugin (9.55s)
Computing version for https://github.com/petrukha-ivan/swift-json-schema.git
Computed https://github.com/petrukha-ivan/swift-json-schema.git at 2.0.2 (10.17s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 600.0.1 (2.88s)
Computing version for https://github.com/ml-explore/mlx-swift-lm.git
Computed https://github.com/ml-explore/mlx-swift-lm.git at 2.31.3 (0.57s)
Computing version for https://github.com/huggingface/swift-transformers.git
Computed https://github.com/huggingface/swift-transformers.git at 1.2.1 (0.54s)
Fetching https://github.com/ibireme/yyjson.git
Fetching https://github.com/huggingface/swift-huggingface.git
Fetching https://github.com/apple/swift-crypto.git
Fetching https://github.com/huggingface/swift-jinja.git
[1/2753] Fetching swift-huggingface
[2/4129] Fetching swift-huggingface, swift-jinja
[85/22678] Fetching swift-huggingface, swift-jinja, swift-crypto
[1344/27577] Fetching swift-huggingface, swift-jinja, swift-crypto, yyjson
Fetched https://github.com/ibireme/yyjson.git (1.88s)
[8767/22678] Fetching swift-huggingface, swift-jinja, swift-crypto
Fetched https://github.com/huggingface/swift-huggingface.git (2.77s)
Fetched https://github.com/apple/swift-crypto.git (2.77s)
Fetched https://github.com/huggingface/swift-jinja.git (2.77s)
Computing version for https://github.com/ibireme/yyjson.git
Computed https://github.com/ibireme/yyjson.git at 0.12.0 (3.45s)
Computing version for https://github.com/ml-explore/mlx-swift.git
Computed https://github.com/ml-explore/mlx-swift.git at 0.31.6 (0.61s)
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/apple/swift-numerics
[1/6640] Fetching swift-numerics
[1130/25581] Fetching swift-numerics, swift-argument-parser
Fetched https://github.com/apple/swift-numerics (2.05s)
Fetched https://github.com/apple/swift-argument-parser (2.05s)
Computing version for https://github.com/huggingface/swift-huggingface.git
Computed https://github.com/huggingface/swift-huggingface.git at 0.11.0 (2.66s)
Fetching https://github.com/mattt/EventSource.git
[1/303] Fetching eventsource
Fetched https://github.com/mattt/EventSource.git (0.94s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (1.51s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.0 (0.64s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (0.64s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3830] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.26s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.99s)
Computing version for https://github.com/mattt/EventSource.git
Computed https://github.com/mattt/EventSource.git at 1.5.1 (0.61s)
Computing version for https://github.com/huggingface/swift-jinja.git
Computed https://github.com/huggingface/swift-jinja.git at 2.5.1 (0.55s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.59s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (2.25s)
Fetching https://github.com/apple/swift-asn1.git
[1/1983] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git (1.13s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (1.80s)
Creating working copy for https://github.com/mattt/EventSource.git
Working copy of https://github.com/mattt/EventSource.git resolved at 1.5.1
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/ibireme/yyjson.git
Working copy of https://github.com/ibireme/yyjson.git resolved at 0.12.0
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 600.0.1
Creating working copy for https://github.com/petrukha-ivan/swift-json-schema.git
Working copy of https://github.com/petrukha-ivan/swift-json-schema.git resolved at 2.0.2
Creating working copy for https://github.com/huggingface/swift-huggingface.git
Working copy of https://github.com/huggingface/swift-huggingface.git resolved at 0.11.0
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 4.5.2
Creating working copy for https://github.com/huggingface/swift-transformers.git
Working copy of https://github.com/huggingface/swift-transformers.git resolved at 1.2.1
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
Creating working copy for https://github.com/huggingface/swift-jinja.git
Working copy of https://github.com/huggingface/swift-jinja.git resolved at 2.5.1
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/ml-explore/mlx-swift.git
Working copy of https://github.com/ml-explore/mlx-swift.git resolved at 0.31.6
Creating working copy for https://github.com/ml-explore/mlx-swift-lm.git
Working copy of https://github.com/ml-explore/mlx-swift-lm.git resolved at 2.31.3
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.7.0
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/nanobind': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/nanobind': File not found.
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/CastMacros/CLAUDE.md
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Sources/MLXStructured/CLAUDE.md
warning: missing creator for mutated node: ('/Users/admin/builder/spi-builder-workspace/.build/out/Products/Debug/mlx-swift_Cmlx.bundle/Contents/MacOS')
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/testing.cc:15:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/testing.cc:85:29: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
   85 |     int32_t curr_token_id = draft_tokens[curr];
      |             ~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/testing.cc:102:27: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  102 |       matcher.AcceptToken(draft_tokens[curr]);
      |               ~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/testing.cc:110:17: 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_token[curr],
      |             ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/testing.cc:135:13: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  135 |         DFS(retrieve_next_sibling[curr],
      |         ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~
6 warnings generated.
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/tokenizer_info.cc:313:52: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  313 |       trie_subtree_nodes_range_[top_pair.second] = i;
      |                                                  ~ ^
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/tokenizer_info.cc:320:72: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  320 |     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/CMLXStructured/xgrammar/cpp/grammar_printer.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_printer.h:14:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/json_schema_converter.cc:2328:94: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2328 |                     MakePatternForDigitRange('0', static_cast<char>(end_str[i] - 1), len - i - 1)
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~                                         ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/json_schema_converter.cc:2348:94: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2348 |                   MakePatternForDigitRange(static_cast<char>(start_str[i] + 1), '9', len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                           ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/json_schema_converter.cc:2379:94: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2379 |                   MakePatternForDigitRange(static_cast<char>(start_str[i] + 1), '9', len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                           ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/json_schema_converter.cc:2399:92: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2399 |                   MakePatternForDigitRange('0', static_cast<char>(end_str[i] - 1), len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                         ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/json_schema_converter.cc:2422:94: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2422 |                   MakePatternForDigitRange(static_cast<char>(start_str[i] + 1), '9', len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                           ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/json_schema_converter.cc:2445:92: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2445 |                   MakePatternForDigitRange('0', static_cast<char>(end_str[i] - 1), len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                         ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/json_schema_converter.cc:2511:94: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2511 |                   MakePatternForDigitRange(static_cast<char>(start_str[i] + 1), '9', len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                           ~~~~~~~~^~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/json_schema_converter.cc:2551:92: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 2551 |                   MakePatternForDigitRange('0', static_cast<char>(end_str[i] - 1), len - i - 1)
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~                                         ~~~~~~~~^~~
8 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:16:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_builder.h:17:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:941:75: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
  941 |       ReportParseError("Unknown named argument for TagDispatch: " + name, delta_element);
      |       ~~~~~~~~~~~~~~~~                                                    ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:949:69: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
  949 |       ReportParseError("Each tag dispatch element must be a tuple", delta_element);
      |       ~~~~~~~~~~~~~~~~                                              ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:953:80: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
  953 |       ReportParseError("Each tag dispatch element must be a pair (tag, rule)", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:958:66: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
  958 |       ReportParseError("Tag must be a non-empty string literal", delta_element);
      |       ~~~~~~~~~~~~~~~~                                           ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:963:64: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
  963 |       ReportParseError("Rule reference must be an identifier", delta_element);
      |       ~~~~~~~~~~~~~~~~                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:968:80: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
  968 |       ReportParseError("Rule \"" + rule_name_node->name + "\" is not defined", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:979:73: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
  979 |       ReportParseError("loop_after_dispatch must be a boolean literal", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                  ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:988:52: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
  988 |       ReportParseError("excludes must be a tuple", delta_element);
      |       ~~~~~~~~~~~~~~~~                             ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:993:72: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
  993 |         ReportParseError("Exclude must be a non-empty string literal", delta_element);
      |         ~~~~~~~~~~~~~~~~                                               ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1004:83: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1003 |         ReportParseError(
      |         ~~~~~~~~~~~~~~~~
 1004 |             "Exclude string must not be a prefix of trigger string: " + excl_str, delta_element
      |                                                                                   ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1020:65: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1020 |     ReportParseError("Token() does not accept named arguments", delta_element);
      |     ~~~~~~~~~~~~~~~~                                            ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1024:72: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1024 |     ReportParseError("Token() requires at least one integer argument", delta_element);
      |     ~~~~~~~~~~~~~~~~                                                   ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1031:75: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1031 |       ReportParseError("Token() arguments must be non-negative integers", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                    ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1049:72: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1049 |     ReportParseError("ExcludeToken() does not accept named arguments", delta_element);
      |     ~~~~~~~~~~~~~~~~                                                   ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1052:79: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1052 |     ReportParseError("ExcludeToken() requires at least one integer argument", delta_element);
      |     ~~~~~~~~~~~~~~~~                                                          ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1059:82: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1059 |       ReportParseError("ExcludeToken() arguments must be non-negative integers", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                           ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1082:80: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1082 |       ReportParseError("Unknown named argument for TokenTagDispatch: " + name, delta_element);
      |       ~~~~~~~~~~~~~~~~                                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1090:76: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1089 |       ReportParseError(
      |       ~~~~~~~~~~~~~~~~
 1090 |           "Each TokenTagDispatch element must be a pair (token_id, rule)", delta_element
      |                                                                            ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1095:75: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1095 |       ReportParseError("Token trigger ID must be a non-negative integer", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                    ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1099:64: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1099 |       ReportParseError("Rule reference must be an identifier", delta_element);
      |       ~~~~~~~~~~~~~~~~                                         ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1103:75: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1103 |       ReportParseError("Rule \"" + rule_node->name + "\" is not defined", delta_element);
      |       ~~~~~~~~~~~~~~~~                                                    ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1113:65: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1113 |       ReportParseError("loop_after_dispatch must be a boolean", delta_element);
      |       ~~~~~~~~~~~~~~~~                                          ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1121:52: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1121 |       ReportParseError("excludes must be a tuple", delta_element);
      |       ~~~~~~~~~~~~~~~~                             ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1126:77: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1126 |         ReportParseError("Exclude token ID must be a non-negative integer", delta_element);
      |         ~~~~~~~~~~~~~~~~                                                    ^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_parser.cc:1137:13: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
 1135 |         ReportParseError(
      |         ~~~~~~~~~~~~~~~~
 1136 |             "Token trigger ID " + std::to_string(tid) + " must not overlap with exclude token ID",
 1137 |             delta_element
      |             ^~~~~~~~~~~~~
27 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_builder.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_builder.h:17:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_builder.cc:43:73: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
   43 |   grammar_->grammar_expr_indptr_.push_back(grammar_->grammar_expr_data_.size());
      |                                  ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
3 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_matcher.cc:20:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/earley_parser.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_matcher.cc:25:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_matcher.cc:578:42: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  578 |     token_length_history.push_back(token.size());
      |                          ~~~~~~~~~ ~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_matcher.cc:617:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  617 |       token_length_history.push_back(token.size());
      |                            ~~~~~~~~~ ~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_matcher.cc:656:44: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
  656 |   token_length_history.push_back(input_str.size());
      |                        ~~~~~~~~~ ~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_matcher.cc:789:34: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32]
  786 |         int lcp_len = std::mismatch(
      |             ~~~~~~~   ~~~~~~~~~~~~~~
  787 |                           cur_token.begin(), cur_token.end(), prev_token->begin(), prev_token->end()
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  788 |                       )
      |                       ~
  789 |                           .first -
      |                           ~~~~~~~^
  790 |                       cur_token.begin();
      |                       ~~~~~~~~~~~~~~~~~
12 warnings generated.
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_functor.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_functor.h:16:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/earley_parser.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_functor.cc:1881:74: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
 1881 |         {builder_->AddRepeat(new_rule_id, lower - kUnzipThreshold, upper - kUnzipThreshold)}
      |                    ~~~~~~~~~                                       ~~~~~~^~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_functor.cc:1881:49: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
 1881 |         {builder_->AddRepeat(new_rule_id, lower - kUnzipThreshold, upper - kUnzipThreshold)}
      |                    ~~~~~~~~~              ~~~~~~^~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_functor.cc:2068:33: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
 2068 |     int32_t current_fsm_index = i;
      |             ~~~~~~~~~~~~~~~~~   ^
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_functor.cc:2140:16: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
 2140 |         return i;
      |         ~~~~~~ ^
6 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/structural_tag.cc:19:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_builder.h:17:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar.cc:10:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_functor.h:16:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/earley_parser.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:19:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/earley_parser.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:25:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:181:24: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32]
  179 |         int lcp_len =
      |             ~~~~~~~
  180 |             std::mismatch(token.begin(), token.end(), prev_token->begin(), prev_token->end())
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  181 |                 .first -
      |                 ~~~~~~~^
  182 |             token.begin();
      |             ~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:323:25: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  323 |   int token_len = token.size();
      |       ~~~~~~~~~   ~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:397:15: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  391 |         int32_t interval_left_end =
      |                 ~~~~~~~~~~~~~~~~~
  392 |             std::lower_bound(
      |             ~~~~~~~~~~~~~~~~~
  393 |                 sorted_decoded_vocab.begin() + matched_size,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  394 |                 sorted_decoded_vocab.end(),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  395 |                 std::make_pair(0, std::string(1, static_cast<uint8_t>(last_interval_end))),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  396 |                 IntStringPairComparator()
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~
  397 |             ) -
      |             ~~^
  398 |             sorted_decoded_vocab.begin();
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:404:40: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  399 |         int32_t interval_right_end = std::lower_bound(
      |                 ~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~
  400 |                                          sorted_decoded_vocab.begin() + interval_left_end,
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  401 |                                          sorted_decoded_vocab.end(),
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  402 |                                          std::make_pair(0, std::string(1, static_cast<uint8_t>(i))),
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  403 |                                          IntStringPairComparator()
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~
  404 |                                      ) -
      |                                      ~~^
  405 |                                      sorted_decoded_vocab.begin();
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:422:11: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  416 |     int32_t interval_left_end =
      |             ~~~~~~~~~~~~~~~~~
  417 |         std::lower_bound(
      |         ~~~~~~~~~~~~~~~~~
  418 |             sorted_decoded_vocab.begin() + matched_size,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  419 |             sorted_decoded_vocab.end(),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  420 |             std::make_pair(0, std::string(1, static_cast<uint8_t>(last_interval_end))),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  421 |             IntStringPairComparator()
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~
  422 |         ) -
      |         ~~^
  423 |         sorted_decoded_vocab.begin();
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:595:24: warning: implicit conversion loses integer precision: 'decltype(__x.base() - __y.base())' (aka 'long') to 'int' [-Wshorten-64-to-32]
  593 |         int lcp_len =
      |             ~~~~~~~
  594 |             std::mismatch(token.begin(), token.end(), prev_token->begin(), prev_token->end())
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  595 |                 .first -
      |                 ~~~~~~~^
  596 |             token.begin();
      |             ~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:816:15: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  812 |       crossing_cache = rule_level_cache_->GetCache(
      |                                           ~~~~~~~~
  813 |           HashCombine(fsm_hash.value(), lookahead_hash.value(), is_exact_lookahead),
  814 |           new_state_id,
  815 |           fsm.NumStates(),
  816 |           fsm.GetNumEdges()
      |           ~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:824:62: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  823 |     crossing_cache = rule_level_cache_->GetCache(
      |                                         ~~~~~~~~
  824 |         fsm_hash.value(), new_state_id, fsm.NumStates(), fsm.GetNumEdges()
      |                                                          ~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:871:66: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  870 |         rule_level_cache_->AddCache(
      |                            ~~~~~~~~
  871 |             fsm_hash.value(), new_state_id, fsm.NumStates(), fsm.GetNumEdges(), return_value
      |                                                              ~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:907:15: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  903 |       rule_level_cache_->AddCache(
      |                          ~~~~~~~~
  904 |           fsm_hash.value(),
  905 |           new_state_id,
  906 |           fsm.NumStates(),
  907 |           fsm.GetNumEdges(),
      |           ~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:922:17: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  918 |         rule_level_cache_->AddCache(
      |                            ~~~~~~~~
  919 |             HashCombine(fsm_hash.value(), lookahead_hash.value(), is_exact_lookahead),
  920 |             new_state_id,
  921 |             fsm.NumStates(),
  922 |             fsm.GetNumEdges(),
      |             ~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:942:66: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  941 |         rule_level_cache_->AddCache(
      |                            ~~~~~~~~
  942 |             fsm_hash.value(), new_state_id, fsm.NumStates(), fsm.GetNumEdges(), return_value
      |                                                              ~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:965:15: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  961 |       rule_level_cache_->AddCache(
      |                          ~~~~~~~~
  962 |           fsm_hash.value(),
  963 |           new_state_id,
  964 |           fsm.NumStates(),
  965 |           fsm.GetNumEdges(),
      |           ~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:979:17: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  975 |         rule_level_cache_->AddCache(
      |                            ~~~~~~~~
  976 |             HashCombine(fsm_hash.value(), lookahead_hash.value(), is_exact_lookahead),
  977 |             new_state_id,
  978 |             fsm.NumStates(),
  979 |             fsm.GetNumEdges(),
      |             ~~~~^~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/grammar_compiler.cc:1188:83: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1188 |     DynamicBitset definite_accepted_tokens_since_second_char(sorted_decoded_vocab.size());
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
19 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/earley_parser.cc:6:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/earley_parser.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
2 warnings generated.
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1267:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1267 |       new_to_old[state] = i;
      |                         ~ ^
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1271:24: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1271 |   int cnt = eq_classes.size();
      |       ~~~   ~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1418:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1418 |           old_to_new[state] = i;
      |                             ~ ^
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1421:28: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1421 |       int cnt = eq_classes.size();
      |           ~~~   ~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1553:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'value_type' (aka 'int') [-Wshorten-64-to-32]
 1553 |       state_mapping[state] = i;
      |                            ~ ^
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1556:35: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1556 |   int new_num_states = partitions.size();
      |       ~~~~~~~~~~~~~~   ~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1655:52: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1655 |         dfa.GetFsm().AddEdge(now_process, closures.size(), interval.first, interval.second);
      |                      ~~~~~~~              ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1685:56: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1685 |         dfa.GetFsm().AddRuleEdge(now_process, closures.size(), rule);
      |                      ~~~~~~~~~~~              ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1714:52: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1714 |         dfa.GetFsm().AddEdge(now_process, closures.size(), FSMEdge::EdgeType::kRepeatRef, aux_idx);
      |                      ~~~~~~~              ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1743:52: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1743 |         dfa.GetFsm().AddEdge(now_process, closures.size(), FSMEdge::EdgeType::kToken, aux_idx);
      |                      ~~~~~~~              ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:1773:35: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
 1772 |         dfa.GetFsm().AddEdge(
      |                      ~~~~~~~
 1773 |             now_process, closures.size(), FSMEdge::EdgeType::kExcludeToken, aux_idx
      |                          ~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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/Sources/CMLXStructured/xgrammar/cpp/fsm.cc:32:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/fsm.cc:1235:24: note: in instantiation of member function 'xgrammar::UnionFindSet<int>::Count' requested here
 1235 |     if (union_find_set.Count(i)) {
      |                        ^
14 warnings generated.
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/compiled_grammar.cc:8:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/compiled_grammar_impl.h:18:
In file included from /Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/earley_parser.h:16:
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/cpp/grammar_impl.h:159:65: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
  159 |   int32_t NumGrammarExprs() const { return grammar_expr_indptr_.size(); }
      |                                     ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/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/CMLXStructured/xgrammar/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.
In file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/steel_attention.metal:6:
In file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:3:
In file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/attn.h:6:
In file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/../../steel/attn/mma.h:11:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/../../steel/utils/integral_constant.h:108:6: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
  if constexpr (start < stop) {
     ^
In file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/steel_attention.metal:6:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:356:16: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
            if constexpr (is_bool) {
               ^
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:426:14: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
          if constexpr (BD == 128) {
             ^
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:436:14: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
          if constexpr (BD == 128) {
             ^
4 warnings generated.
/Users/admin/builder/spi-builder-workspace/Sources/MLXStructured/Backends/XGrammar.swift:86:30: warning: 'raw' is deprecated: Prefer constructing prompt manually, this property will be removed in the future versions [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 84 |
 85 |         let compiledGrammar = switch grammar {
 86 |         case _ where grammar.raw.isEmpty:
    |                              `- warning: 'raw' is deprecated: Prefer constructing prompt manually, this property will be removed in the future versions [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 87 |             throw XGrammarError.emptyGrammar
 88 |         case .ebnf(let ebnf):
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/MLXStructured/Generate.swift:28:12: warning: 'generate(input:context:iterator:didGenerate:)' is deprecated: Use the AsyncStream-based generate(input:cache:parameters:context:) instead for better Swift concurrency support [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 26 |     let processor = try await GrammarMaskedLogitProcessor.from(configuration: context.configuration, grammar: grammar)
 27 |     let iterator = try TokenIterator(input: input, model: context.model, processor: processor, sampler: sampler)
 28 |     return generate(input: input, context: context, iterator: iterator, didGenerate: didGenerate)
    |            `- warning: 'generate(input:context:iterator:didGenerate:)' is deprecated: Use the AsyncStream-based generate(input:cache:parameters:context:) instead for better Swift concurrency support [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 29 | }
 30 |
/Users/admin/builder/spi-builder-workspace/Sources/MLXStructured/Generate.swift:71:20: warning: 'generate(input:context:iterator:wiredMemoryTicket:)' is deprecated: use a higher level generate() call or use generateTask() for fine grained control [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 69 |         sampler: sampler
 70 |     )
 71 |     let upstream = generate(input: input, context: context, iterator: iterator)
    |                    `- warning: 'generate(input:context:iterator:wiredMemoryTicket:)' is deprecated: use a higher level generate() call or use generateTask() for fine grained control [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 72 |
 73 |     return AsyncThrowingStream { continuation in
/Users/admin/builder/spi-builder-workspace/Sources/MLXStructured/Generate.swift:117:18: warning: 'generate(input:context:iterator:didGenerate:)' is deprecated: Use the AsyncStream-based generate(input:cache:parameters:context:) instead for better Swift concurrency support [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
115 |     let processor = try await GrammarMaskedLogitProcessor.from(configuration: context.configuration, grammar: grammar)
116 |     let iterator = try TokenIterator(input: input, model: context.model, processor: processor, sampler: sampler)
117 |     let result = generate(input: input, context: context, iterator: iterator, didGenerate: didGenerate)
    |                  `- warning: 'generate(input:context:iterator:didGenerate:)' is deprecated: Use the AsyncStream-based generate(input:cache:parameters:context:) instead for better Swift concurrency support [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
118 |     let content = try JSONDecoder().decode(Content.self, from: Data(result.output.utf8))
119 |     return (result, content)
/Users/admin/builder/spi-builder-workspace/Sources/MLXStructured/Generate.swift:139:22: warning: 'generate(input:context:iterator:didGenerate:)' is deprecated: Use the AsyncStream-based generate(input:cache:parameters:context:) instead for better Swift concurrency support [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
137 |         )
138 |         let iterator = try TokenIterator(input: input, model: context.model, processor: processor, sampler: sampler)
139 |         let result = generate(input: input, context: context, iterator: iterator, didGenerate: didGenerate)
    |                      `- warning: 'generate(input:context:iterator:didGenerate:)' is deprecated: Use the AsyncStream-based generate(input:cache:parameters:context:) instead for better Swift concurrency support [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
140 |         let content = try Content(GeneratedContent(json: result.output))
141 |         return (result, content)
/Users/admin/builder/spi-builder-workspace/Sources/MLXStructured/Generate.swift:159:22: warning: 'generate(input:context:iterator:wiredMemoryTicket:)' is deprecated: use a higher level generate() call or use generateTask() for fine grained control [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
157 |         )
158 |         let iterator = try TokenIterator(input: input, model: context.model, processor: processor, sampler: sampler)
159 |         let stream = generate(input: input, context: context, iterator: iterator)
    |                      `- warning: 'generate(input:context:iterator:wiredMemoryTicket:)' is deprecated: use a higher level generate() call or use generateTask() for fine grained control [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
160 |         return AsyncStream { continuation in
161 |             let task = Task {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Stream.swift:123:38: warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
121 |                             parameters: parameters,
122 |                             context: context,
123 |                             grammar: grammar
    |                                      `- warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
124 |                         )
125 |
MLXStructured.Grammar:1:13: note: enum 'Grammar' does not conform to the 'Sendable' protocol
1 | public enum Grammar {
  |             `- note: enum 'Grammar' does not conform to the 'Sendable' protocol
2 |     case ebnf(String)
3 |     case regex(String)
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Stream.swift:123:38: warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
121 |                             parameters: parameters,
122 |                             context: context,
123 |                             grammar: grammar
    |                                      `- warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
124 |                         )
125 |
MLXStructured.Grammar:1:13: note: enum 'Grammar' does not conform to the 'Sendable' protocol
1 | public enum Grammar {
  |             `- note: enum 'Grammar' does not conform to the 'Sendable' protocol
2 |     case ebnf(String)
3 |     case regex(String)
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Stream.swift:123:38: warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
121 |                             parameters: parameters,
122 |                             context: context,
123 |                             grammar: grammar
    |                                      `- warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
124 |                         )
125 |
MLXStructured.Grammar:1:13: note: enum 'Grammar' does not conform to the 'Sendable' protocol
1 | public enum Grammar {
  |             `- note: enum 'Grammar' does not conform to the 'Sendable' protocol
2 |     case ebnf(String)
3 |     case regex(String)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/Cast/Bench/Instrumentation.swift:99:38: warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
 97 |         let result: GenerateResult
 98 |         do {
 99 |             result = try await model.withInFlightRegistration {
    |                                      `- warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
100 |                 try await withGenerationTimeout(config.timeout) {
101 |                     try await container.perform { context in
MLXLMCommon.GenerateResult:1:15: note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 1 | public struct GenerateResult {
   |               `- note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 2 |     public init(inputText: MLXLMCommon.LMInput.Text, tokens: [Int], output: String, promptTime: TimeInterval, generateTime: TimeInterval)
 3 |     public let inputText: MLXLMCommon.LMInput.Text
/Users/admin/builder/spi-builder-workspace/Sources/Cast/Bench/Instrumentation.swift:100:27: warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
 98 |         do {
 99 |             result = try await model.withInFlightRegistration {
100 |                 try await withGenerationTimeout(config.timeout) {
    |                           `- warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
101 |                     try await container.perform { context in
102 |                         let userInput = UserInput(prompt: fullPrompt)
MLXLMCommon.GenerateResult:1:15: note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 1 | public struct GenerateResult {
   |               `- note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 2 |     public init(inputText: MLXLMCommon.LMInput.Text, tokens: [Int], output: String, promptTime: TimeInterval, generateTime: TimeInterval)
 3 |     public let inputText: MLXLMCommon.LMInput.Text
/Users/admin/builder/spi-builder-workspace/Sources/Cast/Bench/Instrumentation.swift:101:41: warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
 99 |             result = try await model.withInFlightRegistration {
100 |                 try await withGenerationTimeout(config.timeout) {
101 |                     try await container.perform { context in
    |                                         `- warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
102 |                         let userInput = UserInput(prompt: fullPrompt)
103 |                         let lmInput = try await context.processor.prepare(input: userInput)
MLXLMCommon.GenerateResult:1:15: note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 1 | public struct GenerateResult {
   |               `- note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 2 |     public init(inputText: MLXLMCommon.LMInput.Text, tokens: [Int], output: String, promptTime: TimeInterval, generateTime: TimeInterval)
 3 |     public let inputText: MLXLMCommon.LMInput.Text
/Users/admin/builder/spi-builder-workspace/Sources/Cast/Bench/Instrumentation.swift:109:44: warning: 'generate(input:context:iterator:didGenerate:)' is deprecated: Use the AsyncStream-based generate(input:cache:parameters:context:) instead for better Swift concurrency support [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
107 |                             parameters: parameters
108 |                         )
109 |                         return MLXLMCommon.generate(
    |                                            `- warning: 'generate(input:context:iterator:didGenerate:)' is deprecated: Use the AsyncStream-based generate(input:cache:parameters:context:) instead for better Swift concurrency support [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
110 |                             input: lmInput,
111 |                             context: context,
/Users/admin/builder/spi-builder-workspace/Sources/Cast/Bench/Instrumentation.swift:109:32: warning: returning a 'GenerateResult' value as a 'sending' result risks causing data races [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\]
107 |                             parameters: parameters
108 |                         )
109 |                         return MLXLMCommon.generate(
    |                                |- warning: returning a 'GenerateResult' value as a 'sending' result risks causing data races [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\]
    |                                |- note: returning a 'GenerateResult' value risks causing races since the caller assumes the value can be safely sent to other isolation domains
    |                                `- note: 'GenerateResult' is a non-Sendable type
110 |                             input: lmInput,
111 |                             context: context,
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#RegionIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/region-isolation>
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+GPUSafety.swift:24:5: warning: 'setErrorHandler(_:data:dtor:)' is deprecated: please use withErrorHandler() or withError() [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
22 |
23 | private let _setupGlobalErrorHandler: Void = {
24 |     setErrorHandler(globalMLXErrorHandler)
   |     `- warning: 'setErrorHandler(_:data:dtor:)' is deprecated: please use withErrorHandler() or withError() [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
25 | }()
26 |
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:137:32: warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
135 |         let result: GenerateResult
136 |         do {
137 |             result = try await withInFlightRegistration {
    |                                `- warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
138 |                 try await withGenerationTimeout(config.timeout) {
139 |                     try await container.perform { context in
MLXLMCommon.GenerateResult:1:15: note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 1 | public struct GenerateResult {
   |               `- note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 2 |     public init(inputText: MLXLMCommon.LMInput.Text, tokens: [Int], output: String, promptTime: TimeInterval, generateTime: TimeInterval)
 3 |     public let inputText: MLXLMCommon.LMInput.Text
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:138:27: warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
136 |         do {
137 |             result = try await withInFlightRegistration {
138 |                 try await withGenerationTimeout(config.timeout) {
    |                           `- warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
139 |                     try await container.perform { context in
140 |                         let userInput = UserInput(prompt: fullPrompt)
MLXLMCommon.GenerateResult:1:15: note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 1 | public struct GenerateResult {
   |               `- note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 2 |     public init(inputText: MLXLMCommon.LMInput.Text, tokens: [Int], output: String, promptTime: TimeInterval, generateTime: TimeInterval)
 3 |     public let inputText: MLXLMCommon.LMInput.Text
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:139:41: warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
137 |             result = try await withInFlightRegistration {
138 |                 try await withGenerationTimeout(config.timeout) {
139 |                     try await container.perform { context in
    |                                         `- warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
140 |                         let userInput = UserInput(prompt: fullPrompt)
141 |                         let lmInput = try await context.processor.prepare(input: userInput)
MLXLMCommon.GenerateResult:1:15: note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 1 | public struct GenerateResult {
   |               `- note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 2 |     public init(inputText: MLXLMCommon.LMInput.Text, tokens: [Int], output: String, promptTime: TimeInterval, generateTime: TimeInterval)
 3 |     public let inputText: MLXLMCommon.LMInput.Text
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:147:38: warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
145 |                             parameters: parameters,
146 |                             context: context,
147 |                             grammar: grammar,
    |                                      `- warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
148 |                             didGenerate: { tokens in
149 |                                 if let didGenerate, didGenerate(tokens.count) == .stop {
MLXStructured.Grammar:1:13: note: enum 'Grammar' does not conform to the 'Sendable' protocol
1 | public enum Grammar {
  |             `- note: enum 'Grammar' does not conform to the 'Sendable' protocol
2 |     case ebnf(String)
3 |     case regex(String)
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:147:38: warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
145 |                             parameters: parameters,
146 |                             context: context,
147 |                             grammar: grammar,
    |                                      `- warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
148 |                             didGenerate: { tokens in
149 |                                 if let didGenerate, didGenerate(tokens.count) == .stop {
MLXStructured.Grammar:1:13: note: enum 'Grammar' does not conform to the 'Sendable' protocol
1 | public enum Grammar {
  |             `- note: enum 'Grammar' does not conform to the 'Sendable' protocol
2 |     case ebnf(String)
3 |     case regex(String)
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:147:38: warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
145 |                             parameters: parameters,
146 |                             context: context,
147 |                             grammar: grammar,
    |                                      `- warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
148 |                             didGenerate: { tokens in
149 |                                 if let didGenerate, didGenerate(tokens.count) == .stop {
MLXStructured.Grammar:1:13: note: enum 'Grammar' does not conform to the 'Sendable' protocol
1 | public enum Grammar {
  |             `- note: enum 'Grammar' does not conform to the 'Sendable' protocol
2 |     case ebnf(String)
3 |     case regex(String)
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:216:32: warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
214 |         let result: GenerateResult
215 |         do {
216 |             result = try await withInFlightRegistration {
    |                                `- warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
217 |                 try await withGenerationTimeout(config.timeout) {
218 |                     try await container.perform { context in
MLXLMCommon.GenerateResult:1:15: note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 1 | public struct GenerateResult {
   |               `- note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 2 |     public init(inputText: MLXLMCommon.LMInput.Text, tokens: [Int], output: String, promptTime: TimeInterval, generateTime: TimeInterval)
 3 |     public let inputText: MLXLMCommon.LMInput.Text
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:217:27: warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
215 |         do {
216 |             result = try await withInFlightRegistration {
217 |                 try await withGenerationTimeout(config.timeout) {
    |                           `- warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
218 |                     try await container.perform { context in
219 |                         let userInput = UserInput(prompt: fullPrompt)
MLXLMCommon.GenerateResult:1:15: note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 1 | public struct GenerateResult {
   |               `- note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 2 |     public init(inputText: MLXLMCommon.LMInput.Text, tokens: [Int], output: String, promptTime: TimeInterval, generateTime: TimeInterval)
 3 |     public let inputText: MLXLMCommon.LMInput.Text
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:218:41: warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
216 |             result = try await withInFlightRegistration {
217 |                 try await withGenerationTimeout(config.timeout) {
218 |                     try await container.perform { context in
    |                                         `- warning: type 'GenerateResult' does not conform to the 'Sendable' protocol
219 |                         let userInput = UserInput(prompt: fullPrompt)
220 |                         let lmInput = try await context.processor.prepare(input: userInput)
MLXLMCommon.GenerateResult:1:15: note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 1 | public struct GenerateResult {
   |               `- note: struct 'GenerateResult' does not conform to the 'Sendable' protocol
 2 |     public init(inputText: MLXLMCommon.LMInput.Text, tokens: [Int], output: String, promptTime: TimeInterval, generateTime: TimeInterval)
 3 |     public let inputText: MLXLMCommon.LMInput.Text
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:226:38: warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
224 |                             parameters: parameters,
225 |                             context: context,
226 |                             grammar: grammar,
    |                                      `- warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
227 |                             didGenerate: { tokens in
228 |                                 if let didGenerate, didGenerate(tokens.count) == .stop {
MLXStructured.Grammar:1:13: note: enum 'Grammar' does not conform to the 'Sendable' protocol
1 | public enum Grammar {
  |             `- note: enum 'Grammar' does not conform to the 'Sendable' protocol
2 |     case ebnf(String)
3 |     case regex(String)
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:226:38: warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
224 |                             parameters: parameters,
225 |                             context: context,
226 |                             grammar: grammar,
    |                                      `- warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
227 |                             didGenerate: { tokens in
228 |                                 if let didGenerate, didGenerate(tokens.count) == .stop {
MLXStructured.Grammar:1:13: note: enum 'Grammar' does not conform to the 'Sendable' protocol
1 | public enum Grammar {
  |             `- note: enum 'Grammar' does not conform to the 'Sendable' protocol
2 |     case ebnf(String)
3 |     case regex(String)
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:226:38: warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
224 |                             parameters: parameters,
225 |                             context: context,
226 |                             grammar: grammar,
    |                                      `- warning: capture of 'grammar' with non-Sendable type 'Grammar' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
227 |                             didGenerate: { tokens in
228 |                                 if let didGenerate, didGenerate(tokens.count) == .stop {
MLXStructured.Grammar:1:13: note: enum 'Grammar' does not conform to the 'Sendable' protocol
1 | public enum Grammar {
  |             `- note: enum 'Grammar' does not conform to the 'Sendable' protocol
2 |     case ebnf(String)
3 |     case regex(String)
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:143:42: warning: returning a 'GenerateResult' value as a 'sending' result risks causing data races [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\]
141 |                         let lmInput = try await context.processor.prepare(input: userInput)
142 |
143 |                         return try await MLXStructured.generate(
    |                                          |- warning: returning a 'GenerateResult' value as a 'sending' result risks causing data races [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\]
    |                                          |- note: returning a 'GenerateResult' value risks causing races since the caller assumes the value can be safely sent to other isolation domains
    |                                          `- note: 'GenerateResult' is a non-Sendable type
144 |                             input: lmInput,
145 |                             parameters: parameters,
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+Generation.swift:222:42: warning: returning a 'GenerateResult' value as a 'sending' result risks causing data races [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\]
220 |                         let lmInput = try await context.processor.prepare(input: userInput)
221 |
222 |                         return try await MLXStructured.generate(
    |                                          |- warning: returning a 'GenerateResult' value as a 'sending' result risks causing data races [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\]
    |                                          |- note: returning a 'GenerateResult' value risks causing races since the caller assumes the value can be safely sent to other isolation domains
    |                                          `- note: 'GenerateResult' is a non-Sendable type
223 |                             input: lmInput,
224 |                             parameters: parameters,
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#RegionIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/region-isolation>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/Cast/API/CastModel+GPUSafety.swift:24:5: warning: 'setErrorHandler(_:data:dtor:)' is deprecated: please use withErrorHandler() or withError() [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
22 |
23 | private let _setupGlobalErrorHandler: Void = {
24 |     setErrorHandler(globalMLXErrorHandler)
   |     `- warning: 'setErrorHandler(_:data:dtor:)' is deprecated: please use withErrorHandler() or withError() [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
25 | }()
26 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
  "cxx_language_standard" : "gnu++17",
  "dependencies" : [
    {
      "identity" : "mlx-swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.30.2",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ml-explore/mlx-swift.git"
    },
    {
      "identity" : "mlx-swift-lm",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.30.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ml-explore/mlx-swift-lm.git"
    },
    {
      "identity" : "swift-transformers",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/huggingface/swift-transformers.git"
    },
    {
      "identity" : "swift-json-schema",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.2",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/petrukha-ivan/swift-json-schema.git"
    },
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections.git"
    },
    {
      "identity" : "swift-syntax",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "600.0.0",
            "upper_bound" : "601.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-syntax.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "Cast",
  "name" : "Cast",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "Cast",
      "targets" : [
        "Cast"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CastMacros",
      "targets" : [
        "CastMacros"
      ],
      "type" : {
        "macro" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MLXStructuredTests",
      "module_type" : "SwiftTarget",
      "name" : "MLXStructuredTests",
      "path" : "Tests/MLXStructuredTests",
      "product_dependencies" : [
        "MLXLLM"
      ],
      "sources" : [
        "TestErrorHandler.swift",
        "TestGenerablePerformance.swift",
        "TestGrammarMatcher.swift",
        "TestHelpers.swift",
        "TestMemoryLeaks.swift",
        "TestPerformance.swift"
      ],
      "target_dependencies" : [
        "MLXStructured"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MLXStructured",
      "module_type" : "SwiftTarget",
      "name" : "MLXStructured",
      "path" : "Sources/MLXStructured",
      "product_dependencies" : [
        "MLX",
        "MLXLMCommon",
        "JSONSchema"
      ],
      "product_memberships" : [
        "Cast"
      ],
      "sources" : [
        "Backends/DLTensor.swift",
        "Backends/XGrammar.swift",
        "Generate.swift",
        "Grammar/Grammar+Encoding.swift",
        "Grammar/Grammar+Generable.swift",
        "Grammar/Grammar+Schema.swift",
        "Grammar/Grammar+Structural.swift",
        "Grammar/Grammar.swift",
        "GrammarMaskedLogitProcessor.swift",
        "GrammarMatcher.swift",
        "GrammarMatcherFactory.swift",
        "Structural/StructuralTag+Builder.swift",
        "Structural/StructuralTag.swift"
      ],
      "target_dependencies" : [
        "CMLXStructured"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CastTests",
      "module_type" : "SwiftTarget",
      "name" : "CastTests",
      "path" : "Tests/CastTests",
      "product_dependencies" : [
        "MLXLMCommon",
        "Hub",
        "JSONSchema",
        "Collections"
      ],
      "sources" : [
        "CacheTests.swift",
        "CastBenchE2ETests.swift",
        "CastBenchTests.swift",
        "CastConfigurationTests.swift",
        "CastEnumTests.swift",
        "CastErrorTests.swift",
        "CastModelGenerationTests.swift",
        "CastModelTests.swift",
        "CastStreamTests.swift",
        "CastTests.swift",
        "CastTimeoutTests.swift",
        "ChatTemplateTests.swift",
        "ClassifyTests.swift",
        "ExtractTests.swift",
        "GPUSafetyTests.swift",
        "JSONRepairTests.swift",
        "LifecycleTests.swift",
        "ModelSourceTests.swift",
        "NewWrapperTests.swift",
        "PartialResultDecodeTests.swift",
        "PromptEngineTests.swift",
        "PromptEngineThrowsTests.swift",
        "PropertyWrapperTests.swift",
        "ReExportsTest.swift",
        "SchemaExcludingTests.swift",
        "SchemaGeneratorTests.swift",
        "TestHelpers.swift",
        "ValidatorTests.swift",
        "ZeroSchemaDecoderTests.swift"
      ],
      "target_dependencies" : [
        "Cast",
        "MLXStructured"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CastMacros",
      "module_type" : "SwiftTarget",
      "name" : "CastMacros",
      "path" : "Sources/CastMacros",
      "product_dependencies" : [
        "SwiftSyntaxMacros",
        "SwiftCompilerPlugin"
      ],
      "product_memberships" : [
        "Cast",
        "CastMacros"
      ],
      "sources" : [
        "CastMacroPlugin.swift",
        "CastableDiagnostic.swift",
        "CastableMacro.swift"
      ],
      "type" : "macro"
    },
    {
      "c99name" : "CastMacroTests",
      "module_type" : "SwiftTarget",
      "name" : "CastMacroTests",
      "path" : "Tests/CastMacroTests",
      "product_dependencies" : [
        "SwiftSyntaxMacrosTestSupport"
      ],
      "sources" : [
        "CastDiagnosticTests.swift",
        "CastMacroTests.swift",
        "PartiallyGeneratedTests.swift"
      ],
      "target_dependencies" : [
        "CastMacros"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Cast",
      "module_type" : "SwiftTarget",
      "name" : "Cast",
      "path" : "Sources/Cast",
      "product_dependencies" : [
        "MLX",
        "MLXNN",
        "MLXLLM",
        "MLXLMCommon",
        "Hub",
        "JSONSchema",
        "Collections"
      ],
      "product_memberships" : [
        "Cast"
      ],
      "sources" : [
        "API/CastConfiguration.swift",
        "API/CastEnum.swift",
        "API/CastError.swift",
        "API/CastModel+Extract.swift",
        "API/CastModel+GPUSafety.swift",
        "API/CastModel+Generation.swift",
        "API/CastModel+Lifecycle.swift",
        "API/CastModel+Stream.swift",
        "API/CastModel+Timeout.swift",
        "API/CastModel.swift",
        "API/Castable.swift",
        "API/GrammarProcessorCache.swift",
        "API/ModelSource.swift",
        "API/PartialResult.swift",
        "API/PropertyWrappers.swift",
        "Bench/CastBench.swift",
        "Bench/Formatters.swift",
        "Bench/Instrumentation.swift",
        "Cast.swift",
        "Prompt/PromptEngine.swift",
        "Schema/JSONRepair.swift",
        "Schema/JSONSchema+Excluding.swift",
        "Schema/SchemaGenerator.swift",
        "Schema/ValidatorSupport.swift",
        "Schema/ZeroSchemaDecoder.swift"
      ],
      "target_dependencies" : [
        "CastMacros",
        "MLXStructured"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CMLXStructured",
      "module_type" : "ClangTarget",
      "name" : "CMLXStructured",
      "path" : "Sources/CMLXStructured",
      "product_memberships" : [
        "Cast"
      ],
      "sources" : [
        "error_handler.cpp",
        "grammar_compiler.cpp",
        "grammar_matcher.cpp",
        "tokenizer_info.cpp",
        "xgrammar/cpp/compiled_grammar.cc",
        "xgrammar/cpp/config.cc",
        "xgrammar/cpp/earley_parser.cc",
        "xgrammar/cpp/fsm.cc",
        "xgrammar/cpp/fsm_builder.cc",
        "xgrammar/cpp/grammar.cc",
        "xgrammar/cpp/grammar_builder.cc",
        "xgrammar/cpp/grammar_compiler.cc",
        "xgrammar/cpp/grammar_functor.cc",
        "xgrammar/cpp/grammar_matcher.cc",
        "xgrammar/cpp/grammar_parser.cc",
        "xgrammar/cpp/grammar_printer.cc",
        "xgrammar/cpp/json_schema_converter.cc",
        "xgrammar/cpp/json_schema_converter_ext.cc",
        "xgrammar/cpp/regex_converter.cc",
        "xgrammar/cpp/structural_tag.cc",
        "xgrammar/cpp/support/logging.cc",
        "xgrammar/cpp/support/recursion_guard.cc",
        "xgrammar/cpp/testing.cc",
        "xgrammar/cpp/tokenizer_info.cc"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/CMLXStructured/xgrammar/cpp/nanobind': File not found.
Done.