Как-то я сказал своему коллеге, что в Rust имеются макросы, ему показалось, что это плохо. Раньше у меня была такая же реакция, но Rust показал мне, что макросы не обязательно плохи. Где и как их уместно применять? Смотрите под катом. Читать дальше →
Макросы - это механизм генерации кода во время компиляции. В отличие от макросов в C, где препроцессор работает исключительно на уровне текста, макросы Rust работают с токенами языка, а не с текстом программы. Процедурные макросы получают TokenStream и возвращают новый TokenStream, а декларативные сопоставляют поток токенов с заданными шаблонами. После раскрытия макросов полученный код компилируется так же, как если бы его написал программист вручную. Читать далее
Привет, Хабр! Сегодня поговорим про процедурные макросы как про инструмент разработчика, который заботится о DX. Процедурные макросы внедряют в исходники произвольный Rust-код на этапе компиляции. Это часть языка: атрибутные, derive и функциональные макросы работают через proc_macro и…
Rust 1.87.0 и 10 лет Rust! Команда Rust празднует 10-летие Rust в Утрехте, Нидерланды, и рада сообщить о новой версии языка — 1.87.0! Сегодняшний день релиза выпал на 10-летний юбилей выхода Rust 1.0! Спасибо мириадам участников, кто работал или работает над Rust. Выпьем за ещё многие десятилетия впереди!