Size: a a a

Rust — русскоговорящее сообществo

2020 December 01

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
навешивать cfg на бранчи макроса?
источник

IG

Igor Gulamov in Rust — русскоговорящее сообществo
не, это очень большой макрос
источник

AI

Alex Ilizarov in Rust — русскоговорящее сообществo
Ilya Lakhin
Спасибо. Он на найтли-фичу завязан, я так понял?
Там прикол в том что процмакро может идентификаторы генерить, а обычный макрос уже нет
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Alex Ilizarov
Там прикол в том что процмакро может идентификаторы генерить, а обычный макрос уже нет
Да, я уже посмотрел, он под капотом создает новые токены просто. Это само по себе работает, но он не понимается Idea плагином, что лично мне не очень удобно(и думаю многим программистам, кто сидит на Идее, тоже). Так что я попробую все же без него написать.
источник

D

Denis in Rust — русскоговорящее сообществo
Ilya Lakhin
Да, я уже посмотрел, он под капотом создает новые токены просто. Это само по себе работает, но он не понимается Idea плагином, что лично мне не очень удобно(и думаю многим программистам, кто сидит на Идее, тоже). Так что я попробую все же без него написать.
ты не включил раскрытие процедурных макросов?
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Э-э...
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Сейчас уточню
источник

D

Denis in Rust — русскоговорящее сообществo
)))
источник

D

Denis in Rust — русскоговорящее сообществo
там какой-то флаг экспериментальная поддержка процедурных макросов, или что-то такое
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Так, ну там не все опции были выставлены. Сейчас тогда еще раз paste попробую
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Denis
там какой-то флаг экспериментальная поддержка процедурных макросов, или что-то такое
Оно уже давно on-by-default. paste всё равно не пережёвывает :(
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Да, я там какой-то ещё флаг выстави exprimental, и всё равно не смог разобрать
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Что может быть и к лучшему ) Я там ещё использую Vulkano Shaders, который компилирует glsl через макросы, так что если бы поддерживал, то экспандил бы он такие макросы наверное очень долго.
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Вернее, он их компилирует через FFI к плюсовой Shaderc, то есть он бы это всё потянул за собой в такой ситуации.
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Да ладно, мне обычных макросов хватит. Там не так много конкатенировать. Можно руками написать.
источник

D

Denis in Rust — русскоговорящее сообществo
если не так много, то можно не руками писать, а скриптом нагенерировать )
источник

D

Denis in Rust — русскоговорящее сообществo
да в общем-то даже если и много, всё равно можно )
источник

D

Denis in Rust — русскоговорящее сообществo
в том же build.rs, например

и это точно будет во всех IDE работать =)
источник

A

Arseniy in Rust — русскоговорящее сообществo
Denis
там какой-то флаг экспериментальная поддержка процедурных макросов, или что-то такое
Поддержки процедурных макросов в IntelliJ Rust пока нет, только декларативных
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Ребята, я правильно понял по макросам, что 1) если я хочу использовать какой-то тип вне правила, я должен прописывать его полный путь каждый раз, то есть я не могу использовать use? 2) все макросы всегда экспортируются относительно крейта, который я создаю, и, в общем, их нельзя сделать "приватными", кроме как объявить в стороннем крейте?
источник