Size: a a a

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

2020 September 07

Э

Эрик in Rust — русскоговорящее сообществo
Можно сделать
[dependencies]
alloc_lib = …


/alloc_lib/src/lib.rs

#![no_std]
extern crate alloc;
pub use alloc;
источник

Э

Эрик in Rust — русскоговорящее сообществo
И делать use alloc_lib::alloc;
источник

L

Lain-dono in Rust — русскоговорящее сообществo
Эрик
Можно сделать
[dependencies]
alloc_lib = …


/alloc_lib/src/lib.rs

#![no_std]
extern crate alloc;
pub use alloc;
Можно, но выглядит так себе
источник

L

Lain-dono in Rust — русскоговорящее сообществo
Хм. По идее так, но оно по какой-то причине ищет и не находит: error[E0463]: can't find crate for std
источник

L

Lain-dono in Rust — русскоговорящее сообществo
Ну логично, для этого таргета нет и не может быть полной std
источник

Wa

Who am i in Rust — русскоговорящее сообществo
Добрый день, есть ли какой-нибудь способ создать FramedRead стрим для файла который параллельно пишется? Чтобы он дожидался завершения?
источник

Wa

Who am i in Rust — русскоговорящее сообществo
(не создавая свою обертку)
источник

H

Hirrolot in Rust — русскоговорящее сообществo
У меня есть структурка (синтаксис моего макроса). В ней Punctuated на первом месте. Но проблема в том, что когда я вызываю макрос и передаю .., то это двоеточие синтаксически разбирается как идентификатор (VariantPath), что приводит к ошибке компиляции. Как можно исправить?
источник

H

Hirrolot in Rust — русскоговорящее сообществo
Вот так происходит синтаксический разбор
источник

Э

Эрик in Rust — русскоговорящее сообществo
Чекнуть на старте, что там не одно только двоеточие?
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Hirrolot
У меня есть структурка (синтаксис моего макроса). В ней Punctuated на первом месте. Но проблема в том, что когда я вызываю макрос и передаю .., то это двоеточие синтаксически разбирается как идентификатор (VariantPath), что приводит к ошибке компиляции. Как можно исправить?
А откуда VariantPath?
источник

H

Hirrolot in Rust — русскоговорящее сообществo
вафель 🧇
А откуда VariantPath?
type VariantPath = Path;
источник

H

Hirrolot in Rust — русскоговорящее сообществo
Сейчас понял, что можно Punctuated<Or<VariantPath, Token![..]>, Token![,]> и дальше самому проверять

UPD: Or такого нет, я перепутал с PatOr
источник

H

Hirrolot in Rust — русскоговорящее сообществo
Но витиевато как-то
источник

Э

Эрик in Rust — русскоговорящее сообществo
Hirrolot
Но витиевато как-то
Что поделать, человеки сложные.
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Hirrolot
У меня есть структурка (синтаксис моего макроса). В ней Punctuated на первом месте. Но проблема в том, что когда я вызываю макрос и передаю .., то это двоеточие синтаксически разбирается как идентификатор (VariantPath), что приводит к ошибке компиляции. Как можно исправить?
Как-то странно, что .. парсится как Path
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Andrey Vlasov
Как-то странно, что .. парсится как Path
Почему?
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
(((Mike Lubinets)))
Почему?
Я думал, что syn воспринимает .. как валидный Path, оказалось, проблема в другом
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Смотря на вопросы в чате по макросам кажется, что проще самому парсить токентри макроса как строку, чем юзать syn
источник

(L

(((Mike Lubinets))) in Rust — русскоговорящее сообществo
Hirrolot
Вот так происходит синтаксический разбор
Отсюда я вижу что наличие VariantPath как первого параметра Punctuated вообще никак не связано с инпутом
источник