pure VS stable_deref_trait

Compare pure vs stable_deref_trait and see what are their differences.

pure

A static analysis file format checker. (by ronomon)

stable_deref_trait

Unsafe marker trait for types that deref to a stable address (by Storyyeller)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
pure stable_deref_trait
3 4
233 29
0.0% -
10.0 1.2
almost 4 years ago about 1 year ago
C Rust
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

pure

Posts with mentions or reviews of pure. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-27.
  • Hacker News top posts: Jun 27, 2022
    4 projects | /r/hackerdigest | 27 Jun 2022
    Pure: A static analysis file format checker\ (6 comments)
  • Pure: A static analysis file format checker
    4 projects | news.ycombinator.com | 24 Jun 2022
  • How Safe Is Zig?
    8 projects | news.ycombinator.com | 23 Jun 2022
    Wow, that's saying something!

    The tool is called Pure [1]. It was originally written in JavaScript and open-sourced, then rewritten for Microsoft in C (running sandboxed) after it detected David Fifield's “A Better Zip Bomb” as a zero day.

    I'd love to rewrite it in Zig some day to benefit from the checked arithmetic, explicit control flow and spatial safety—there are no temporal issues for this domain since it's all run-to-completion single threaded.

    Got to admit I'm a little embarrassed it's still in C!

    [1] https://github.com/ronomon/pure

stable_deref_trait

Posts with mentions or reviews of stable_deref_trait. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-24.
  • Build a PinePhone App with Zig and Zgt
    6 projects | news.ycombinator.com | 24 Jun 2022
    To elaborate, there is a recurring trend of sound C programs turning into unsound Rust programs, because shared mutability is often necessary but Stacked Borrows places strict conditions on constructing &mut T (they invalidate some but not all aliasing *const T), and it's less ergonomic to work solely in raw pointers and avoid creating Box or long-lasting &mut T (or for intrusive collections, any &mut T at all).

    For example, matklad (the author of rust-analyzer, one of the preeminent Rust programmers and someone I'd expect to get code right) made a recent blog post on "Caches In Rust" (https://matklad.github.io/2022/06/11/caches-in-rust.html). The cache is built around https://docs.rs/elsa, which is built around https://docs.rs/stable_deref_trait/latest/stable_deref_trait..., which is unsound for Box and violates stacked borrows in its current form (https://github.com/Storyyeller/stable_deref_trait/issues/15). However, the rules may be relaxed or more ergonomic alternatives added (https://github.com/rust-lang/unsafe-code-guidelines/issues/3...), it's uncertain right now.

    (Also I go by "they".)

  • How Safe Is Zig?
    8 projects | news.ycombinator.com | 23 Jun 2022
    Unsafe Rust is an esoteric language without iron-clad guarantees, and type-level programming and async Rust is an esoteric metalanguage (https://hirrolot.github.io/posts/rust-is-hard-or-the-misery-...). For example, matklad made a recent blog post on "Caches In Rust" (https://matklad.github.io/2022/06/11/caches-in-rust.html). The cache is built around https://docs.rs/elsa, which is built around https://docs.rs/stable_deref_trait/latest/stable_deref_trait..., which is unsound for Box and violates stacked borrows: https://github.com/Storyyeller/stable_deref_trait/issues/15

    There is a recurring trend of sound C programs turning into unsound Rust programs, because shared mutability is often necessary but it's difficult to avoid creating &mut, and Stacked Borrows places strict conditions on constructing &mut T (they invalidate some but not all aliasing *const T).

  • Blog Post: Caches In Rust
    2 projects | /r/rust | 11 Jun 2022
    The cache is built around https://docs.rs/elsa, which is built around https://docs.rs/stable_deref_trait/latest/stable_deref_trait/trait.StableDeref.html, which is unsound for Box and violates stacked borrows: https://github.com/Storyyeller/stable_deref_trait/issues/15
  • munge 0.2: Destructure raw pointers, MaybeUninit, cells, pins, and more
    2 projects | /r/rust | 9 Apr 2022
    StableDeref has multiple issues under the current Stacked Borrows model: https://github.com/Storyyeller/stable_deref_trait/issues/15

What are some alternatives?

When comparing pure and stable_deref_trait you can also consider the following projects:

lru-rs - An implementation of a LRU cache

mmsd

rust - Empowering everyone to build reliable and efficient software.

zorrow - Borrowchecker in Zig

yboard - Yboard is a multiplayer desktop-like workspace based on Yjs

phosh-antispam

munge

vvmplayer

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

vvmd