Size: a a a

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

2020 March 16

В

Вафель in Rust — русскоговорящее сообществo
Денис Котляров
а Cow... нуу..

Cow лучше использовать в ситуации где не важно будешь ли ты мучатся с лайфами но важно не использовать T.. + runtime там немного..

а так, методами runtime enum сравнивать при обращении..

в данной ситуации при возможности T с дженериком. лучше взять T.. но и понимать ограничения надо
Cow нужен когда ты иногда можешь обойтись без алокаций, вот и всё
источник

RP

Roman Proskuryakov in Rust — русскоговорящее сообществo
а подскажите топовые программы типа ripgrep, exa?
источник

RP

Roman Proskuryakov in Rust — русскоговорящее сообществo
где-то недавно был список. хочу каждую пощупать
источник

AL

Andrey @ozkriff Lesnikov in Rust — русскоговорящее сообществo
источник

RP

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

PZ

Pavel Zhigulin in Rust — русскоговорящее сообществo
Денис Котляров
и это нормальная практика:). немного бесящая..

помню были даже пакеты которые через proc_macro делали то что вы делаете для одного типа на автомате (Box. &. &mut. T. ...)

(название могу вспомнить, но оно потребует от вас nightly. а nightly ради сокращения такой кучи. нутакое).

p.s типы &T. &mut T разные..
Надо уже начинать придумывать крутые названия для таких хаков :D Какой-нибудь reference erasure или там Rule of four (T, &T, &mut T, Box<T>) :)
источник

M

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

f

folex in Rust — русскоговорящее сообществo
:D всё что нужно знать про JS
источник
2020 March 17

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
не помню когда последний раз пользовался ду/вайлом, не считая первой лабы по циклам в паскале
источник

D

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

M

Marat in Rust — русскоговорящее сообществo
Alex Zhukovsky
не помню когда последний раз пользовался ду/вайлом, не считая первой лабы по циклам в паскале
ну иногда вылезает потребность, обычно делается в виде loop { ... if condition { break/return/whatever; } }
а так - на 1 statement меньше
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
эмм, лучше +1 стейтмент, но где понятно что происходит
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
а вот в ленивых вычислениях... )
источник

D

Denis in Rust — русскоговорящее сообществo
Alex Zhukovsky
эмм, лучше +1 стейтмент, но где понятно что происходит
согласен
источник

M

Marat in Rust — русскоговорящее сообществo
там еще вариант был для do-foo-while-cond-do-bar:
while {
 foo;
 cond
} {
 bar;
}
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Pavel Zhigulin
Надо уже начинать придумывать крутые названия для таких хаков :D Какой-нибудь reference erasure или там Rule of four (T, &T, &mut T, Box<T>) :)
а чего там придумывать:)...

но да, от раста хотелось бы чегото эдакого на уровне языка, много чего вкусного в nightly но там этого нет. а значит остается ждать
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
что?:) кто-то решил перелистать pascal. delphi... и еще чтото в этом духе.

do while..

а оно так хочется?:)
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
Денис Котляров
а чего там придумывать:)...

но да, от раста хотелось бы чегото эдакого на уровне языка, много чего вкусного в nightly но там этого нет. а значит остается ждать
А что сейчас вкусного а Найтли? Вроде не хватает только GAT, но его ещё нет вообще нигде.
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Mike Lubinets
А что сейчас вкусного а Найтли? Вроде не хватает только GAT, но его ещё нет вообще нигде.
возьмем const fn. я его безумно жду бо надоело делать кучу хаков для этого..

оттуда вытекают даже const imlp которых ваще нет.
это первое.

второе.

помню была прикольная штука возможность задать &self определенный тип типо &self: Arc<Self> и внутри  функции использовать все фитчи оберток.

далее.
на ум приходят мои многие эксперименты с trait. возьмем trait флаги. в стандартном есть Sync. Send это понятно. но! в найтли есть возможность придумать свой флаг и его автоматически реализовать для нужных типов по определенному условию.


еще сюда добавим из трейтов default fn:)  (возможность реализовать трейт для типа по умолчанию. а потом позволить его переопределить). например реализовать трейт для типа T ЛЮБОГО! а потом позволить переопределить этотже трейт для нужного T.

также добавим сюда trait type:))

ну этот список вечен вы чего:))
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Pavel Zhigulin
Надо уже начинать придумывать крутые названия для таких хаков :D Какой-нибудь reference erasure или там Rule of four (T, &T, &mut T, Box<T>) :)
забыл. dyn T тоже отдельный тип.

как и & dyn T. иии пошло поехало:)) &mut dyn T...

такчто список шире чем думаешь:)
источник