wg-allocators
rust-blog
wg-allocators | rust-blog | |
---|---|---|
18 | 63 | |
199 | 6,622 | |
0.0% | - | |
0.0 | 5.0 | |
about 3 years ago | about 2 months ago | |
Rust | ||
- | 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.
wg-allocators
-
Anouncing `stabby` 1.0!
Tracking issue for Storages, and a TLDR on what it is
- What backwards-incompatible changes would you make in a hypothetical Rust 2.0?
-
Custom allocators in Rust
I must have gotten confused, since from your brief discussion with CAD97 it seemed like there was a way for the concepts to live separately and that Storage could complicate things in comparison. But if implementing Allocator in terms of Storage is basically equivalent and Storage is flexible enough that I could write one to pass memory out to unsafe code, that works just as well.
-
Zig and Rust
https://rust-lang.github.io/rfcs/1974-global-allocators.html was the original RFC.
My vague understanding is that there's a working group https://github.com/rust-lang/wg-allocators
The further I get from working on Rust day to day, the less I know about these things, so that's all I've got for you.
-
Rust went from side project to world’s fastest growing language
If you self-reference using pointers and guarantee the struct will never move, you don't even need unsafe. If you self-reference using offsets from the struct's base pointer, you need a splash of unsafe but your struct can be freely moved without invalidating its self-referential "pointers".
Per-struct allocators are a work in progress (see https://github.com/rust-lang/wg-allocators/issues/48).
Not sure what "non thread local addresses" means, but in my experience Rust is pretty good at sending data between threads (without moving it).
- Rust is coming to the Linux kernel
-
FunDSP 0.1.0, an audio processing and synthesis library
Besides that allocation is not really a problem for no_std. It's resolved by using alloc crate directly, so anything usable with custom allocators is supported. Example in dasp sources - https://github.com/RustAudio/dasp/blob/master/dasp_slice/src/boxed.rs#L14-L19 . Also worth looking at this issue to check what is usable already - https://github.com/rust-lang/wg-allocators/issues/7
-
Andrew Kelley claims Zig is faster than Rust in perfomance
But that's on track for rust as well: https://github.com/rust-lang/wg-allocators/issues/7
-
Which important features from C/C++ are missing in Rust
Here: https://github.com/rust-lang/rfcs/pull/1398. there is also a working group for this: https://github.com/rust-lang/wg-allocators.
-
Box<T> allocator override?
It's unstable. wg-allocators contains discussions about design and a tracking issue for collections that need an allocator https://github.com/rust-lang/wg-allocators/issues/7
rust-blog
- Common Rust Lifetime Misconceptions
-
What are some good resources for experienced programmers new to Rust to learn about lifetimes?
Hands down the best resource (after you've had sufficient experience with Rust, especially so) - https://github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md
-
How can a parameter type `T` be not long living enough?
I really really recommend reading this to understand lifetimes and generics in Rust better.
- What learning resource has had the greatest impact in elevating your understanding and knowledge of Rust?
- I do not understand why Sized bound prevents a trait from being used as a trait object.
-
Lifetime annotations: why doesn't Rust?
It's already now that the elided lifetimes are not always correct, as pointed out in Common Rust Lifetime Misconceptions (No 5) by pretzelhammer.
-
Anything C can do Rust can do Better
Common Rust Lifetime Misconceptions - kirill
-
Resources on Lifetimes
Probably a bit more advanced than what you asked about, but still possibly useful: Common Rust Lifetime Misconceptions by /u/pretzelhammer.
-
Borrow checker puzzles
This helped me a lot understanding Rust ownership rules and lifetimes: https://github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md
What are some alternatives?
www.ziglang.org
zero-to-production - Code for "Zero To Production In Rust", a book on API development using Rust.
serde-plain - A serde serializer that serializes a subset of types into plain strings
fluvio - Lean and mean distributed stream processing system written in rust and web assembly.
enum-map
static-analysis - ⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.
rules_rust - Rust rules for Bazel
Rustlings - :crab: Small exercises to get you used to reading and writing Rust code!
cryptography - cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.
mini-redis - Incomplete Redis client and server implementation using Tokio - for learning purposes only
dpp - Directly include C headers in D source code
polonius - Defines the Rust borrow checker.