Crate of the Week

I'd like to self-nominate coprosize, which has just reached v1.0.0. It's just a tool for the study of dino dung :poop: but this is the only computer program of this kind in any programming language. :crab:

10 Likes

I like to nominate bevy_reflect - especially for its TypeUuid that also supports generics and helps a lot building runtime composable structures! (Note that generic supporting TypeUuid is currently unreleased AFAICS)

1 Like

Shame: A shader EDSL for writing render and compute pipelines in rust.

4 Likes

dacquiri - Rust just stumbled upon this and it looks super interesting

2 Likes

I'd like to self-nominate my newly published crate bnum. It provides arbitrary, fixed size signed and unsigned integer types that extend the functionality of Rust's primitive integers, using const generics.

2 Likes

I’d like to self-nominate cismute, which provides specialization-like hack on stable Rust.

2 Likes

Cool!, I'm your first :star2: :slight_smile:

I'd like to self nominate thunderStorm - A crate for scaffolding Node.js backend applications

1 Like

I'll need to take a closer look at your crate but it looks amazing! Nice video documentation--in future, I'll possibly think of a similar solution for my crates.

1 Like

I apologize to Goldstein and to the thread for this, but, since I can't take back my "like" of cismute and thus am in the position of permanently being listed as "liking" it, I feel obliged to state that I now question the soundness of that crate and would not have "liked" it had I looked at its source code first. I apologize to Goldstein for being negative about their crate, and I apologize to the thread for being off-topic.

I think I'll also try to stop "liking" posts now that I've learned that it becomes permanent.

I believe I’ve addressed the soundness concern in reply to your issue. In sum, the same concern applies to the standard library, http and any dependent crates like hyper, actix-web or reqwest, and also any other crates that use Any::downcast_{ref,mut}(). Considering this and the fact that it’s unlikely to be a real issue, I think it’s safe to use the crate.

Of course, you have every right to have this concern and to like/unlike the crate because of it.

Thank you :relaxed:

I'd like to self-nominate cargo-semver-checks — a CI-friendly cargo test for preventing semver violations in your crate's API. Only ~a week old, and one of my first "real" crates!

3 Likes

I propose cargo-semver-checks - Scan your Rust crate for semver violations.

2 Likes

Great timing! Your post appeared on my screen not even a second after I submitted mine. Thanks for the nomination :blush:

1 Like

I'd like to self-nominate quickenv, an alternative implementation of the direnv environment manager that doesn't hook into the user's shell and favors speed over convenience.

See also the lobste.rs thread for discussion.

Hm, this does not appear to have been released anywhere (not on crates.io but apparently also neither on GitHub). Also the repository is only a few days old?

you are right, I pushed a version to crates.io.

I'd like to self-nominate musclecalc, which is a fitness tool. :weight_lifting_man: It remains at an early stage of development and more features will be available soon but I consider this crate important because while many crates are created by programmers strictly for programmers, I want to make Rust applications available to a much wider public. :slightly_smiling_face:

3 Likes

I'd like to self-nominate:

  • It's a "concrete / real-life" result of using the #[gat] macro[1] to feature GATs on stable Rust (plus, internally, a pinch of ::polonius-the-crab to get polonius-like borrow-checking on stable Rust as well)
  • We can thus write things like .windows_mut(), which no other "flexible iterator" crate could express yet (afaik).

  • From what I've heard, writing certain parser implementations can be quite convenient with lending iterators (I'd welcome feedback from those having had the chance to experiment with it!).


[META]


  1. these #[gat] annotations are currently exposed and required, but they are expected to eventually smoothly disappear once generic_associated_types makes it to stable / through a Cargo feature opt-in. ↩︎

  2. ↩︎

17 Likes