Build:
  1. 0
2026-11-06 09:34.49: New job: build learn-ocaml.0.14.1 (8752ba02199b)
2026-11-06 09:34.49: Waiting for resource in pool day11-builds
2026-11-06 10:03.41: Got resource from pool day11-builds
2026-11-06 10:03.41: [profile full] build learn-ocaml.0.14.1
2026-11-06 10:03.42: build learn-ocaml.0.14.1 (8752ba02199b)
=== DEPENDENCIES (101 transitive) ===
  angstrom.0.16.1                                    42120b2e66ac
  asak.0.5                                           b573ba683cc2
  astring.0.8.5                                      223c41815970
  base.v0.14.4                                       2d32bb5f6188
  base-bigarray.base                                 d76c7b762798
  base-bytes.base                                    250ebe98900a
  base-threads.base                                  e5afefc1e615
  base-unix.base                                     52b3a79a2336
  base64.3.5.2                                       5f5364979154
  bigarray-compat.1.1.0                              7983b663b32a
  bigstringaf.0.9.0                                  d826a5dedde8
  camlp-streams.5.0.1                                8bd07ea896aa
  checkseum.0.5.4                                    bc3a71f9fcc6
  cmdliner.1.3.0                                     22c1fad90b33
  cohttp.4.0.0                                       b58f91cd3253
  cohttp-lwt.4.0.0                                   d46cda69048b
  cohttp-lwt-unix.4.0.0                              ee08b5c6fe68
  conduit.1.3.0                                      a449e92014d4
  conduit-lwt.1.3.0                                  92849c0fb8b0
  conduit-lwt-unix.1.3.0                             40183887589a
  conf-git.1.1                                       29e18f5eb901
  conf-libssl.4                                      866e7c6900ee
  conf-pkg-config.5                                  918c1ea9acfc
  cppo.1.8.0                                         028ca384c076
  csexp.1.5.1                                        fefd898ff852
  cstruct.5.2.0                                      5f14e1d2100e
  decompress.0.8.1                                   23f21ea36007
  digestif.1.4.1                                     f5181f8afcfe
  dune.2.9.3                                         3543e5ccd920
  dune-configurator.2.9.3                            8c930b94e212
  easy-format.1.3.3                                  45c955b286bc
  eqaf.0.10                                          17c522d992d2
  ezjsonm.1.3.0                                      8a302862bc93
  fmt.0.11.0                                         7a89c1ac7c6e
  fpath.0.7.3                                        5fdf6fd06e16
  gg.1.0.0                                           bc11e414ce0e
  hex.1.5.0                                          3c4d83f4c944
  ipaddr.2.9.0                                       14a96c0e3fd0
  js_of_ocaml.4.0.0                                  712069f155f6
  js_of_ocaml-compiler.4.0.0                         af01deb8f552
  js_of_ocaml-lwt.4.0.0                              7741eabd71e3
  js_of_ocaml-ppx.4.0.0                              c5d254162620
  js_of_ocaml-toplevel.4.0.0                         13f4563ba7c6
  js_of_ocaml-tyxml.4.0.0                            1232185cd798
  jsonm.1.0.2                                        5654fcaa7d65
  logs.0.7.0                                         eddf41b37d15
  lwt.5.9.1                                          66190c877993
  lwt_react.1.2.0                                    213a017a8d7b
  lwt_ssl.1.1.3                                      e41cb010365a
  magic-mime.1.3.1                                   0895393b962d
  markup.1.0.3                                       a08d4c399673
  markup-lwt.0.5.0                                   b0b9d1662989
  menhir.20260209                                    993b22996684
  menhirCST.20260209                                 8a9b1f6bf8cd
  menhirGLR.20260209                                 bcb5608ea14b
  menhirLib.20260209                                 7443d0fe9353
  menhirSdk.20260209                                 4ec1b1e35d8d
  num.1.6                                            fa8c802589e8
  ocaml.4.12.1                                       94a87a5edcd4
  ocaml-base-compiler.4.12.1                         de9ff549ace2
  ocaml-compiler-libs.v0.12.4                        d7c9cc9dd6a4
  ocaml-config.2                                     68fb753e561a
  ocaml-migrate-parsetree.1.8.0                      fe50611e1c24
  ocaml-syntax-shims.1.0.0                           bf2f65215710
  ocamlbuild.0.16.1                                  13ef9ce35b66
  ocamlfind.1.9.8                                    e78acb524b60
  ocp-indent-nlfork.1.5.5                            86070e142070
  ocp-ocamlres.0.4                                   75cfb01d0a20
  ocplib-endian.1.2                                  6979e26b25a1
  ocplib-json-typed.0.7.1                            c913f8814a26
  ocplib-json-typed-browser.0.7.1                    a09e38205279
  odoc.2.1.1                                         00229ad5a601
  odoc-parser.1.0.1                                  0d553bfb10ba
  omd.1.3.1                                          cfb13ad08f99
  optint.0.3.0                                       77dafab7dae2
  parsexp.v0.14.2                                    36607166ce93
  pprint.20230830                                    050abc4b227b
  ppx_cstruct.5.2.0                                  58071a22c7df
  ppx_derivers.1.2.1                                 704e89f7a514
  ppx_sexp_conv.v0.14.1                              8641a60d5dad
  ppx_tools.6.6                                      6668d2701cc4
  ppx_tools_versioned.5.4.0                          2710ec734186
  ppxlib.0.15.0                                      91e241096291
  re.1.12.0                                          09175902fd8c
  react.1.2.2                                        518383466cd7
  reactiveData.0.3.0                                 746efc063d1f
  result.1.5                                         a00f727c86bb
  seq.base                                           066478312cff
  sexplib.v0.14.0                                    2e739d38aa9a
  sexplib0.v0.14.0                                   c06e40cf88ff
  ssl.0.5.12                                         be99b48ab1de
  stdlib-shims.0.3.0                                 52c51435ab83
  stringext.1.6.0                                    2144017862be
  topkg.1.1.1                                        22488aab0d08
  tyxml.4.6.0                                        2c3a94b28381
  uchar.0.0.2                                        6310406801b1
  uri.4.4.0                                          c6841711718a
  uri-sexp.4.4.0                                     ed10b47fde42
  uutf.1.0.4                                         1f1e96eeabe9
  vg.0.9.4                                           8488d6a0414f
  yojson.3.0.0                                       b798bde2af53
