ghost-collections
orz
ghost-collections | orz | |
---|---|---|
8 | 5 | |
175 | 794 | |
- | - | |
1.8 | 4.9 | |
almost 3 years ago | 2 months ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
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.
ghost-collections
-
`alternator` gives an async function access to data but gives it back on await points
Apart from that, I goofed around and implemented some collections on top, to test the ergonomics.
-
Is it possible to solve LeetCode problem#141 Linked List Cycle using Rust?
I read a while ago about a paper on a concept called GhostCell, and i believe it solves this problem in safe rust with zero runtime overhead. I just found this implementation, but I didn't have time to read it: https://github.com/matthieu-m/ghost-collections/blob/master/src/linked_list.rs Anyway, from my understanding, if you want to implement some sort of non trivial data structure in rust efficiency, you have to use a little bit of unsafe code. I believe this isn't the case thanks to GhostCell (if my understanding of the problem it aims to solve is correct)
-
std::map::find_if()?
In the tripod_tree container -- just a binary tree, really -- I exposed a cursor modeled after Rust's LinkedList Cursor.
-
Why can't the compiler implement RefCell, and have it be a compile-time issue?
GhostCell is powerful enough to implement doubly linked lists in safe Rust which is quite a feat. https://github.com/matthieu-m/ghost-collections
-
GhostCell: Separating Permissions from Data in Rust
May I interest you in https://github.com/matthieu-m/ghost-collections ?
-
A Firehose of Rust, for busy people who know some C++
It's fairly complicated: https://github.com/matthieu-m/ghost-collections/blob/master/src/linked_list.rs
-
The Rustonomicon
> I think linked lists are a great example of something that causes Rust's ownership model to fall apart. I've seen it done with tradeoffs, but it's something that you're best off implementing with pointers and unsafe blocks
It's worth checking https://plv.mpi-sws.org/rustbelt/ghostcell/ and https://github.com/matthieu-m/ghost-collections for an alternate approach that's currently being worked on.
Quite non-intuitive and it has yet to be proven 100% safe, plus it doesn't actually obviate everything you might want to do w/ potentially-aliased pointers, meaning that some desirable patterns are still off-limits - but it has the best chance of working out so far.
-
Is it possible to write overhead-free cyclic data-structures in safe, stable Rust?
I managed to implement the basic operations of the LinkedList this way, as well as a full Cursor, then I hit a wall.
orz
- Compressor in Rust; compresses as good as “ZSTD -19”, while being 10 times fast
- This shouldn't have happened: A vulnerability postmortem - Project Zero
- A Firehose of Rust, for busy people who know some C++
-
Modern C++ Won't Save Us (2019)
I've seen a lot of Rust programs using 100% or nearly 100% of unsafe. richox/orz: a high performance, general purpose data compressor written in rust (github.com) An example is this orz project. unsafe all code. What's the point of Rust anymore if you use unsafe in all functions.
What are some alternatives?
qcell - Statically-checked alternatives to RefCell and RwLock
compress-tools-rs - A Swiss Army Knife for handling compressed data in Rust
pasts - Minimal and simpler alternative to the futures crate.
CppCoreGuidelines - The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
static-rc - Compile-time reference counting
fast_io - fast_io is a C++ general-purpose exception-safe RAII I/O library based on C++ 20 Concepts. It is at least ten times faster than cstdio or iostream.
cargo-geiger - Detects usage of unsafe Rust in a Rust crate and its dependencies.
nomicon - The Dark Arts of Advanced and Unsafe Rust Programming
gecko-dev - Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html