Re:First Rust Code Shows Up in the Windows 11 Kernel
by qaq on Saturday May 13, 2023 @01:40AM
(#35925917)
Any sign of async functions in traits without the macro? One kindah would expect first class async support for web services and honestly something like Swift prob. has better balance between usability and speed for most web services.
[ Parent
| on HN ]
Re:First Rust Code Shows Up in the Windows 11 Kernel
by hgomersall on Saturday May 13, 2023 @01:44AM
(#35925934)
Yeah, it's expected this year: https://blog.rust-lang.org/inside-rust/2023/05/03/stabilizin...
Re:First Rust Code Shows Up in the Windows 11 Kernel
by qaq on Saturday May 13, 2023 @01:58AM
(#35926003)
async fn do_health_check_par<HC>(hc: HC)
where
HC: HealthCheck + Send + 'static,
HC::check(): Send, // <-- associated return type
{
tokio::task::spawn(async move {
if !hc.check().await {
log_health_check_failure().await;
}
});
}
Hmm I think for 95% of the people sticking to something like Swift would work out better for them
Re:First Rust Code Shows Up in the Windows 11 Kernel
by hgomersall on Saturday May 13, 2023 @03:04AM
(#35926289)
Are you saying 95% of use cases require spawning new tasks within the trait implementation based on argument futures? Or are you making a more general comment about rust generics? The MVP looks about as clean as I could hope for most use cases.
Re:First Rust Code Shows Up in the Windows 11 Kernel
by qaq on Saturday May 13, 2023 @03:46AM
(#35926466)
I am saying that in web services you will frequently use async functions that
look like async fn do_blah(db_repo: impl DBRepo ...) {...} and are executed on
async-std or Tokio
Re:First Rust Code Shows Up in the Windows 11 Kernel
by hgomersall on Saturday May 13, 2023 @06:19AM
(#35927058)
That will work. It only needs the additional bounds if you want to spawn that as a new task.
Re:First Rust Code Shows Up in the Windows 11 Kernel
by qaq on Saturday May 13, 2023 @06:52AM
(#35927200)
so if I am doing async calls on DBRepo inside that function they can not be moved to a different thread by a runtime like tokio?
Re:First Rust Code Shows Up in the Windows 11 Kernel
by jen20 on Saturday May 13, 2023 @09:01AM
(#35927966)
One would typically not spawn those - as I understand it you need the type constraints if calling “tokio::spawn” (or some equivalent) but not if simply calling an async function in the same task.
Re:First Rust Code Shows Up in the Windows 11 Kernel
by insanitybit on Saturday May 13, 2023 @09:26AM
(#35928137)
Why is the macro not a solution?