genawaiter
lang-team
Our great sponsors
genawaiter | lang-team | |
---|---|---|
11 | 25 | |
428 | 190 | |
- | 2.6% | |
0.0 | 7.8 | |
almost 2 years ago | 27 days ago | |
Rust | JavaScript | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
genawaiter
-
Letlang — Roadblocks and how to overcome them - My programming language targeting Rust
Yes, Letlang is translated to Rust and the runtime is implemented in Rust, using tokio and genawaiter. The compiler itself is also built in Rust.
-
Hey Rustaceans! Got a question? Ask here (7/2023)!
(note that genawaiter itself doesn't support no_std environments, but there's a merge request for that.)
- What is the next big thing coming to Rust
-
A personal list of Rust grievances
> `async` to make fake generators.
Genawaiter[0] is one of them.
-
Generalizing coroutines - The Rust Language Design Team
Are you aware of the genawaiter crate?
-
Do not wait for Rust generators
A warning though: genawaiter doesn't seem to be maintained. The last commit is 2 years old, and issues are not active (I opened one that I find somewhat critical: https://github.com/whatisaphone/genawaiter/issues/35).
-
Hey Rustaceans! Got an easy question? Ask here (46/2021)!
There's e.g. https://github.com/whatisaphone/genawaiter, but you can also use yield directly (https://doc.rust-lang.org/beta/unstable-book/language-features/generators.html).
- What feature would you like to see implemented/stabilized?
- What's the outlook on generator functions in Rust?
-
Generators in Rust?
If you're interested in something that can be used right now, on stable, you should take a look at the genawaiter crate, it reimplements generators with async.
lang-team
-
Totally_safe_transmute, Line-by-Line
The Rust team did a deep dive on the bug in 2020, which has some more details that might be helpful to understanding what's going on: https://github.com/rust-lang/lang-team/blob/master/design-me....
-
Using enums to represent state in Rust
I haven't been following this closely, so I looked it up and it looks like that's not going to happen for the foreseeable future unfortunately:
https://github.com/rust-lang/lang-team/issues/122
Kind of a shame, but wrapper types work well enough that I understand. It does look like if there was someone with enough resources to make it happen that they'd be receptive to it.
- Should Error enums be `non_exhaustive`?
-
What features would you like to see in rust?
Did you read the link the original comment posted? I think that explains the idea rather well https://github.com/rust-lang/lang-team/issues/122
-
Pattern matching tuple variant of enum without deconstructing tuple
A quick search pulled up this as a likely candidate for most recent discussion of it but it goes back at least to 2016 with this RFC.
-
State Machines III: Type States
There have been at least one proposal and RFC in the past that seem to be deferred or closed due to bandwidth issues.
-
The type system is a programmer's best friend
That's what Rust does, and it's considered a problem (that the devs are regrettably unable to reasonably solve) rather than a good thing.
-
In-line crates
Lang had some conversations about this: https://github.com/rust-lang/lang-team/issues/139
-
LKML: Linus Torvalds: Re: [PATCH v9 12/27] rust: add `kernel` crate
The design of Rust panics unconditionally aborts the program if you panic while unwinding, and some people even want to abort if you panic in Drop.
-
Isolates, MicroVMs, and WebAssembly (In 2022)
> Better interoperability
AFAIK, the examples you give all target a basic C ABI [0] or can be made to target the same ABI. In Rust, it means targeting wasm32-unknown-emscripten
The Rust team is also working on a "WASM ABI"[1] which would be useful in taking advantage of stuff like multi-value returns, and other compilers could just choose to target that. More likely, the C ABI on WASM will be updated to account for missing features, and that'll be the standard for interoperability in the WASM ecosystem.
[0]: https://github.com/WebAssembly/tool-conventions/blob/main/Ba...
[1]: https://github.com/rust-lang/lang-team/blob/master/design-me...
What are some alternatives?
rust-rdkafka - A fully asynchronous, futures-based Kafka client library for Rust based on librdkafka
Idris2 - A purely functional programming language with first class types
kbio - Another Async IO Framework based on io_uring
diamond-types - The world's fastest CRDT. WIP.
polonius - Defines the Rust borrow checker.
rfcs - RFCs for changes to Rust
rocket-lamb - A crate to allow running a Rocket webserver as an AWS Lambda Function with API Gateway or an Application Load Balancer
semver-trick - How to avoid complicated coordinated upgrades
generator-rs - rust stackful generator library
isahc - The practical HTTP client that is fun to use.
srgb.rs - Implementation of sRGB primitives and constants
rustc-dev-guide - A guide to how rustc works and how to contribute to it.