Build:
- 0
2026-06-16 19:09.21: New job: build lichess_api.1.0.1 (bb12c594680b) 2026-06-16 19:09.21: Waiting for resource in pool day11-builds 2026-06-16 19:18.46: Got resource from pool day11-builds 2026-06-16 19:18.46: [profile full] build lichess_api.1.0.1 2026-06-16 19:18.46: build lichess_api.1.0.1 (bb12c594680b) === DEPENDENCIES (77 transitive) === angstrom.0.16.1 acdef106c8a9 asn1-combinators.0.3.2 525e6ce4abc1 astring.0.8.5 af0a355c6a41 base.v0.17.3 876ca94bfeea base-bytes.base 4e354a32e9ce base-threads.base b7164ff76afe base-unix.base 839dc585f12d base64.3.5.2 be2419553127 bigstringaf.0.10.0 cef54f1cd12e bos.0.3.0 2c3fd09cf0cb ca-certs.1.0.3 c18865ec051e cmdliner.2.1.1 36fe5a2b1d3e cohttp.6.2.1 27da933e0b93 cohttp-lwt.6.2.1 af9df31a6793 cohttp-lwt-unix.6.2.1 03a86251f31a conduit.8.0.0 dd4d0a663ba3 conduit-lwt.8.0.0 e9963858b978 conduit-lwt-unix.8.0.0 9a06437ffec1 conf-gmp.5 61e3c79e0ddf conf-gmp-powm-sec.4 ceb17ad6499b conf-pkg-config.5 64c6b37d622b cppo.1.8.0 3c775a388c9d csexp.1.5.2 e2491a88a8e9 digestif.1.3.0 892b69c951c7 domain-name.0.5.0 d22b69f25457 dune.3.23.1 d50060dd2cab dune-configurator.3.23.1 83dd42d9abe2 duration.0.3.1 174b376e0906 eqaf.0.10 704b30540e07 fmt.0.11.0 dd1cb7046ac0 fpath.0.7.3 e07c88bacfc0 gmap.0.3.0 e89c6cea6b17 http.6.2.1 0f526fb26c7b ipaddr.5.6.2 57c926fc4f58 ipaddr-sexp.5.6.2 09d4284a1920 kdf.1.0.0 4593343fa189 logs.0.10.0 1757fefa2eae lwt.6.1.2 05e2b8e7a225 lwt_ppx.6.1.0 6a1c093406e3 macaddr.5.6.2 f0e5bac74ecb magic-mime.1.3.1 8c9512ee5bfb mirage-crypto.2.1.0 f24b52798edb mirage-crypto-ec.2.1.0 83f637836312 mirage-crypto-pk.2.1.0 78941e57aa37 mirage-crypto-rng.2.1.0 dbf131e72c28 ocaml.5.4.1 708fed352b2a ocaml-base-compiler.5.4.1 89b85703f841 ocaml-compiler.5.4.1 a719b8419b8e ocaml-compiler-libs.v0.17.0 bb35244dbd80 ocaml-config.3 aa27f63940d8 ocaml-syntax-shims.1.0.0 121d9d9e944d ocaml_intrinsics_kernel.v0.17.2 faf575551ca9 ocamlbuild.0.16.1 069fc1e567af ocamlfind.1.9.8 5cfa73ef65e7 ocplib-endian.1.2 1d89a46df662 ohex.0.2.0 99460be72dbf ounit2.2.2.7 41b9a3ff3c88 ppx_derivers.1.2.1 48d8f0a02148 ppx_sexp_conv.v0.17.1 3f62d77bb0bb ppxlib.0.38.0 089dd9eec9cd ppxlib_jane.v0.17.4 a62b992f5e07 ptime.1.2.0 bbf602fc20a0 qcheck.0.91 7de764d60004 qcheck-core.0.91 da330d24d089 qcheck-ounit.0.91 165987d136db re.1.14.0 5782bfeeaea2 rresult.0.7.0 02b516a972ff seq.base 75c7a6b170f3 sexplib0.v0.17.0 3a274f46ef22 stdlib-shims.0.3.0 b64bd5274094 stringext.1.6.0 d48b69dde427 topkg.1.1.1 4a88955a28b6 uri.4.4.0 c8b58c833e48 uri-sexp.4.4.0 d75cf800c1bb x509.1.0.6 5c6baf03ee86 yojson.3.0.0 fcc5f5f6d1cc zarith.1.14 b2ef7cdb0e39 === 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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: - (`Length_required|`Loop_detected|`Unprocessable_entity| - `Method_not_allowed|`Upgrade_required|`Unauthorized|`Gone|`Switch_proxy| - `See_other|`Not_acceptable|`Payment_required|`Temporary_redirect| - `Not_modified|`Permanent_redirect|`Retry_with|`Precondition_failed| - `Code _|`Reset_content|`Non_authoritative_information|`Already_reported| - `Multi_status|`Wrong_exchange_server|`Too_many_requests|`No_response| - `Request_uri_too_long|`Forbidden|`Network_authentication_required| - `Created|`Bandwidth_limit_exceeded|`Checkpoint|`Accepted|`No_content| - `Multiple_choices|`Service_unavailable|`Proxy_authentication_required| - `Client_closed_request|`Locked|`Not_extended|`Precondition_required| - `Gateway_timeout|`Requested_range_not_satisfiable|`Expectation_failed| - `Unsupported_media_type|`Request_header_fields_too_large|`Continue| - `Processing|`Partial_content|`Http_version_not_supported| - `Request_timeout|`Network_connect_timeout_error| - `Request_entity_too_large|`Not_found|`Switching_protocols| - `Internal_server_error|`Bad_gateway|`Found|`Variant_also_negotiates| - `Blocked_by_windows_parental_controls|`Enhance_your_calm|`Use_proxy| - `Network_read_timeout_error|`Moved_permanently|`Conflict|`Bad_request| - `Not_implemented|`I_m_a_teapot|`Im_used|`Insufficient_storage| - `Failed_dependency) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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 (`Bool _|`Null|`List _|`Float _|`String _|`Int _) - - 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: - (`Length_required|`Loop_detected|`Unprocessable_entity| - `Method_not_allowed|`Upgrade_required|`Unauthorized|`Gone|`Switch_proxy| - `See_other|`Not_acceptable|`Payment_required|`Temporary_redirect| - `Not_modified|`Permanent_redirect|`Retry_with|`Precondition_failed| - `Code _|`Reset_content|`Non_authoritative_information|`Already_reported| - `Multi_status|`Wrong_exchange_server|`Too_many_requests|`No_response| - `Request_uri_too_long|`Forbidden|`Network_authentication_required| - `Created|`Bandwidth_limit_exceeded|`Checkpoint|`Accepted|`No_content| - `Multiple_choices|`Service_unavailable|`Proxy_authentication_required| - `Client_closed_request|`Locked|`Not_extended|`Precondition_required| - `Gateway_timeout|`Requested_range_not_satisfiable|`Expectation_failed| - `Unsupported_media_type|`Request_header_fields_too_large|`Continue| - `Processing|`Partial_content|`Http_version_not_supported| - `Request_timeout|`Network_connect_timeout_error| - `Request_entity_too_large|`Not_found|`Switching_protocols| - `Internal_server_error|`Bad_gateway|`Found|`Variant_also_negotiates| - `Blocked_by_windows_parental_controls|`Enhance_your_calm|`Use_proxy| - `Network_read_timeout_error|`Moved_permanently|`Conflict|`Bad_request| - `Not_implemented|`I_m_a_teapot|`Im_used|`Insufficient_storage| - `Failed_dependency) - - 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-06-16 19:19.38: OK: build lichess_api.1.0.1 (runc: 3.6s, disk: 43KB) 2026-06-16 19:19.38: Job succeeded