Size: a a a

2021 April 23

B

Börgar in rust_offtopic
а если я это накину на impl то тогда будет та же нечитаемая хрень с syn
источник

B

Börgar in rust_offtopic
@technic93 во короче
источник

AN

Alex Noname in rust_offtopic
Как то стрёмно получается
источник

AN

Alex Noname in rust_offtopic
Вот тут Полунин через hlist-ы что то похожее делает. https://github.com/p0lunin/teloc
источник

AN

Alex Noname in rust_offtopic
Странно что у нас не получилось тогда. Хм... Ладно надо подумать потом.
источник

B

Börgar in rust_offtopic
через хлисты уже не так хорошо выходит, у екстфилдов такая особенность выходит, что можно проверять наличие нужных расширений перед вставкой нового
источник

B

Börgar in rust_offtopic
я только сегодня вспомнил что мне это надо
источник

B

Börgar in rust_offtopic
а тогда все вышло, но мы остановились на варианте с екстфилдвами
источник

AN

Alex Noname in rust_offtopic
Ох хо хо
источник

AN

Alex Noname in rust_offtopic
Просто так прлпатчить impl блок это прям жёстко.
источник

B

Börgar in rust_offtopic
щито поделать, десу
источник

B

Börgar in rust_offtopic
а вообще с прикостыливанием impl проще, там можно quote использовать, а если к самому impl применять то там придется вонто все только еще раз и другое
источник

AN

Alex Noname in rust_offtopic
Ну о том и речь. Лучше генерить что то новое на основе входных данных. А не менять уже существующее. Иначе получается и для пользователя не очень понятно. Он объявил одну функцию а она стала другой.
источник

B

Börgar in rust_offtopic
источник

B

Börgar in rust_offtopic
так ладно, я спать, уже не могу думать
источник

B

Börgar in rust_offtopic
спасибо что уделил время, до завтра
источник

AN

Alex Noname in rust_offtopic
Я уже тоже сплю.
источник

B

Börgar in rust_offtopic
спокойной
источник

TK

Traveller Kolsky in rust_offtopic
Понятно. Короче, можешь всё выкинуть и оставить один процедурный макрос - для генерации типа, или кортежа типов-идентов, три строчки. А остальное сделать при помощи декларативных.
источник

B

Börgar in rust_offtopic
я вот как раз думал сделать псевдокейворд шоб оно работало как
#[ext_field(3)]
Instance<'a, INJECT_TYPES>{
 entry: PhantomData<'a>,
 exts: PhantomData<(INJECT_TPYES)>,
}
превращает в
Instance<'a, T1, T2, T3>{
 entry: PhantomData<'a>,
 _EXTS: PhantomData<(T1, T2, T3>
}
источник