Перейти к содержимому

Как выбрать движок, с которым сможете жить

Пять движков держат одни и те же значения — и держат их по-разному. Здесь эта разница измерена: что движок не может удержать, не может различить или отдаёт обратно изменённым, и на каком движке это происходит. Это та половина книги, по которой движок и выбирают.

Почти ничего из этого не сделала эта библиотека. Движок пишет значения в каком-то формате, а формат решает, чем значение может быть, что может его назвать и что переживает круговой обход. В TOML нет null; JSON называет член строкой; RON не понесёт enum. Эти решения приняты до того, как amethystate увидит значение, и никакая настройка здесь их не меняет.

Поэтому раздел стоит особняком. Предел, который накладывает библиотека, - это настройка, и живёт он в Чего store не примет. Предел, который накладывает формат, - это факт о выбранном вами движке, и единственное полезное, что о нём можно сказать, - что происходит на самом деле.

Ни одна из этих страниц не написана по чтению кода. Каждая - это тест в crates/main/amethystate/tests, и cargo xtask docs запускает его и строит страницу из того, что тест напечатал: сначала выполненный код, затем документы, которые написали движки, дословно. Править страницу руками бессмысленно - следующий прогон её заменит.

Поэтому сами прогоны лежат только в английском разделе: текст на странице генератор берёт из комментария к тесту, а тесты в этом репозитории написаны по-английски. Переводить их значило бы переводить руками то, что переписывается на каждом прогоне, - и первый же прогон вернул бы английский обратно. Код, таблицы и документы, которые написали движки, от языка не зависят.

Поэтому страница не может описывать поведение, которого у кода больше нет. Если утверждение здесь неверно, то неверен прогон, который его произвёл, и падает он там же, где падает любой другой тест.

Что-то должно быть по-настоящему потеряно или отклонено. Значение, которое в файле одного движка записано иначе, но читается обратно тем же типом, что и вошёл, относится в другое место: страницу здесь читают как предупреждение, и каждая страница здесь предупреждением быть и должна.

На каждой странице сверху есть Tags: - toml, keys, codec, choosing an engine, - и поиск ищет по этим словам, поэтому вопрос вида что TOML делает с находит страницы про TOML.

Начинайте снизу. Текст говорит, о чём раздел; прогон говорит, что случилось. Там, где они расходятся, прав прогон, а текст - это баг.

Если вы выбираете движок, прочитайте прогоны по всем и возьмите тот, с чьими потерями вы можете жить. Если вы уже выбрали, важна только ваша колонка.