Мне нравится, что Rust поставляется с большим количеством макросов, которые перемещают вычисления во время компиляции, а не повторяем во время выполнения.
print!
и все его варианты с использованием format_args!
См. Исходный код являются отличными примерами.
К сожалению, в исходном коде вы видите комментарий /* compiler built-in */
вместо прямой реализации в исходном файле.
Может ли Rust позволить пользователю писать такую сложную логику, как макрос? Если да, то как я могу это сделать?