Макросы - это механизм генерации кода во время компиляции. В отличие от макросов в C, где препроцессор работает исключительно на уровне текста, макросы Rust работают с токенами языка, а не с текстом программы. Процедурные макросы получают TokenStream и возвращают новый TokenStream, а декларативные сопоставляют поток токенов с заданными шаблонами. После раскрытия макросов полученный код компилируется так же, как если бы его написал программист вручную. Читать далее
Как-то я сказал своему коллеге, что в Rust имеются макросы, ему показалось, что это плохо. Раньше у меня была такая же реакция, но Rust показал мне, что макросы не обязательно плохи. Где и как их уместно применять? Смотрите под катом. Читать дальше →
Привет, Хабр! Сегодня поговорим про процедурные макросы как про инструмент разработчика, который заботится о DX. Процедурные макросы внедряют в исходники произвольный Rust-код на этапе компиляции. Это часть языка: атрибутные, derive и функциональные макросы работают через proc_macro и…
Привет, Хабр!Сегодня у нас на повестке дня rust-bert — одна из самых мощных библиотек для обработки естественного языка в экосистеме Rust. Если вы уже знакомы с Hugging Face и их библиотекой Transformers на Python, то rust-bert для вас. Эта библиотека переносит state-of-the-art модели прямо в проект на Rust.Главная фича rust-bert в том, что она идеально вписывается в Rust. Читать далее