=== STDOUT ===
Processing: [default: loading data]
[learn-ocaml.0.14.1: dl]
[learn-ocaml.0.14.1: extract]
-> retrieved learn-ocaml.0.14.1  (https://opam.ocaml.org/cache)
[learn-ocaml: make static]
+ /usr/bin/make "static" (CWD=/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1)
- make[1]: Entering directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1/static'
- make[2]: Entering directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1/static/icons'
- sed "s/#000000/#000/g" icon_cleanup_src.svg > icon_cleanup_black.svg
- sed "s/#000000/#000/g" icon_down_src.svg > icon_down_black.svg
- sed "s/#000000/#000/g" icon_download_src.svg > icon_download_black.svg
- sed "s/#000000/#000/g" icon_left_src.svg > icon_left_black.svg
- sed "s/#000000/#000/g" icon_list_src.svg > icon_list_black.svg
- sed "s/#000000/#000/g" icon_logout_src.svg > icon_logout_black.svg
- sed "s/#000000/#000/g" icon_menu_src.svg > icon_menu_black.svg
- sed "s/#000000/#000/g" icon_reload_src.svg > icon_reload_black.svg
- sed "s/#000000/#000/g" icon_right_src.svg > icon_right_black.svg
- sed "s/#000000/#000/g" icon_run_src.svg > icon_run_black.svg
- sed "s/#000000/#000/g" icon_save_src.svg > icon_save_black.svg
- sed "s/#000000/#000/g" icon_sync_src.svg > icon_sync_black.svg
- sed "s/#000000/#000/g" icon_token_src.svg > icon_token_black.svg
- sed "s/#000000/#000/g" icon_typecheck_src.svg > icon_typecheck_black.svg
- sed "s/#000000/#000/g" icon_up_src.svg > icon_up_black.svg
- sed "s/#000000/#000/g" icon_upload_src.svg > icon_upload_black.svg
- sed "s/#000000/#FFF/g" icon_cleanup_src.svg > icon_cleanup_white.svg
- sed "s/#000000/#FFF/g" icon_down_src.svg > icon_down_white.svg
- sed "s/#000000/#FFF/g" icon_download_src.svg > icon_download_white.svg
- sed "s/#000000/#FFF/g" icon_left_src.svg > icon_left_white.svg
- sed "s/#000000/#FFF/g" icon_list_src.svg > icon_list_white.svg
- sed "s/#000000/#FFF/g" icon_logout_src.svg > icon_logout_white.svg
- sed "s/#000000/#FFF/g" icon_menu_src.svg > icon_menu_white.svg
- sed "s/#000000/#FFF/g" icon_reload_src.svg > icon_reload_white.svg
- sed "s/#000000/#FFF/g" icon_right_src.svg > icon_right_white.svg
- sed "s/#000000/#FFF/g" icon_run_src.svg > icon_run_white.svg
- sed "s/#000000/#FFF/g" icon_save_src.svg > icon_save_white.svg
- sed "s/#000000/#FFF/g" icon_sync_src.svg > icon_sync_white.svg
- sed "s/#000000/#FFF/g" icon_token_src.svg > icon_token_white.svg
- sed "s/#000000/#FFF/g" icon_typecheck_src.svg > icon_typecheck_white.svg
- sed "s/#000000/#FFF/g" icon_up_src.svg > icon_up_white.svg
- sed "s/#000000/#FFF/g" icon_upload_src.svg > icon_upload_white.svg
- sed "s/#000000/#222/g" icon_cleanup_src.svg > icon_cleanup_dark.svg
- sed "s/#000000/#222/g" icon_down_src.svg > icon_down_dark.svg
- sed "s/#000000/#222/g" icon_download_src.svg > icon_download_dark.svg
- sed "s/#000000/#222/g" icon_left_src.svg > icon_left_dark.svg
- sed "s/#000000/#222/g" icon_list_src.svg > icon_list_dark.svg
- sed "s/#000000/#222/g" icon_logout_src.svg > icon_logout_dark.svg
- sed "s/#000000/#222/g" icon_menu_src.svg > icon_menu_dark.svg
- sed "s/#000000/#222/g" icon_reload_src.svg > icon_reload_dark.svg
- sed "s/#000000/#222/g" icon_right_src.svg > icon_right_dark.svg
- sed "s/#000000/#222/g" icon_run_src.svg > icon_run_dark.svg
- sed "s/#000000/#222/g" icon_save_src.svg > icon_save_dark.svg
- sed "s/#000000/#222/g" icon_sync_src.svg > icon_sync_dark.svg
- sed "s/#000000/#222/g" icon_token_src.svg > icon_token_dark.svg
- sed "s/#000000/#222/g" icon_typecheck_src.svg > icon_typecheck_dark.svg
- sed "s/#000000/#222/g" icon_up_src.svg > icon_up_dark.svg
- sed "s/#000000/#222/g" icon_upload_src.svg > icon_upload_dark.svg
- sed "s/#000000/#EEE/g" icon_cleanup_src.svg > icon_cleanup_light.svg
- sed "s/#000000/#EEE/g" icon_down_src.svg > icon_down_light.svg
- sed "s/#000000/#EEE/g" icon_download_src.svg > icon_download_light.svg
- sed "s/#000000/#EEE/g" icon_left_src.svg > icon_left_light.svg
- sed "s/#000000/#EEE/g" icon_list_src.svg > icon_list_light.svg
- sed "s/#000000/#EEE/g" icon_logout_src.svg > icon_logout_light.svg
- sed "s/#000000/#EEE/g" icon_menu_src.svg > icon_menu_light.svg
- sed "s/#000000/#EEE/g" icon_reload_src.svg > icon_reload_light.svg
- sed "s/#000000/#EEE/g" icon_right_src.svg > icon_right_light.svg
- sed "s/#000000/#EEE/g" icon_run_src.svg > icon_run_light.svg
- sed "s/#000000/#EEE/g" icon_save_src.svg > icon_save_light.svg
- sed "s/#000000/#EEE/g" icon_sync_src.svg > icon_sync_light.svg
- sed "s/#000000/#EEE/g" icon_token_src.svg > icon_token_light.svg
- sed "s/#000000/#EEE/g" icon_typecheck_src.svg > icon_typecheck_light.svg
- sed "s/#000000/#EEE/g" icon_up_src.svg > icon_up_light.svg
- sed "s/#000000/#EEE/g" icon_upload_src.svg > icon_upload_light.svg
- make[2]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1/static/icons'
- make[1]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1/static'
[learn-ocaml: dune build]
+ /home/opam/.opam/default/bin/dune "build" "-p" "learn-ocaml" "-j" "39" (CWD=/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1)
- linking_flags src/main/linking_main.sexp
- ;; linking_main.sexp
- ;; generated by ./linking_flags.sh
- ()
- linking_flags src/main/linking_server.sexp
- ;; linking_server.sexp
- ;; generated by ./linking_flags.sh
- ()
-       ocamlc src/ace-lib/.ace.objs/byte/ocaml_mode.{cmo,cmt}
- File "src/ace-lib/ocaml_mode.ml", line 154, characters 19-20:
- 154 |   | LINE_DIRECTIVE _ -> "meta"
-                          ^
- Warning 28 [wildcard-arg-to-constant-constr]: wildcard pattern given as argument to a constant constructor
-  js_of_ocaml src/app/learnocaml_partition_view.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/app/learnocaml_description_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/app/learnocaml_student_view.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/app/learnocaml_playground_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/app/learnocaml_exercise_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/app/learnocaml_index_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.0.14.1/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
-  js_of_ocaml src/toplevel/learnocaml_toplevel_worker_main.bc.js
- Warning: Program not linked with -g, original variable names and locations not available.
- There are some missing primitives
- Dummy implementations (raising 'Failure' exception) will be used if they are not available at runtime.
- You can prevent the generation of dummy implementations with the commandline option '--disable genprim'
- Missing primitives:
-   caml_unix_map_file_bytecode
-   unix_accept
-   unix_access
-   unix_alarm
-   unix_bind
-   unix_chdir
-   unix_chmod
-   unix_chown
-   unix_chroot
-   unix_clear_close_on_exec
-   unix_clear_nonblock
-   unix_close
-   unix_closedir
-   unix_connect
-   unix_dup
-   unix_dup2
-   unix_environment
-   unix_environment_unsafe
-   unix_error_message
-   unix_execv
-   unix_execve
-   unix_execvp
-   unix_execvpe
-   unix_exit
-   unix_fchmod
-   unix_fchown
-   unix_fork
-   unix_fstat
-   unix_fstat_64
-   unix_fsync
-   unix_ftruncate
-   unix_ftruncate_64
-   unix_getaddrinfo
-   unix_getcwd
-   unix_getegid
-   unix_geteuid
-   unix_getgid
-   unix_getgrgid
-   unix_getgrnam
-   unix_getgroups
-   unix_gethostbyaddr
-   unix_gethostbyname
-   unix_gethostname
-   unix_getitimer
-   unix_getlogin
-   unix_getnameinfo
-   unix_getpeername
-   unix_getpid
-   unix_getppid
-   unix_getprotobyname
-   unix_getprotobynumber
-   unix_getpwnam
-   unix_getservbyname
-   unix_getservbyport
-   unix_getsockname
-   unix_getsockopt
-   unix_inchannel_of_filedescr
-   unix_initgroups
-   unix_kill
-   unix_link
-   unix_listen
-   unix_lockf
-   unix_lseek
-   unix_lseek_64
-   unix_mkfifo
-   unix_nice
-   unix_open
-   unix_opendir
-   unix_outchannel_of_filedescr
-   unix_pipe
-   unix_putenv
-   unix_read
-   unix_readdir
-   unix_recv
-   unix_recvfrom
-   unix_rename
-   unix_rewinddir
-   unix_select
-   unix_send
-   unix_sendto
-   unix_set_close_on_exec
-   unix_set_nonblock
-   unix_setgid
-   unix_setgroups
-   unix_setitimer
-   unix_setsid
-   unix_setsockopt
-   unix_setuid
-   unix_shutdown
-   unix_sigpending
-   unix_sigprocmask
-   unix_sigsuspend
-   unix_single_write
-   unix_sleep
-   unix_socket
-   unix_socketpair
-   unix_spawn
-   unix_string_of_inet_addr
-   unix_tcdrain
-   unix_tcflow
-   unix_tcflush
-   unix_tcgetattr
-   unix_tcsendbreak
-   unix_tcsetattr
-   unix_times
-   unix_truncate
-   unix_truncate_64
-   unix_umask
-   unix_utimes
-   unix_wait
-   unix_waitpid
-   unix_write
-  js_of_ocaml src/grader/grader_jsoo_worker.bc.js
- Warning: Program not linked with -g, original variable names and locations not available.
- There are some missing primitives
- Dummy implementations (raising 'Failure' exception) will be used if they are not available at runtime.
- You can prevent the generation of dummy implementations with the commandline option '--disable genprim'
- Missing primitives:
-   caml_unix_map_file_bytecode
-   unix_accept
-   unix_access
-   unix_alarm
-   unix_bind
-   unix_chdir
-   unix_chmod
-   unix_chown
-   unix_chroot
-   unix_clear_close_on_exec
-   unix_clear_nonblock
-   unix_close
-   unix_closedir
-   unix_connect
-   unix_dup
-   unix_dup2
-   unix_environment
-   unix_environment_unsafe
-   unix_error_message
-   unix_execv
-   unix_execve
-   unix_execvp
-   unix_execvpe
-   unix_exit
-   unix_fchmod
-   unix_fchown
-   unix_fork
-   unix_fstat
-   unix_fstat_64
-   unix_fsync
-   unix_ftruncate
-   unix_ftruncate_64
-   unix_getaddrinfo
-   unix_getcwd
-   unix_getegid
-   unix_geteuid
-   unix_getgid
-   unix_getgrgid
-   unix_getgrnam
-   unix_getgroups
-   unix_gethostbyaddr
-   unix_gethostbyname
-   unix_gethostname
-   unix_getitimer
-   unix_getlogin
-   unix_getnameinfo
-   unix_getpeername
-   unix_getpid
-   unix_getppid
-   unix_getprotobyname
-   unix_getprotobynumber
-   unix_getpwnam
-   unix_getservbyname
-   unix_getservbyport
-   unix_getsockname
-   unix_getsockopt
-   unix_inchannel_of_filedescr
-   unix_initgroups
-   unix_kill
-   unix_link
-   unix_listen
-   unix_lockf
-   unix_lseek
-   unix_lseek_64
-   unix_mkfifo
-   unix_nice
-   unix_open
-   unix_opendir
-   unix_outchannel_of_filedescr
-   unix_pipe
-   unix_putenv
-   unix_read
-   unix_readdir
-   unix_recv
-   unix_recvfrom
-   unix_rename
-   unix_rewinddir
-   unix_select
-   unix_send
-   unix_sendto
-   unix_set_close_on_exec
-   unix_set_nonblock
-   unix_setgid
-   unix_setgroups
-   unix_setitimer
-   unix_setsid
-   unix_setsockopt
-   unix_setuid
-   unix_shutdown
-   unix_sigpending
-   unix_sigprocmask
-   unix_sigsuspend
-   unix_single_write
-   unix_sleep
-   unix_socket
-   unix_socketpair
-   unix_spawn
-   unix_string_of_inet_addr
-   unix_tcdrain
-   unix_tcflow
-   unix_tcflush
-   unix_tcgetattr
-   unix_tcsendbreak
-   unix_tcsetattr
-   unix_times
-   unix_truncate
-   unix_truncate_64
-   unix_umask
-   unix_utimes
-   unix_wait
-   unix_waitpid
-   unix_write
-       ocamlc src/utils/.learnocaml_partition_create.objs/byte/learnocaml_partition_create.{cmo,cmt} (exit 2)
- (cd _build/default && /home/opam/.opam/default/bin/ocamlc.opt -safe-string -w +a-4-42-44-45-48-3-58 -warn-error A-4-42-44-45-48 -bin-annot -I src/utils/.learnocaml_partition_create.objs/byte -I /home/opam/.opam/default/lib/angstrom -I /home/opam/.opam/default/lib/asak -I /home/opam/.opam/default/lib/astring -I /home/opam/.opam/default/lib/base/caml -I /home/opam/.opam/default/lib/base64 -I /home/opam/.opam/default/lib/bigarray-compat -I /home/opam/.opam/default/lib/bigstringaf -I /home/opam/.opam/default/lib/bytes -I /home/opam/.opam/default/lib/conduit -I /home/opam/.opam/default/lib/cstruct -I /home/opam/.opam/default/lib/digestif -I /home/opam/.opam/default/lib/digestif/ocaml -I /home/opam/.opam/default/lib/eqaf -I /home/opam/.opam/default/lib/ezjsonm -I /home/opam/.opam/default/lib/hex -I /home/opam/.opam/default/lib/ipaddr -I /home/opam/.opam/default/lib/jsonm -I /home/opam/.opam/default/lib/lwt -I /home/opam/.opam/default/lib/lwt/unix -I /home/opam/.opam/default/lib/ocaml/compiler-libs -I /home/opam/.opam/default/lib/ocaml/threads -I /home/opam/.opam/default/lib/ocplib-endian -I /home/opam/.opam/default/lib/ocplib-endian/bigstring -I /home/opam/.opam/default/lib/ocplib-json-typed -I /home/opam/.opam/default/lib/omd -I /home/opam/.opam/default/lib/parsexp -I /home/opam/.opam/default/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/default/lib/sexplib -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/uutf -I src/grader/.learnocaml_report.objs/byte -I src/repo/.learnocaml_repository.objs/byte -I src/state/.learnocaml_api.objs/byte -I src/state/.learnocaml_data.objs/byte -I src/state/.learnocaml_store.objs/byte -I src/toplevel/.learnocaml_toplevel_history.objs/byte -I src/utils/.learnocaml_xor.objs/byte -I src/utils/.lwt_utils.objs/byte -I src/utils/.ocplib_i18n.objs/byte -I src/utils/.sha.objs/byte -intf-suffix .ml -no-alias-deps -o src/utils/.learnocaml_partition_create.objs/byte/learnocaml_partition_create.cmo -c -impl src/utils/learnocaml_partition_create.ml)
- File "src/utils/learnocaml_partition_create.ml", line 105, characters 65-73:
- 105 |   let bad_type,partition_by_grade = asak_partition prof fun_name solution by_grade in
-                                                                        ^^^^^^^^
- Error: This expression has type string but an expression was expected of type
-          Types.type_expr
-     ocamlopt src/utils/.learnocaml_partition_create.objs/native/learnocaml_partition_create.{cmx,o} (exit 2)
- (cd _build/default && /home/opam/.opam/default/bin/ocamlopt.opt -safe-string -w +a-4-42-44-45-48-3-58 -warn-error A-4-42-44-45-48 -I src/utils/.learnocaml_partition_create.objs/byte -I src/utils/.learnocaml_partition_create.objs/native -I /home/opam/.opam/default/lib/angstrom -I /home/opam/.opam/default/lib/asak -I /home/opam/.opam/default/lib/astring -I /home/opam/.opam/default/lib/base/caml -I /home/opam/.opam/default/lib/base64 -I /home/opam/.opam/default/lib/bigarray-compat -I /home/opam/.opam/default/lib/bigstringaf -I /home/opam/.opam/default/lib/bytes -I /home/opam/.opam/default/lib/conduit -I /home/opam/.opam/default/lib/cstruct -I /home/opam/.opam/default/lib/digestif -I /home/opam/.opam/default/lib/digestif/ocaml -I /home/opam/.opam/default/lib/eqaf -I /home/opam/.opam/default/lib/ezjsonm -I /home/opam/.opam/default/lib/hex -I /home/opam/.opam/default/lib/ipaddr -I /home/opam/.opam/default/lib/jsonm -I /home/opam/.opam/default/lib/lwt -I /home/opam/.opam/default/lib/lwt/unix -I /home/opam/.opam/default/lib/ocaml/compiler-libs -I /home/opam/.opam/default/lib/ocaml/threads -I /home/opam/.opam/default/lib/ocplib-endian -I /home/opam/.opam/default/lib/ocplib-endian/bigstring -I /home/opam/.opam/default/lib/ocplib-json-typed -I /home/opam/.opam/default/lib/omd -I /home/opam/.opam/default/lib/parsexp -I /home/opam/.opam/default/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/default/lib/sexplib -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/uutf -I src/grader/.learnocaml_report.objs/byte -I src/grader/.learnocaml_report.objs/native -I src/repo/.learnocaml_repository.objs/byte -I src/repo/.learnocaml_repository.objs/native -I src/state/.learnocaml_api.objs/byte -I src/state/.learnocaml_api.objs/native -I src/state/.learnocaml_data.objs/byte -I src/state/.learnocaml_data.objs/native -I src/state/.learnocaml_store.objs/byte -I src/state/.learnocaml_store.objs/native -I src/toplevel/.learnocaml_toplevel_history.objs/byte -I src/toplevel/.learnocaml_toplevel_history.objs/native -I src/utils/.learnocaml_xor.objs/byte -I src/utils/.learnocaml_xor.objs/native -I src/utils/.lwt_utils.objs/byte -I src/utils/.lwt_utils.objs/native -I src/utils/.ocplib_i18n.objs/byte -I src/utils/.ocplib_i18n.objs/native -I src/utils/.sha.objs/byte -I src/utils/.sha.objs/native -intf-suffix .ml -no-alias-deps -o src/utils/.learnocaml_partition_create.objs/native/learnocaml_partition_create.cmx -c -impl src/utils/learnocaml_partition_create.ml)
- File "src/utils/learnocaml_partition_create.ml", line 105, characters 65-73:
- 105 |   let bad_type,partition_by_grade = asak_partition prof fun_name solution by_grade in
-                                                                        ^^^^^^^^
- Error: This expression has type string but an expression was expected of type
-          Types.type_expr
[ERROR] The compilation of learn-ocaml.0.14.1 failed at "dune build -p learn-ocaml -j 39".
build failed... 

=== STDERR ===

2026-11-06 10:05.24: FAILED: build learn-ocaml.0.14.1
2026-11-06 10:05.24: Job failed: build failed: learn-ocaml.0.14.1