Build:
- 0
2026-09-04 01:32.44: New job: build lichess_api.1.0.1 (08196b43c209) 2026-09-04 01:32.44: Waiting for resource in pool day11-builds 2026-09-04 01:46.03: Got resource from pool day11-builds 2026-09-04 01:46.03: [profile full] build lichess_api.1.0.1 2026-09-04 01:46.03: build lichess_api.1.0.1 (08196b43c209) === DEPENDENCIES (76 transitive) === angstrom.0.16.1 a323ffd89c88 asn1-combinators.0.3.2 2331ec99a20e astring.0.8.5 51ee6d00b649 base.v0.17.3 82edd6e178f2 base-bytes.base a07bc30a9819 base-threads.base 3d2f2cbc6db2 base-unix.base 3a38ddca6b5e base64.3.5.2 86081d8c7cb4 bigstringaf.0.10.0 93e506531296 bos.0.3.0 eacf41316321 ca-certs.1.0.3 5bc738f32a4c cohttp.6.3.0 0a7d42d7a547 cohttp-lwt.6.3.0 c130132cff59 cohttp-lwt-unix.6.3.0 d49f574f9e00 compiler-cloning.enabled 966a2e6839f0 conduit.8.0.0 cf4227241a86 conduit-lwt.8.0.0 46ca19b65223 conduit-lwt-unix.8.0.0 d1d31a63d35b conf-gmp.5 eac5259e412f conf-gmp-powm-sec.4 52de364a13b8 conf-pkg-config.5 74f50f3cfe72 cppo.1.8.0 83351009e21e csexp.1.5.2 58b250503765 digestif.1.3.1 92cd49acc17a domain-name.0.5.0 a674418123a9 dune.3.24.2 ec704e062ad3 dune-configurator.3.24.2 183455f65a68 duration.0.3.1 df0fb6ccab2e eqaf.0.10 345b21ba5daa fmt.0.11.0 395be4fa8f81 fpath.0.7.3 2344c0b7c451 gmap.0.3.0 8887fcce220c http.6.3.0 bf57a167fe3b ipaddr.5.6.2 de69a216e359 ipaddr-sexp.5.6.2 dd1673139969 kdf.1.1.1 b1fc40fbb468 logs.0.10.0 1de84dab5483 lwt.6.1.2 7034b4ad2702 lwt_ppx.6.1.0 31ad2cf0c8ea macaddr.5.6.2 474bd44b06ad magic-mime.1.3.1 10bd36cefb99 mirage-crypto.2.4.1 1b368872063e mirage-crypto-ec.2.4.1 f621929f2a7d mirage-crypto-pk.2.4.1 370eeb77cac5 mirage-crypto-rng.2.4.1 d72922b85b56 ocaml.5.5.0 22ebd7932512 ocaml-base-compiler.5.5.0 db1659234e8a ocaml-compiler.5.5.0 7f52fb26d939 ocaml-compiler-libs.v0.17.0 5bb965f7a9b8 ocaml-syntax-shims.1.0.0 c27f011a36e9 ocaml_intrinsics_kernel.v0.17.2 73ed8f7cbaaf ocamlbuild.0.16.1 ccce18256717 ocamlfind.1.9.9~preview 6a4c70487cf9 ocplib-endian.1.2 f93892607f26 ohex.0.2.0 d42ea434296b ounit2.2.2.7 9f1b03bcbeef ppx_derivers.1.2.1 b98ec33f5664 ppx_sexp_conv.v0.17.1 34b096a879f3 ppxlib.0.38.0 3ee699583a7b ppxlib_jane.v0.17.4 4b7b40a77119 ptime.1.2.0 668689079baf qcheck.0.91 cd343bb3f3f4 qcheck-core.0.91 7f9688ad8241 qcheck-ounit.0.91 31642533d016 re.1.14.0 71fe1500ef55 rresult.0.7.0 02fffb5a5b61 seq.base 28d30f6112ac sexplib0.v0.17.0 ff60a3c976cf stdlib-shims.0.3.0 8ab1e1c44699 stringext.1.6.0 cc60b00504f7 topkg.1.1.1 3bd227743fbd uri.4.4.0 8c080858e561 uri-sexp.4.4.0 c8126fe41f04 x509.1.1.1 be19a28e220f yojson.3.0.0 27388ba4dc9e zarith.1.14 bd527d6656b5 === STDOUT === Processing: [default: loading data] [lichess_api.1.0.1: dl] [lichess_api.1.0.1: extract] -> retrieved lichess_api.1.0.1 (https://opam.ocaml.org/cache) [lichess_api: dune build] + /home/opam/.opam/default/bin/dune "build" "-p" "lichess_api" "-j" "39" "@install" (CWD=/home/opam/.opam/default/.opam-switch/build/lichess_api.1.0.1) - (cd _build/default && /home/opam/.opam/default/bin/ocamlc.opt -w -40 -warn-error -A -g -bin-annot -bin-annot-occurrences -I lib/.lichess_api.objs/byte -I /home/opam/.opam/default/lib/angstrom -I /home/opam/.opam/default/lib/astring -I /home/opam/.opam/default/lib/base64 -I /home/opam/.opam/default/lib/bigstringaf -I /home/opam/.opam/default/lib/bytes -I /home/opam/.opam/default/lib/cohttp -I /home/opam/.opam/default/lib/cohttp-lwt -I /home/opam/.opam/default/lib/cohttp-lwt-unix -I /home/opam/.opam/default/lib/conduit -I /home/opam/.opam/default/lib/conduit-lwt -I /home/opam/.opam/default/lib/conduit-lwt-unix -I /home/opam/.opam/default/lib/domain-name -I /home/opam/.opam/default/lib/fmt -I /home/opam/.opam/default/lib/http -H /home/opam/.opam/default/lib/http/__private__/http_bytebuffer -H /home/opam/.opam/default/lib/http/__private__/http_bytebuffer/.public_cmi -I /home/opam/.opam/default/lib/ipaddr -I /home/opam/.opam/default/lib/ipaddr-sexp -I /home/opam/.opam/default/lib/ipaddr/unix -I /home/opam/.opam/default/lib/logs -I /home/opam/.opam/default/lib/logs/fmt -I /home/opam/.opam/default/lib/logs/lwt -I /home/opam/.opam/default/lib/lwt -I /home/opam/.opam/default/lib/lwt/unix -I /home/opam/.opam/default/lib/macaddr -I /home/opam/.opam/default/lib/magic-mime -I /home/opam/.opam/default/lib/ocaml/threads -I /home/opam/.opam/default/lib/ocaml/unix -I /home/opam/.opam/default/lib/ocplib-endian -I /home/opam/.opam/default/lib/ocplib-endian/bigstring -I /home/opam/.opam/default/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/default/lib/re -I /home/opam/.opam/default/lib/sexplib0 -I /home/opam/.opam/default/lib/stringext -I /home/opam/.opam/default/lib/uri -I /home/opam/.opam/default/lib/uri-sexp -I /home/opam/.opam/default/lib/uri/services -I /home/opam/.opam/default/lib/yojson -cmi-file lib/.lichess_api.objs/byte/lichess_api.cmi -no-alias-deps -o lib/.lichess_api.objs/byte/lichess_api.cmo -c -impl lib/lichess_api.ml) - File "lib/lichess_api.ml", lines 336-339, characters 33-29: - 336 | .................................match List.assoc_opt "white" fields with - 337 | | Some (`Assoc white_fields) -> - 338 | match List.assoc_opt "name" white_fields with Some (`String s) -> s | _ -> "Unknown" - 339 | | _ -> "Unknown"... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 340-343, characters 23-29: - 340 | .......................match List.assoc_opt "black" fields with - 341 | | Some (`Assoc black_fields) -> - 342 | match List.assoc_opt "name" black_fields with Some (`String s) -> s | _ -> "Unknown" - 343 | | _ -> "Unknown"... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 346-350, characters 40-24: - 346 | ........................................match List.assoc_opt "clock" fields with - 347 | | Some (`Assoc clock_fields) -> - 348 | match List.assoc_opt "initial" clock_fields with Some (`Int i) -> Some (string_of_int i) - 349 | | _ -> None - 350 | | _ -> None... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 351-354, characters 30-24: - 351 | ..............................match List.assoc_opt "white" fields with - 352 | | Some (`Assoc white_fields) -> - 353 | match List.assoc_opt "rating" white_fields with Some (`Int i) -> Some i | _ -> None - 354 | | _ -> None... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 355-358, characters 30-24: - 355 | ..............................match List.assoc_opt "black" fields with - 356 | | Some (`Assoc black_fields) -> - 357 | match List.assoc_opt "rating" black_fields with Some (`Int i) -> Some i | _ -> None - 358 | | _ -> None... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 511-514, characters 43-23: - 511 | ...........................................match List.assoc_opt "count" fields with - 512 | | Some (`Assoc count_fields) -> - 513 | match List.assoc_opt "all" count_fields with Some (`Int i) -> i | _ -> 0 - 514 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 516-519, characters 24-23: - 516 | ........................match List.assoc_opt "count" fields with - 517 | | Some (`Assoc count_fields) -> - 518 | match List.assoc_opt "win" count_fields with Some (`Int i) -> i | _ -> 0 - 519 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 521-524, characters 26-23: - 521 | ..........................match List.assoc_opt "count" fields with - 522 | | Some (`Assoc count_fields) -> - 523 | match List.assoc_opt "loss" count_fields with Some (`Int i) -> i | _ -> 0 - 524 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 526-529, characters 25-23: - 526 | .........................match List.assoc_opt "count" fields with - 527 | | Some (`Assoc count_fields) -> - 528 | match List.assoc_opt "draw" count_fields with Some (`Int i) -> i | _ -> 0 - 529 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 535-544, characters 19-26: - 535 | ...................match List.assoc_opt "classical" perfs_fields with - 536 | | Some (`Assoc classical_fields) -> - 537 | match List.assoc_opt "games" classical_fields with Some (`Int games) -> - 538 | if games > 0 then - 539 | match List.assoc_opt "rating" classical_fields with Some (`Int rating) -> rating - 540 | | _ -> 1500 - 541 | else 1500 - 542 | | _ -> 1500 - 543 | | _ -> 1500 - 544 | | _ -> 1500... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 533-544, characters 46-26: - 533 | ..............................................match List.assoc_opt "perfs" fields with - 534 | | Some (`Assoc perfs_fields) -> - 535 | match List.assoc_opt "classical" perfs_fields with - 536 | | Some (`Assoc classical_fields) -> - 537 | match List.assoc_opt "games" classical_fields with Some (`Int games) -> - ... - 541 | else 1500 - 542 | | _ -> 1500 - 543 | | _ -> 1500 - 544 | | _ -> 1500... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 550-556, characters 25-36: - 550 | .........................match List.assoc_opt "best" classical_fields with - 551 | | Some (`Assoc best_fields) -> - 552 | match List.assoc_opt "rating" best_fields with Some (`Int rating) -> rating - 553 | | _ -> current_rating - 554 | | _ -> current_rating - 555 | | _ -> current_rating - 556 | | _ -> current_rating... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 548-556, characters 19-36: - 548 | ...................match List.assoc_opt "classical" perfs_fields with - 549 | | Some (`Assoc classical_fields) -> - 550 | match List.assoc_opt "best" classical_fields with - 551 | | Some (`Assoc best_fields) -> - 552 | match List.assoc_opt "rating" best_fields with Some (`Int rating) -> rating - 553 | | _ -> current_rating - 554 | | _ -> current_rating - 555 | | _ -> current_rating - 556 | | _ -> current_rating... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 546-556, characters 31-36: - 546 | ...............................match List.assoc_opt "perfs" fields with - 547 | | Some (`Assoc perfs_fields) -> - 548 | match List.assoc_opt "classical" perfs_fields with - 549 | | Some (`Assoc classical_fields) -> - 550 | match List.assoc_opt "best" classical_fields with - ... - 553 | | _ -> current_rating - 554 | | _ -> current_rating - 555 | | _ -> current_rating - 556 | | _ -> current_rating... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", line 573, characters 4-5: - 573 | | _ -> - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", lines 505-574, characters 2-21: - 505 | ..match Cohttp.Response.status response with - 506 | | `OK -> - 507 | try - 508 | let json = Yojson.Basic.from_string body_str in - 509 | match json with - ... - 571 | | _ -> Lwt.return_none - 572 | with _ -> Lwt.return_none - 573 | | _ -> - 574 | Lwt.return_none - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed| - `Partial_content|`Client_closed_request|`Not_extended| - `Precondition_required|`Bandwidth_limit_exceeded|`Gone| - `Network_connect_timeout_error|`Code _|`Gateway_timeout| - `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted| - `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found| - `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized| - `Precondition_failed|`See_other|`Locked|`No_response|`Continue| - `Loop_detected|`Insufficient_storage|`Non_authoritative_information| - `Too_many_requests|`Request_entity_too_large|`Multiple_choices| - `Method_not_allowed|`Proxy_authentication_required| - `Network_authentication_required|`Conflict|`Network_read_timeout_error| - `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required| - `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified| - `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented| - `No_content|`Created|`Variant_also_negotiates|`Payment_required| - `Internal_server_error|`Service_unavailable|`Enhance_your_calm| - `Processing|`Upgrade_required|`Multi_status|`Bad_gateway| - `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long| - `Blocked_by_windows_parental_controls|`Request_header_fields_too_large) - - File "lib/lichess_api.ml", line 339, characters 15-16: - 339 | | _ -> "Unknown" in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 343, characters 15-16: - 343 | | _ -> "Unknown" in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 350, characters 15-16: - 350 | | _ -> None in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 354, characters 15-16: - 354 | | _ -> None in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 358, characters 15-16: - 358 | | _ -> None in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 514, characters 17-18: - 514 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 519, characters 17-18: - 519 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 524, characters 17-18: - 524 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 529, characters 17-18: - 529 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 543, characters 23-24: - 543 | | _ -> 1500 - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 544, characters 17-18: - 544 | | _ -> 1500 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 554, characters 29-30: - 554 | | _ -> current_rating - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 555, characters 23-24: - 555 | | _ -> current_rating - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 556, characters 17-18: - 556 | | _ -> current_rating in - ^ - Warning 11 [redundant-case]: this match case is unused. - (cd _build/default && /home/opam/.opam/default/bin/ocamlopt.opt -w -40 -warn-error -A -g -I lib/.lichess_api.objs/byte -I lib/.lichess_api.objs/native -I /home/opam/.opam/default/lib/angstrom -I /home/opam/.opam/default/lib/astring -I /home/opam/.opam/default/lib/base64 -I /home/opam/.opam/default/lib/bigstringaf -I /home/opam/.opam/default/lib/bytes -I /home/opam/.opam/default/lib/cohttp -I /home/opam/.opam/default/lib/cohttp-lwt -I /home/opam/.opam/default/lib/cohttp-lwt-unix -I /home/opam/.opam/default/lib/conduit -I /home/opam/.opam/default/lib/conduit-lwt -I /home/opam/.opam/default/lib/conduit-lwt-unix -I /home/opam/.opam/default/lib/domain-name -I /home/opam/.opam/default/lib/fmt -I /home/opam/.opam/default/lib/http -I /home/opam/.opam/default/lib/http/__private__/http_bytebuffer -H /home/opam/.opam/default/lib/http/__private__/http_bytebuffer/.public_cmi -I /home/opam/.opam/default/lib/ipaddr -I /home/opam/.opam/default/lib/ipaddr-sexp -I /home/opam/.opam/default/lib/ipaddr/unix -I /home/opam/.opam/default/lib/logs -I /home/opam/.opam/default/lib/logs/fmt -I /home/opam/.opam/default/lib/logs/lwt -I /home/opam/.opam/default/lib/lwt -I /home/opam/.opam/default/lib/lwt/unix -I /home/opam/.opam/default/lib/macaddr -I /home/opam/.opam/default/lib/magic-mime -I /home/opam/.opam/default/lib/ocaml/threads -I /home/opam/.opam/default/lib/ocaml/unix -I /home/opam/.opam/default/lib/ocplib-endian -I /home/opam/.opam/default/lib/ocplib-endian/bigstring -I /home/opam/.opam/default/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/default/lib/re -I /home/opam/.opam/default/lib/sexplib0 -I /home/opam/.opam/default/lib/stringext -I /home/opam/.opam/default/lib/uri -I /home/opam/.opam/default/lib/uri-sexp -I /home/opam/.opam/default/lib/uri/services -I /home/opam/.opam/default/lib/yojson -cmi-file lib/.lichess_api.objs/byte/lichess_api.cmi -no-alias-deps -o lib/.lichess_api.objs/native/lichess_api.cmx -c -impl lib/lichess_api.ml) - File "lib/lichess_api.ml", lines 336-339, characters 33-29: - 336 | .................................match List.assoc_opt "white" fields with - 337 | | Some (`Assoc white_fields) -> - 338 | match List.assoc_opt "name" white_fields with Some (`String s) -> s | _ -> "Unknown" - 339 | | _ -> "Unknown"... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 340-343, characters 23-29: - 340 | .......................match List.assoc_opt "black" fields with - 341 | | Some (`Assoc black_fields) -> - 342 | match List.assoc_opt "name" black_fields with Some (`String s) -> s | _ -> "Unknown" - 343 | | _ -> "Unknown"... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 346-350, characters 40-24: - 346 | ........................................match List.assoc_opt "clock" fields with - 347 | | Some (`Assoc clock_fields) -> - 348 | match List.assoc_opt "initial" clock_fields with Some (`Int i) -> Some (string_of_int i) - 349 | | _ -> None - 350 | | _ -> None... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 351-354, characters 30-24: - 351 | ..............................match List.assoc_opt "white" fields with - 352 | | Some (`Assoc white_fields) -> - 353 | match List.assoc_opt "rating" white_fields with Some (`Int i) -> Some i | _ -> None - 354 | | _ -> None... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 355-358, characters 30-24: - 355 | ..............................match List.assoc_opt "black" fields with - 356 | | Some (`Assoc black_fields) -> - 357 | match List.assoc_opt "rating" black_fields with Some (`Int i) -> Some i | _ -> None - 358 | | _ -> None... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 511-514, characters 43-23: - 511 | ...........................................match List.assoc_opt "count" fields with - 512 | | Some (`Assoc count_fields) -> - 513 | match List.assoc_opt "all" count_fields with Some (`Int i) -> i | _ -> 0 - 514 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 516-519, characters 24-23: - 516 | ........................match List.assoc_opt "count" fields with - 517 | | Some (`Assoc count_fields) -> - 518 | match List.assoc_opt "win" count_fields with Some (`Int i) -> i | _ -> 0 - 519 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 521-524, characters 26-23: - 521 | ..........................match List.assoc_opt "count" fields with - 522 | | Some (`Assoc count_fields) -> - 523 | match List.assoc_opt "loss" count_fields with Some (`Int i) -> i | _ -> 0 - 524 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 526-529, characters 25-23: - 526 | .........................match List.assoc_opt "count" fields with - 527 | | Some (`Assoc count_fields) -> - 528 | match List.assoc_opt "draw" count_fields with Some (`Int i) -> i | _ -> 0 - 529 | | _ -> 0... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 535-544, characters 19-26: - 535 | ...................match List.assoc_opt "classical" perfs_fields with - 536 | | Some (`Assoc classical_fields) -> - 537 | match List.assoc_opt "games" classical_fields with Some (`Int games) -> - 538 | if games > 0 then - 539 | match List.assoc_opt "rating" classical_fields with Some (`Int rating) -> rating - 540 | | _ -> 1500 - 541 | else 1500 - 542 | | _ -> 1500 - 543 | | _ -> 1500 - 544 | | _ -> 1500... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 533-544, characters 46-26: - 533 | ..............................................match List.assoc_opt "perfs" fields with - 534 | | Some (`Assoc perfs_fields) -> - 535 | match List.assoc_opt "classical" perfs_fields with - 536 | | Some (`Assoc classical_fields) -> - 537 | match List.assoc_opt "games" classical_fields with Some (`Int games) -> - ... - 541 | else 1500 - 542 | | _ -> 1500 - 543 | | _ -> 1500 - 544 | | _ -> 1500... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 550-556, characters 25-36: - 550 | .........................match List.assoc_opt "best" classical_fields with - 551 | | Some (`Assoc best_fields) -> - 552 | match List.assoc_opt "rating" best_fields with Some (`Int rating) -> rating - 553 | | _ -> current_rating - 554 | | _ -> current_rating - 555 | | _ -> current_rating - 556 | | _ -> current_rating... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 548-556, characters 19-36: - 548 | ...................match List.assoc_opt "classical" perfs_fields with - 549 | | Some (`Assoc classical_fields) -> - 550 | match List.assoc_opt "best" classical_fields with - 551 | | Some (`Assoc best_fields) -> - 552 | match List.assoc_opt "rating" best_fields with Some (`Int rating) -> rating - 553 | | _ -> current_rating - 554 | | _ -> current_rating - 555 | | _ -> current_rating - 556 | | _ -> current_rating... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", lines 546-556, characters 31-36: - 546 | ...............................match List.assoc_opt "perfs" fields with - 547 | | Some (`Assoc perfs_fields) -> - 548 | match List.assoc_opt "classical" perfs_fields with - 549 | | Some (`Assoc classical_fields) -> - 550 | match List.assoc_opt "best" classical_fields with - ... - 553 | | _ -> current_rating - 554 | | _ -> current_rating - 555 | | _ -> current_rating - 556 | | _ -> current_rating... - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (`Null|`List _|`Bool _|`Float _|`Int _|`String _) - - File "lib/lichess_api.ml", line 573, characters 4-5: - 573 | | _ -> - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", lines 505-574, characters 2-21: - 505 | ..match Cohttp.Response.status response with - 506 | | `OK -> - 507 | try - 508 | let json = Yojson.Basic.from_string body_str in - 509 | match json with - ... - 571 | | _ -> Lwt.return_none - 572 | with _ -> Lwt.return_none - 573 | | _ -> - 574 | Lwt.return_none - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (`Request_timeout|`Temporary_redirect|`Checkpoint|`Expectation_failed| - `Partial_content|`Client_closed_request|`Not_extended| - `Precondition_required|`Bandwidth_limit_exceeded|`Gone| - `Network_connect_timeout_error|`Code _|`Gateway_timeout| - `Wrong_exchange_server|`Retry_with|`Unprocessable_entity|`Accepted| - `Failed_dependency|`Permanent_redirect|`I_m_a_teapot|`Found| - `Moved_permanently|`Requested_range_not_satisfiable|`Unauthorized| - `Precondition_failed|`See_other|`Locked|`No_response|`Continue| - `Loop_detected|`Insufficient_storage|`Non_authoritative_information| - `Too_many_requests|`Request_entity_too_large|`Multiple_choices| - `Method_not_allowed|`Proxy_authentication_required| - `Network_authentication_required|`Conflict|`Network_read_timeout_error| - `Bad_request|`Not_acceptable|`Switch_proxy|`Length_required| - `Reset_content|`Im_used|`Already_reported|`Not_found|`Not_modified| - `Use_proxy|`Forbidden|`Unsupported_media_type|`Not_implemented| - `No_content|`Created|`Variant_also_negotiates|`Payment_required| - `Internal_server_error|`Service_unavailable|`Enhance_your_calm| - `Processing|`Upgrade_required|`Multi_status|`Bad_gateway| - `Http_version_not_supported|`Switching_protocols|`Request_uri_too_long| - `Blocked_by_windows_parental_controls|`Request_header_fields_too_large) - - File "lib/lichess_api.ml", line 339, characters 15-16: - 339 | | _ -> "Unknown" in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 343, characters 15-16: - 343 | | _ -> "Unknown" in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 350, characters 15-16: - 350 | | _ -> None in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 354, characters 15-16: - 354 | | _ -> None in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 358, characters 15-16: - 358 | | _ -> None in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 514, characters 17-18: - 514 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 519, characters 17-18: - 519 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 524, characters 17-18: - 524 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 529, characters 17-18: - 529 | | _ -> 0 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 543, characters 23-24: - 543 | | _ -> 1500 - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 544, characters 17-18: - 544 | | _ -> 1500 in - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 554, characters 29-30: - 554 | | _ -> current_rating - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 555, characters 23-24: - 555 | | _ -> current_rating - ^ - Warning 11 [redundant-case]: this match case is unused. - - File "lib/lichess_api.ml", line 556, characters 17-18: - 556 | | _ -> current_rating in - ^ - Warning 11 [redundant-case]: this match case is unused. -> compiled lichess_api.1.0.1 -> installed lichess_api.1.0.1 [WARNING] Opam package conf-pkg-config.5 depends on the following system package that can no longer be found: pkg-config === STDERR === 2026-09-04 01:46.16: OK: build lichess_api.1.0.1 (runc: 4.1s, disk: 44KB) 2026-09-04 01:46.16: Job succeeded