Gleam v1.12
-
Исправления
- Уточнено сообщение об ошибке с некорректной терминологией. (Louis Pilfold)
- JS: устранён сбой при использовании echo в модуле с функцией process. (Peter Saxton)
- Форматер: не переносит комментарий перед assert за него; корректно форматирует сообщения после echo/panic/todo/assert/let assert с комментарием перед ними; компилятор не генерирует неверный код для assert с пайпами на JS. (Giacomo Cavalieri)
-
Форматирование битовых массивов
- Трейлинг-Запятая управляет разбиением: с запятой — много строк; без — в одну строку.
- Если несколько сегментов на строке и убрана завершающая запятая, форматер сохраняет сегменты по одному на строку. (Giacomo Cavalieri)
-
Компилятор и генерация кода
- echo поддерживает пользовательское сообщение: echo 11 as "lucky number" печатает контекст и значение в stderr. (Giacomo Cavalieri)
- В сгенерированном JS doc-комментарии превращаются в JSDoc. (Giacomo Cavalieri)
- Уменьшен размер кода case на JS. (Surya Rose)
- Удаление неиспользуемого кода на этапе генерации (usage-based DCE). (Louis Pilfold)
- Улучшена поддержка echo для списков символов, ошибок и циклических ссылок JS. (Louis Pilfold)
- Улучшен внешний вид ошибок и предупреждений: контекстные метки выделяются иначе, чем источник проблемы. (Giacomo Cavalieri)
- Подсказка при импорте с точкой вместо слеша, с примерами корректного синтаксиса. (Zij-IT)
- Предупреждение при затенении импортированного имени верхнеуровневой константой/функцией. (Aayush Tripathi)
- Улучшено сообщение об неизвестной переменной, если, вероятно, имелась в виду проигнорированная (_x → x), с подсказкой. (Giacomo Cavalieri)
- Оптимизирован матчинг-паттернов на JS.