Представлен открытый проект RustOwl для визуализации перемещения владения и времени жизни переменных

Разработчик под ником cordx56 представил открытый проект под названием RustOwl (Rust Lifetime Visualizer) для визуализации перемещения владения (ownership movement) и времени жизни переменных (lifetimes of variables). Решение помогает в отладке и оптимизации кода на Rust. Исходный код проекта написан на Rust, TypeScript, Lua и Emacs Lisp и опубликован на GitHub под лицензией Mozilla Public License 2.0.

«Когда вы сохраняете исходный код Rust, он анализируется, а владение и время жизни переменных визуализируются при наведении курсора на переменную или вызов функции. RustOwl визуализирует их с помощью подчёркивания:

🟩 зеленый: фактическое время жизни переменной

🟦 синий: неизменяемое заимствование

🟪 фиолетовый: изменяемое заимствование

🟧 оранжевый: перемещенное значение/вызов функции

🟥 красный: ошибка времени жизни — разница между фактическим и ожидаемым временем жизни.

В настоящее время мы предлагаем расширение VSCode, плагин Neovim и пакет Emacs. Для этих редакторов наведите текстовый курсор на переменную или вызов функции, которые вы хотите проверить, и подождите 2 секунды, чтобы визуализировать информацию. Мы реализовали LSP‑сервер cargo owlsp с расширенным протоколом. Таким образом, RustOwl можно легко использовать из другого редактора», 

— пояснил автор проекта.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии