#CrateTip

Jan :rust: :ferris:janriemer@floss.social
2025-05-07

Bach - by camshaft

github.com/camshaft/bach

from their README:

"Bach is a #Rust-based framework for simulating and testing complex async/await-based systems in a non-real-time environment. It's capable of modeling network protocols, queueing systems, and concurrent task interactions with testing and visualization tools."

Wow, this crate looks awesome and very underrated (by the number of Github stars).

#RustLang #CrateTip #Async #Fuzzing #SimulationTesting #Network #Concurrency

Jan :rust: :ferris:janriemer@floss.social
2024-03-13

This is wild! 🤯

HappyLock: Deadlock Free Mutexes

github.com/botahamec/happylock

#Rust #RustLang #Concurrency #CrateTip

Jan :rust: :ferris:janriemer@floss.social
2024-02-04

@shuttle

Parsing crates:

chumsky | A #parser library for humans with powerful error recovery

crates.io/crates/chumsky

winnow | making #parsing a breeze

crates.io/crates/winnow

---------------------------------------

Crates in the #async ecosystem:

pollster | an incredibly minimal async executor for #Rust that lets you block a thread until a future completes

crates.io/crates/pollster

smol | A small and fast async runtime

crates.io/crates/smol

#RustLang #Crate #CrateTip

Jan :rust: :ferris:janriemer@floss.social
2023-09-07

@jonas Besides the other answers:

If you are looking for a way to store multiple bool values in a memory efficient way, have a look at bitvec crate:

docs.rs/bitvec/latest/bitvec/

"[bitvec] specializes standard-library data structures (slices, arrays, and vectors of bool) to use _one-bit-per-bool storage_[...]"

"[it] brings the capabilities of C++’s compact bool storage and Erlang’s decomposable bit-streams to Rust" - from their docs

#Rust #RustLang #Crate #CrateTip

Jan :rust: :ferris:janriemer@floss.social
2023-07-23

winnow - Making parsing a breeze (by epage and contributors):

github.com/winnow-rs/winnow

winnow is a parser combinator library written in Rust that started as a fork of #nom.

Not sure yet, if I should migrate from nom 4.* to #winnow or #chumsky. I really do like the good error recovery and parsing capabilities for PEGs of chumsky.🥰

#Rust #RustLang #Parser #CrateTip

Jan :rust: :ferris:janriemer@floss.social
2023-06-04

It's here! 🎉

Announcing match-commutative | A #Rust macro that helps matching on patterns commutatively, reducing the use of duplicated patterns. ✨

This can be useful, if you need to match on `(operant1, op, operant2)`, where `op` builds a commutative relation between `operant1` and `operant2`.

Please see the docs for the actual use case and an example:

docs.rs/match-commutative

Tagging @rjacobson and @tuck, because they've been interested in this. 😉

#RustLang #Crates #CrateTip

Jan :rust: :ferris:janriemer@floss.social
2023-05-21

Oh, this looks fantastic! ✨

#Rust library to compare strings (or any sequences). 25+ algorithms, pure Rust, common interface, #Unicode support.

github.com/life4/textdistance.

Based on popular and battle-tested textdistance #Python library (and written by the same author).

Apparently, it also takes algorithms from the #talisman #JavaScript library, which I wished for to be written in Rust.

github.com/Yomguithereal/talis

#TextProcessing #NLP #TextDiffing #Diff #RustLang #Crate #CrateTip

Jan :rust: :ferris:janriemer@floss.social
2023-05-19

Oh wow, this looks freakin' awesome! 🤩

welds - An async #ORM written in #Rust using the #sqlx framework.

github.com/weldsorm/welds

You can even drop down to low-level sqlx queries, in case you need it:

github.com/weldsorm/welds/blob

#RustLang #CrateTip #Crate

Jan :rust: :ferris:janriemer@floss.social
2023-05-06

As Jon said, HashSet and HashMap iteration ordering is random.

If you need to iterate in insert order on a HashMap/HashSet, you can use a crate called indexmap by @bluss

lib.rs/crates/indexmap

#Rust #RustLang #Collections #CrateTip

Jan :rust: :ferris:janriemer@floss.social
2023-01-11

Ok, this looks really useful:

mirror-mirror | Powerful reflection library for #Rust (by EmbarkStudios)

github.com/EmbarkStudios/mirro

Especially, because Rust is known to lack capabilities of reflection.

And what a cool name! 😅

#Reflection #RustLang #Crate #CrateTip

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst