Forwarded from Jack
Дык даже в https://github.com/async-rs/async-std/pull/123 и то с умом подошли.
использовали готовый код
pub async fn poll_fn<F, T>(f: F) -> T
where
F: FnMut(&mut Context<'_>) -> Poll<T>,
{
futures::future::poll_fn(f).await
}
использовали готовый код
Forwarded from Jack
Так подожжи. у них в зависимостях все равно futures и код сильно от них зависит. Зачем переписывать футуры, если они у тебя уже в зависимостях?
AT6MB2G MQ26O2LI:
vec!["a"].into_iter().map(|s| s.to_owned()).collect();
реально больше никак мне не создать &Vec<String> ?
^^^^^^^ a collection of type &std::vec::Vec<std::string::String> cannot be built from std::iter::Iterator<Item=std::string::String>
хммммм
Roman Proskuryakov:
Ну ты в переменную положи вектор, а потом уже от переменной возьми ссылку.
AT6MB2G MQ26O2LI:
ш-шта
Roman Proskuryakov:
let vec: Vec<String> = vec!["a"].into_iter().map(|s| s.to_owned()).collect();
let vec_ref = &vec;
AT6MB2G MQ26O2LI:
а иначе точно никак? както некраисво
Roman Proskuryakov:
Что значит некрасиво?
AT6MB2G MQ26O2LI:
ну в две строчки
Roman Proskuryakov:
.collect() создает временную переменную. Ты хочешь от временной переменной взять ссылку. Она сразу сдохнет после точки с запятой ; и твоя ссылка будет дохлая
поэтому раст тебя от этого защищает
AT6MB2G MQ26O2LI:
ух ясно спасибо)
https://t.iss.one/rust_beginners_ru/33912
vec!["a"].into_iter().map(|s| s.to_owned()).collect();
реально больше никак мне не создать &Vec<String> ?
^^^^^^^ a collection of type &std::vec::Vec<std::string::String> cannot be built from std::iter::Iterator<Item=std::string::String>
хммммм
Roman Proskuryakov:
Ну ты в переменную положи вектор, а потом уже от переменной возьми ссылку.
AT6MB2G MQ26O2LI:
ш-шта
Roman Proskuryakov:
let vec: Vec<String> = vec!["a"].into_iter().map(|s| s.to_owned()).collect();
let vec_ref = &vec;
AT6MB2G MQ26O2LI:
а иначе точно никак? както некраисво
Roman Proskuryakov:
Что значит некрасиво?
AT6MB2G MQ26O2LI:
ну в две строчки
Roman Proskuryakov:
.collect() создает временную переменную. Ты хочешь от временной переменной взять ссылку. Она сразу сдохнет после точки с запятой ; и твоя ссылка будет дохлая
поэтому раст тебя от этого защищает
AT6MB2G MQ26O2LI:
ух ясно спасибо)
https://t.iss.one/rust_beginners_ru/33912
Telegram
AT6MB2G MQ26O2LI in Rust Beginners
vec!["a"].into_iter().map(|s| s.to_owned()).collect();
реально больше никак мне не создать &Vec<String> ?
^^^^^^^ a collection of type &std::vec::Vec<std::string::String> cannot be built from std::iter::Iterator<Item=std::string::String>
хммммм
реально больше никак мне не создать &Vec<String> ?
^^^^^^^ a collection of type &std::vec::Vec<std::string::String> cannot be built from std::iter::Iterator<Item=std::string::String>
хммммм
Casual tears:
Разве? Вот в русте в стандартной библиотеке мапа на основе B дерева и судя по вот этим бенчам: https://github.com/Rufflewind/bench-maps оно намного лучше, чем красно-черное.
Там же меньше дереференсов надо, более кэш-френдли. С чего бы ему быть медленнее?
Собственно в официальной доке именно это и написано: https://doc.rust-lang.org/std/collections/struct.BTreeMap.html
Разве? Вот в русте в стандартной библиотеке мапа на основе B дерева и судя по вот этим бенчам: https://github.com/Rufflewind/bench-maps оно намного лучше, чем красно-черное.
Там же меньше дереференсов надо, более кэш-френдли. С чего бы ему быть медленнее?
Собственно в официальной доке именно это и написано: https://doc.rust-lang.org/std/collections/struct.BTreeMap.html
GitHub
GitHub - Rufflewind/bench-maps: Benchmark of map (associative array) implementations in C++ and Rust
Benchmark of map (associative array) implementations in C++ and Rust - Rufflewind/bench-maps
Forwarded from Антон
<shameless_plug>github.com/AnthonyMikh/tttxo</shameless_plug>
GitHub
AnthonyMikh/tttxo
Play into tic-tac-toe - right from your command line! - AnthonyMikh/tttxo
Forwarded from Leonid 🦇 Onokhov
Ненавижу хаскелистов за это вот
newtype Foo m a = Foo { ReaderT FooEnv m a }
doSomething :: MonadIO m => Blah -> BlahBlah -> Foo m aForwarded from Leonid 🦇 Onokhov
Зачем мне ещё один сраный уровень трансформеров? А? А?? АААА?
Forwarded from Leonid 🦇 Onokhov
newtype AppT m a
= AppT
{ unAppT :: ReaderT YourStuff m a
} deriving (Functor, Applicative, Monad, etc)
vs
newtype AppM a = AppM (ReaderT WhateverBullshit IO a)
parket:
@lonokhov не мог бы ты развить мысль, пожалуйста
λeonid Onokhov:
очень просто. не надо лепить трансформер где не надо
@lonokhov не мог бы ты развить мысль, пожалуйста
λeonid Onokhov:
очень просто. не надо лепить трансформер где не надо
Forwarded from Αλεχ Zhukovsky
Why Go and not Rust? | Loris Cro's Personal Blog
https://kristoff.it/blog/why-go-and-not-rust/
https://kristoff.it/blog/why-go-and-not-rust/
kristoff.it
Why Go and not Rust?
What's the role of Go in a universe where Rust exists?