У меня ошибка при маршалинге структуры данных (ошибка абстрактного типа (Custom)). Существует один известный абстрактный тип, а именно Big_int. Однако, что маршалы в порядке. Там нет никакого пользовательского кода C в приложении. Помимо Nums, также используется библиотека Unix (однако я не думаю, что есть какие-либо активные объекты такого типа). Мы маршал с затворами.
Используются две (только) сторонние библиотеки: схема OCS (интерпретатор схемы, чистый Ocaml) и Dypgen (расширяемый синтаксический анализатор GLR, также чистый Ocaml). Проблема в новой функции Dypgen, сохраняющей динамически расширенный синтаксический анализатор.
Сообщение об ошибке Ocaml почти бесполезно (оно не определяет, какой из абстрактных типов с пользовательским тегом является виновником).
Мы подозревали, что виновником является Lexbuf, потому что он содержит замыкание по каналу Ocaml и не может быть маршалом, но, похоже, это не проблема. Итак, мой вопрос:
Какие стандартные компоненты библиотеки не могут быть Marshall'd?