|
You are here |
blog.yoshuawuyts.com | ||
| | | | |
tmandry.gitlab.io
|
|
| | | | | For just about as long as I've been working on async Rust, the topic of scoped tasks has come up. These areasync tasks that borrow from their environment, and they would come in handy in a lot of situations. Last year the standard library stabilized thread::scope which allows synchronous threads to do this. You could imagine a similar API, but with async: asyncfn fanout(data: &Vec){task::scope(|s|{// Spawn subtasks to run in parallel. | |
| | | | |
lewissbaker.github.io
|
|
| | | | | A tweak was made to the design of coroutines in 2018 to add a capability called "symmetric transfer" which allows you to suspend one coroutine and resume another coroutine without consuming any additional stack-space. The addition of this capability lifted a key limitation of the Coroutines TS and allows for much simpler and more efficient implementation of async coroutine types without sacrificing any of the safety aspects needed to guard against stack-overflow. In this post will attempt to explain the stack-overflow problem and how the addition of this key "symmetric transfer" capability lets us solve this problem. | |
| | | | |
borretti.me
|
|
| | | | | A survey of type systems for memory safety. | |
| | | | |
leshow.github.io
|
|
| | | I'd like to take a change for this blog and leave the more bleeding edge topics to focus on perhaps one of the most important things one can do in the Rust community: teaching new Rust developers. I've been thinking about how best to approach teaching Rust to those used to working with Java, in order to bring a group of developers up to speed with the language for a new project. | ||