rfcs
rust
| rfcs | rust | |
|---|---|---|
| 701 | 2,958 | |
| 6,501 | 113,755 | |
| 0.8% | 1.1% | |
| 9.2 | 10.0 | |
| 5 days ago | 4 days ago | |
| Markdown | Rust | |
| Apache License 2.0 | 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.
rfcs
-
AI won’t replace you, but bad AI habits will
GitHub RFC templates structure your design docs like the pros.
There’s a reason tools like GitHub RFC templates exist: structure matters. AI is great at scaffolding, but you need to provide the judgment and the trade-offs.
-
The limits of Rust, or why you should probably not follow Amazon and Cloudflare
Rust had that, but decided it wasn’t a good enough fit. Which was the motivation to keep exploring and land on the current async implementation which scales from embedded to servers with minimal overhead.
History:
* This RFC proposes to remove the runtime system that is currently part of the standard library, which currently allows the standard library to support both native and green threading.*
https://github.com/rust-lang/rfcs/blob/master/text/0230-remo...
-
I Curated 106 Software Design Resources and Ranked What Actually Matters
I found 14 real-world ADR examples — from Kubernetes KEPs to Spotify's ADR practice to Rust RFCs. Reading how top engineering teams document decisions taught me more than any course.
-
Rust Errors Without Dependencies
> It may just be a matter of perspective -- if you don't count rust pre 1.0, then yeah it "never" involved backtrace.
Yes. I'm only counting what has been part of the stable API since Rust 1.0.
I agree that following the stabilization path and future direction of a feature can be difficult.
> Because if the only purpose was error chains, it could have been in core on the day of rust 1.0, as it is today. I think what actually happened is `fn backtrace(&self) -> Option` was removed shortly before 1.0, but there were some misgivings about that and some on the core team wanted to bring that back eventually. And that was the main reason that it could not move to core, because that would make it a breaking change to bring `fn backtrace` back. At least that's what I remember from PRs I followed at the time. (There may have been other reasons besides this though?)
The only purpose is not chaining. Backtraces were definitely a desirable part of it! But we wanted to move `Error` to `core` and having backtraces be tightly coupled to `Error` would not allow that. As far as I remember, that was always the tension. To my memory, it wasn't until Jane wrote down the "generic member access" direction[1] for the `Error` trait that this tension was finally broken.
[1]: https://github.com/rust-lang/rfcs/pull/2895
-
The end of the kernel Rust experiment
It's being worked on! https://github.com/rust-lang/rfcs/pull/3470
- Zig Builds Are Getting Faster
-
Why Zig Feels More Practical Than Rust
Yes of course, although, as I said in a sibling comment, it's a bit convoluted as an example. The fundamental problem is that the xor mutable and shared reference rule gets in your way when you access separate fields through &self and &mut self even if the borrows are non-overlapping.
There has been discussion to solve this particular problem[0].
0: https://github.com/rust-lang/rfcs/issues/1215
-
Rust Doesn’t Need a Garbage Collector — Here’s Why
RFC 3201 – Async Drop – Talks about the idea of making Drop support async. Not in Rust yet, but might be in the future.
- Rust in 2025: Targeting foundational software
rust
- Add basic "comptime" fn implementation (Rust)
-
Theseus: Translating Win32 to WASM
I am unfamiliar with this project and only skimmed this post but if this uses Rust for the main binary blob it should be possible to have the main thread blob shared with the other threads even with the blocking.
The blog post cites the concern that malloc could block, however when Rust's standard library is compiled with support for atomics enabled the Rust allocator's locking implementation busy loops instead of waiting on the main thread.
See the comment in the Rust source here: https://github.com/rust-lang/rust/blob/77a4fb62f70c6ea05e182...
This means that if care is taken to avoid any other code that makes the main thread wait it should be possible to use a single shared binary instead of the more convoluted approach presented in the blog post.
-
Performance of Rust Language [pdf]
Whoops! Although there is no public contract between HIR and MIR, the public part was not relevant here. What I wanted to highlight is that if they'd want to add proper proof machinery to eliminate low-level safety checks, they'd have to do it at: surface language, which is already complex enough; then HIR->MIR boundary with clean provenance (which I think current MIR would collapse too aggressively) and which may require a much clearer contract; then, even if they do the full front- and mid- ends properly, if you leave it up to LLVM, it ends up in SCEV, which is language neutral and would not be a good fit to support the proof obligations that would be specific to Rust.
I dug up a proposal from 2021 around bounds check hoisting in MIR, but from the discussion, details are pretty thorny [0]. It's narrower than general proofs but the frictions are very similar. The easiest example that shows HIR -> MIR difficulties is the part around `for i in 0..32 { a[i] = 1; }`. At the source level the range fact is super obvious, but after the for-loop/iterator lowering the MIR optimiser has to recover that `i` comes from exactly that range before it can turn 32 checks into the one hot-path check. Then it also would have to check for panic strategy to maintain the correct behaviour after optimisation.
[0] https://github.com/rust-lang/rust/issues/92327
- A PR proposes to stabilize the Rust allocator API
- Fix pathological performance in trait solver
-
Deploying a Rust MCP Server to Amazon EKS
Rust
- Bun is being ported from Zig to Rust
- I rewrote mp3gain in Rust — 'compatible' turned out to be three different things
-
Bugs Rust Won't Catch
> why the standard library fs primitives don't use `at` functions under the hood
In this case it wouldn't seem to make sense to use `at` functions to back the standard file opening interface that Rust presents, because it requires different parameters, so a different API would need to be designed. Someone above mentioned that such an API is being considered for inclusion in libstd in this issue: https://github.com/rust-lang/rust/issues/120426
-
War Story: A Rust 1.94 Panic Caused Our API Gateway to Crash During Black Friday Traffic
⭐ rust-lang/rust — 112,402 stars, 14,826 forks
What are some alternatives?
rust-playground - The Rust Playground
carbon-lang - Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
polonius - Defines the Rust borrow checker.
zig - Moved to Codeberg
unsafe-code-guidelines - Forum for discussion about what unsafe code can and can't do
go - The Go programming language