Size: a a a

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

2020 April 09

r

red75prime in Rust — русскоговорящее сообществo
Emmanuel Goldstein
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=1696e66db6a5925b11876feebd961114
Я пробовал сделать на macro_rules!{}, но у меня не вышло ничего разумного
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
О, спасибо
Ща попытаюсь понять, как ты это сделал
источник

r

red75prime in Rust — русскоговорящее сообществo
Emmanuel Goldstein
О, спасибо
Ща попытаюсь понять, как ты это сделал
Не было запятой в $($reversed)*
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
А предположим, у меня есть два макроса:
#[macro_export]
macro_rules! a { ... }

#[macro_export]
macro_rules! b {
   () => { a!() }
}

И кто-то из другого модуля делает так:
macro_rules! a { ... }
use module_with_macros::b;
b!();

Какой макрос a!() будет вызван?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Я пробовал полностью указывать путь к a!() через $crate::module_with_macros::a!(), но это не сработало
источник

В

Вафель in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Я пробовал полностью указывать путь к a!() через $crate::module_with_macros::a!(), но это не сработало
Надо просто $crate::a
источник

В

Вафель in Rust — русскоговорящее сообществo
Макросы немного плюют на модули
источник

IB

Ivan Boldyrev in Rust — русскоговорящее сообществo
Кстати, сейчас многие митапы по Rust проводятся онлайн. Я участвовал в паре лондонских, а в сегодняшнем This Week in Rust ссылка на самарский.

https://samara-it-community.timepad.ru/event/1293744/
источник
2020 April 10

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Вафель
Макросы немного плюют на модули
Вот такой внезапный бардак печалит
Ощущение, что скоро придём к ситуации C++
источник

В

Вафель in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Вот такой внезапный бардак печалит
Ощущение, что скоро придём к ситуации C++
Внезапный?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Вафель
Внезапный?
Все вещи живут в том модуле, в котором созданы, кроме внезапно макросов
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Все вещи экспортируются словом pub, кроме макросов, которые экспортируются аттрибутом #[macro_export]
источник

В

Вафель in Rust — русскоговорящее сообществo
Я к тому что всё это вроде давно известно. Макросы немного half-baked
источник

Э

Эрик in Rust — русскоговорящее сообществo
Там проблема в том, что макросы генерируют код.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Вообще, мне кажется, что стоит совершить невозможное и обновить раст до 2.0. Можно было бы часть I-unsound поисправлять, например.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Есть какая-то причина, по которой я должен выбрать nom, а не pest?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Omnomnom!
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Есть какая-то причина, по которой я должен выбрать nom, а не pest?
А какой ответ на обратный вопрос?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Casual tears
А какой ответ на обратный вопрос?
Я только что написал на pest парсер для своего лиспа за, типа, десять минут
источник

Э

Эрик in Rust — русскоговорящее сообществo
Так и пользуйся, кто мешает?
источник