Size: a a a

2020 March 27

ML

Mike Lubinets in rust_offtopic
Вафель
Ага да а что дальше? Всё равно не особо как писать. Часть того в чём я путался в последний раз, это к примеру как парсить вход правильно и когда нужно юзать proc_macro, а когда proc_macro2 (или как те крейты называются?)
Возьми какой-нибудь простой макрос за пример и разберись как он работает
источник

В

Вафель in rust_offtopic
Антон ⚙️
Когда напортачил в гите, у тебя бе ды с HE AD-ом
чего
источник

ML

Mike Lubinets in rust_offtopic
Мне помогло
источник

А⚙

Антон ⚙️ in rust_offtopic
Doge Shibu
Немерль понимал
Так им никто и не пользовался
источник

DS

Doge Shibu in rust_offtopic
Антон ⚙️
Так им никто и не пользовался
А жаль
источник

S

Sergey in rust_offtopic
Антон ⚙️
Ловите наркомана!
Ловите наркотики
источник

DS

Doge Shibu in rust_offtopic
Он лучше остальных языков под дотнет был
источник

А⚙

Антон ⚙️ in rust_offtopic
Ты сейчас серьёзно?
источник

r

red75prime in rust_offtopic
Alexander Krivitskiy
Блин, уже проснулись сильно типизированные участники чата, но я ещё один разок наброшу. А знаешь почему их линчевали? Потому что это было зверьё ебанное. Их только в прошлом веке выдрессировали приемлимыми для восприятия белого человека. И теперь призывают относится нормально. Хочешь узнать как зарождается расизм - поищи видосики как китайцы собак живьём у себя на рынках варят. Я думаю, что если какое-то западное гос-во объявит войну Китаю, то будет эти видео по всем каналам для своих граждан крутить.
Белые звери таки тоже были
источник

ML

Mike Lubinets in rust_offtopic
Антон ⚙️
Ты сейчас серьёзно?
Ну ты не уточнял в каком языке макросы
источник

А⚙

Антон ⚙️ in rust_offtopic
Вафель
чего
HEAD = башка
источник

В

Вафель in rust_offtopic
Mike Lubinets
Возьми какой-нибудь простой макрос за пример и разберись как он работает
Я взял несколько и они все написанны по разному :''')

Пробовал сделать seq! из dtolnay's workshop, но не осилил. Что-то там не заводиться и оно не может одновременно работать в item position и в expression position
источник

В

Вафель in rust_offtopic
Антон ⚙️
HEAD = башка
А, лол. А я думал что за не реклама....
источник

ML

Mike Lubinets in rust_offtopic
Вообще все макросы сводятся к тому что ты парсишь вход через proc_macro/2, и дальше обходишь AST, генерируя через quote поток токенов, заменяя входящий AST на твой.
источник

ML

Mike Lubinets in rust_offtopic
1 и 2 взаимно совместимы, емнип, разница только в том какие библиотеки ты используешь.
2 отличается тем, что его можно юзать из build.rs
источник

В

Вафель in rust_offtopic
Mike Lubinets
Вообще все макросы сводятся к тому что ты парсишь вход через proc_macro/2, и дальше обходишь AST, генерируя через quote поток токенов, заменяя входящий AST на твой.
> через proc_macro/2
Так что надо и когда юзать то? :D
источник

DS

Doge Shibu in rust_offtopic
Mike Lubinets
Вообще все макросы сводятся к тому что ты парсишь вход через proc_macro/2, и дальше обходишь AST, генерируя через quote поток токенов, заменяя входящий AST на твой.
И это плохо, имхо. Макросы должны работать с тем АСТ, что им компилятор предоставляет.

Вот этот ручной разбор - это прям закат солнца вручную .
источник

ML

Mike Lubinets in rust_offtopic
Doge Shibu
И это плохо, имхо. Макросы должны работать с тем АСТ, что им компилятор предоставляет.

Вот этот ручной разбор - это прям закат солнца вручную .
У компилятора нет стабильного AST
источник

DS

Doge Shibu in rust_offtopic
Mike Lubinets
У компилятора нет стабильного AST
Значит и макросы должны быть нестабильными
источник

ML

Mike Lubinets in rust_offtopic
Mike Lubinets
Вообще все макросы сводятся к тому что ты парсишь вход через proc_macro/2, и дальше обходишь AST, генерируя через quote поток токенов, заменяя входящий AST на твой.
Поправил: не syn а quote
источник