Size: a a a

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

2020 October 11

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
cargo rustc ... -- arg1 arg2
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Так, а куда сообщения пропали?
источник

Z

Zymlex (Юрий) in Rust — русскоговорящее сообществo
Mikail Bagishov
cargo rustc ... -- arg1 arg2
да, уже нашёл, спс)
источник

Э

Эрик in Rust — русскоговорящее сообществo
Mikail Bagishov
Так, а куда сообщения пропали?
Тебе показалось :D
источник

Z

Zymlex (Юрий) in Rust — русскоговорящее сообществo
Mikail Bagishov
cargo rustc ... -- arg1 arg2
Похоже из удобных только RUSTFLAGS остаётся :\
источник

Z

Zymlex (Юрий) in Rust — русскоговорящее сообществo
А в корневом toml решения, нет возможности флаги rustc указывать?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Zymlex (Юрий)
А в корневом toml решения, нет возможности флаги rustc указывать?
А зачем, если большую часть можно указывать как обычные фиговины?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Zymlex (Юрий)
А в корневом toml решения, нет возможности флаги rustc указывать?
можно в .cargo/config указать
источник

Z

Zymlex (Юрий) in Rust — русскоговорящее сообществo
Mikail Bagishov
можно в .cargo/config указать
В папке решения?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Да
источник

S

Sergey in Rust — русскоговорящее сообществo
Вопрос по async: как заставить вот такую штуку работать?

// Interface of some_function() is part of trait that needs to be implemented
fn some_function() -> futures::stream::BoxStream<'static, f64> {
  async_std::stream::interval(self.duration)
      .map(async move |_| fetch_price().await )
      .boxed()
}

async fn fetch_price() -> f64;
Я пытаюсь реализовать функцию, которая должна вернуть стрим, которые с интервалов запрашивает цену и возвращает её.
Если бы fetch_price() была не async, то всё хорошо работает через map. Но fetch_price() возвращается Future, и кажется, я немогу сделать что-то элементарное.
источник

p

polunin.ai in Rust — русскоговорящее сообществo
А ты уверен что тебе async_std нужен?
источник

S

Sergey in Rust — русскоговорящее сообществo
В теории можно было бы использовать tokio::timer, но в проекте уже async_std
источник

Э

Эрик in Rust — русскоговорящее сообществo
Sergey
Вопрос по async: как заставить вот такую штуку работать?

// Interface of some_function() is part of trait that needs to be implemented
fn some_function() -> futures::stream::BoxStream<'static, f64> {
  async_std::stream::interval(self.duration)
      .map(async move |_| fetch_price().await )
      .boxed()
}

async fn fetch_price() -> f64;
Я пытаюсь реализовать функцию, которая должна вернуть стрим, которые с интервалов запрашивает цену и возвращает её.
Если бы fetch_price() была не async, то всё хорошо работает через map. Но fetch_price() возвращается Future, и кажется, я немогу сделать что-то элементарное.
async fn some_function() должен заставить эту штуку работать, наверное.
источник

S

Sergey in Rust — русскоговорящее сообществo
Sergey
Вопрос по async: как заставить вот такую штуку работать?

// Interface of some_function() is part of trait that needs to be implemented
fn some_function() -> futures::stream::BoxStream<'static, f64> {
  async_std::stream::interval(self.duration)
      .map(async move |_| fetch_price().await )
      .boxed()
}

async fn fetch_price() -> f64;
Я пытаюсь реализовать функцию, которая должна вернуть стрим, которые с интервалов запрашивает цену и возвращает её.
Если бы fetch_price() была не async, то всё хорошо работает через map. Но fetch_price() возвращается Future, и кажется, я немогу сделать что-то элементарное.
Т.е. мне нужно что-то типа and_then, но такого метода не нахожу :/
источник

Э

Эрик in Rust — русскоговорящее сообществo
А, стоп, трейт.
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Sergey
Т.е. мне нужно что-то типа and_then, но такого метода не нахожу :/
потому что у тебя стрим, может for_each какой-то?
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну, вообще, .map() не принимает асинхронные функции, только обычные.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Вообще, надо fetch_price превратить в обычную функцию с некоторым количеством магии кеширования внутри, чтобы она мгновенно и без асинка отдавала результат, а результат этот асинхронно обновлялся где-то в другом месте сам по себе.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну или fetch_price пусть блочится, а не асинхронно работает.
источник