CATEGORY

Rust patterns 3,906 crates

Data as of 2026-07-25 (crates.io database dump, timestamp 2026-07-25T02:00:36Z). Source: crates.io · db-dump.tar.gz · methodology & corrections.

unique-rcUnique owner Rc, like Box, can Send and DerefMut5,074MITConcurrencyData structures proto-mapper-coreInternal helper library for proto-mapper5,059MITDevelopment toolsRust patterns nblockNon-Blocking Runtime5,056MIT OR Apache-2.0ConcurrencyRust patterns box-dynMacro to derive the implementation of Trait for Box<T: Trait>5,045non-standardRust patterns construeCompile-Time Growable Array: Vec & String for const!5,043GPL-3.0-or-laterData structuresNo standard library enum_unwrapperSmall library for easily converting from user-defined enumerations to the types in the enumeration variants5,014Apache-2.0Development tools::Build UtilsRust patterns catch-unwindWrappers for catch_unwind that handle the edge case of the caught panic payload panicing5,010Zlib OR MIT OR Apache-2.0Development toolsRust patterns bevy_save-erased-serdeType-erased Serialize and Serializer traits4,995MIT OR Apache-2.0EncodingNo standard library traitregCreate a registry of implementations of a trait4,993MIT OR Apache-2.0Rust patterns docify_cloneDocify allows you to live-embed at compile time pieces of code from throughout your project as rust doc examples.4,981MITDevelopment toolsDevelopment tools::Procedural macro helpers ez-errA simple error handling library with support for ergonomic and fast error handling.4,981MITRust patterns seestrpointer-wide nul-terminated strings with ownership semantics4,979Apache-2.0 OR MITDevelopment tools::FFIEmbedded development wire-rsExtensible interface for converting data to/from wire protocol. Supports non-contiguous buffers (including &[IoSlice]) and is…4,972MIT OR Apache-2.0EncodingNo standard library tosserror-deriveDerive implementation of the `tosserror` crate4,966MIT OR Apache-2.0Rust patterns if-noneEarly break/continue/return if an optional expression evaluates to `None`.4,955MPL-2.0Rust patterns diffuser-editEdit diffuser models without GPU and Python4,951MPL-2.0Rust patterns facet-opaqueType-erased pointer helpers for Facet types4,948MIT OR Apache-2.0Development toolsMemory management cismuteSafely transmute type to itself in generic contexts4,947BSD-2-Clause-PatentNo standard libraryRust patterns entrypoint_macrosmacros for entrypoint4,941MITCommand-line interfaceConfiguration exec-rsLibrary that provides utility traits for task execution and, if the sync feature is enabled, the ability to synchronise tasks…4,938Apache-2.0ConcurrencyRust patterns typed_keyStrongly-typed string keys for configuration.4,928MIT OR Apache-2.0ConfigurationNo standard library error-infoCentralized error information ready for internationalization4,923Apache-2.0Internationalization (i18n)Rust patterns try-insert-extExtends various types with `try_insert_with` methods.4,921MITRust patterns fluent-stringFluent versions of String mutation methods4,921Apache-2.0Rust patterns stubitstupid bit library4,901non-standardData structuresEncoding abort-ifVery handy attribute to abort a function at compile-time if something goes wrong4,901MITDevelopment toolsDevelopment tools::Debugging respectorAn extension to add inspect method to Option and Result types.4,897MITNo standard libraryRust patterns rovv_deriveprovide the anonymous row type (poor-man's row polymorphism) in rust4,895MIT/Apache-2.0Rust patterns typed_idsCreate unique identifiers for each type. This newtype approach helps to make illegal states unrepresentable by typing your unique…4,891MITRust patterns drogue-bazaarA place to find tools for building your Rust application4,889Apache-2.0Rust patterns switch_statementA simple switch statement macro4,888non-standardRust patterns ownershipObtaining ownership.4,882MITNo standard libraryNo standard library::No dynamic allocation arc-io-errorA version of std::io::Error implemented on top of Arc instead of Box, making it cloneable.4,867MIT/Apache-2.0Rust patterns maplikeRust traits for abstract containers and operations over them.4,864MIT OR Apache-2.0Data structuresGUI error-exa Rust crate designed for those who desire clear, explicit, and easy-to-use error creation and handling.4,863MITRust patterns fallthroughPattern match with fallthrough, in the style of C switch4,860MIT OR Apache-2.0Rust patterns facet-spezAuto-deref specialization helpers for the Facet reflection system4,860MIT OR Apache-2.0Development toolsRust patterns ps-utilThis crate aims to provide generally helpful utility functions and traits.4,857GPL-3.0-or-laterData structuresRust patterns macron-impl-errorThe implementation of trait Error4,842MITDevelopment toolsRust patterns stackpinCrate for data that should be pinned to the stack at the point of declaration.4,841MIT OR Apache-2.0Rust patterns lazy_thread_localLazily initialised per-object thread-local storage4,826MITMemory managementRust patterns macron-impl-displayThe implementation of trait Display4,820MITDevelopment toolsRust patterns unit-procProcedual macros for physical quantities.4,814MIT OR Apache-2.0Rust patterns ufcsHelper trait to call free functions using method call syntax4,811Unlicense OR MITNo standard libraryRust patterns macron-impl-intoThe implementation of trait Into4,804MITDevelopment toolsRust patterns macron-impl-fromThe implementation of trait From4,803MITDevelopment toolsRust patterns generic-upper-boundStable workaround for internal uses of generic-const-exprs4,803MITNo standard libraryRust patterns map_retryZero dependency trait that provides retry function that works with iterators4,798MITRust patterns cifgA macro for defining #[cfg] if/else blocks; alternate to cfg-if.4,798MIT OR Apache-2.0No standard libraryRust patterns teletyAccess type information across crates and modules in your proc macros4,798MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns pinpointCrate for pinned references4,796MITRust patterns fieldsetStruct to enum derivation4,792non-standardAsynchronousEmbedded development ab-code-genFunctions to generate boilerplate code for objects implementing the 'Actor' pattern. Used by the abcgen crate.4,790MIT OR Apache-2.0Development tools::Procedural macro helpersRust patterns empty-boxAllows for `Box`s to have their values moved out and replaced with new values, while reusing the same allocation.4,787MIT/Apache-2.0Data structuresMemory management lazy_refImplements a non-blocking synchronization primitive for lazy-initialized immutable references.4,779MITConcurrencyRust patterns visita_macrosMacros for the visita crate4,778MITRust patterns visit_diffEfficiently finding differences between data structures.4,777BSD-2-ClauseAlgorithmsData structures valuable_futuresUtils which allow writing futures::Future and futures::Stream by-value4,763MIT/Apache-2.0AsynchronousNetwork programming adropSimple and fast dedicated thread drop.4,761Apache-2.0Memory managementRust patterns type_eqTiny utils for type-level constraints and inference4,753MITNo standard libraryRust patterns korhahA minimal & extensible reactive event system4,744MPL-2.0GUINo standard library wherrorThe same derive(Error) macro thiserror provides + the features you want!4,739MIT OR Apache-2.0Rust patterns thin_delegateAuto implementation of trivial delegation to inner types4,736MIT OR Apache-2.0Rust patterns crosstraitCast from `dyn Any` to other trait objects, with no_std, no alloc support4,730MIT OR Apache-2.0Embedded developmentNo standard library const-itUtilities for const evaluation; slicing, error handling4,729Zlib OR MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation format-likeMacro for creating format-like macros with any kind of output4,725AGPL-3.0-or-laterRust patternsValue formatting parcRust crate for cancellable time based contracts in async/await4,715MITMemory managementNo standard library typederrorA wrapper around anyhow that allows for a primary error type4,709MIT OR Apache-2.0Rust patterns len_constraintsTraits and types to implement type-pinned length constraints in your API4,703BSD-2-Clause OR MITRust patterns thalo-testingTest utils for crates.io/thalo4,701MIT OR Apache-2.0Data structuresDatabase interfaces read-fromSupplies the ReadFrom and WriteTo traits.4,681MIT OR Apache-2.0Parsing toolsRust patterns repetitiveMacro for generating repetitive code4,676MITRust patterns count_ttsA simple macro for counting tokens.4,673MITRust patterns from_tup_macroLibrary for implement from tuple trait4,670MIT OR Apache-2.0Rust patterns index_typeType-safe newtype indices for Rust4,665MIT OR Apache-2.0No standard libraryRust patterns repr-trait-deriveDerive macros for working with repr-trait4,657MITMemory managementRust patterns tyflingtodo4,656GPL-3.0Development toolsRust patterns ghost-litecustom PhantomData types4,649MITRust patterns index_arenaA simple, id-based, heterogeneous arena allocator4,644MIT OR Apache-2.0Memory managementRust patterns tested-trait-macrosMacros for the tested-trait crate4,638MIT OR Apache-2.0Development toolsRust patterns rocket_modulesA small crate that adds macros to conveniently organize Rocket route handlers in modules.4,636MIT OR Apache-2.0Rust patternsWeb programming packbytes-deriveDerive macros for the packbytes crate4,624MITData structuresEncoding structz-macrosProcedural macros implementation of structz4,616MIT OR Apache-2.0Data structuresDevelopment tools::Procedural macro helpers awredA convenient derive macro for actix_web::ResponseError trait4,616MITRust patterns yewdux-utilsErgonomic state management for Yew applications4,615MIT OR Apache-2.0Rust patternsWebAssembly i18n_pattern-rizzen-yazstonThe `i18n_pattern` crate of the Internationalisation project.4,604BSD-3-ClauseInternationalization (i18n)Localization (L10n) proto-mapper-deriveInternal helper library for proto-mapper4,597MITDevelopment toolsRust patterns check-versionsSimple crate for ensuring that version numbers in README files are updated when the crate version changes.4,593MITDevelopment toolsRust patterns embedded-error-chainEasy error handling in no-alloc and no-std environments4,592MITEmbedded developmentNo standard library tokio-task-schedulerA non-blocking task scheduler for Rust with fluent API, supporting interval-based and cron-like scheduling4,584MITAsynchronousConcurrency boundedBounded numeric types4,577MIT OR Apache-2.0Data structuresRust patterns estuaryAn alternative cargo registry suitable for *small-scale* crate publishing and distribution.4,568Apache-2.0/MITDevelopment toolsRust patterns intupleConvert structs and enums into tuples (of refs) and back - recursive, ignore fields4,567MIT OR Apache-2.0Rust patterns zc_ioSimple zero-copy I/O.4,565MIT OR Apache-2.0No standard libraryRust patterns ref_iterDynamic borrowing iterator.4,562MIT OR Apache-2.0No standard libraryRust patterns paradis-corecore functionality for paradis4,558MIT OR Apache-2.0ConcurrencyRust patterns functionA set of useful traits for your functional needs4,554MITMathematicsRust patterns bounded-counterGeneric Incremental Bounded Counter4,536MITData structuresMathematics headCommon types with inline headers, such as HeaderVec for Vec.4,525MIT OR Apache-2.0Data structuresEmbedded development abcgen-attributesProcedural macro attributes used by abcgen crate.4,524MIT OR Apache-2.0Rust patterns chaos_theoryModern property-based testing and structure-aware fuzzing library4,509MPL-2.0Development tools::TestingRust patterns collect-allvec! for everything: easily make literals of any collection!4,505MITDevelopment toolsRust patterns take-ifA tiny utility for conditionally taking the contents of an option.4,504MITRust patterns nami-coreA powerful, lightweight reactive framework.4,500MITData structuresEmbedded development lazy_idA thread-safe lazily-initialized ID4,478Apache-2.0 OR MIT OR ZlibConcurrencyData structures stack-traitStack trait with entry API for the LIFO element.4,478MIT OR Apache-2.0Data structuresRust patterns pin_arrayTiny crate providing an array with structurally projected pinning4,475MITData structuresNo standard library::No dynamic allocation valueType-level constants for generic contexts4,466CC0-1.0No standard libraryRust patterns cow2Like Cow<B>, but B is covariant4,463MITNo standard libraryRust patterns token-parser-deriveDerive macros to make structs parsable into tokens4,459MIT OR Apache-2.0Parsing toolsRust patterns totally-orderedNo dependency, no-std totally ordered f32/f644,454MITNo standard libraryRust patterns allow_internalInternal proc macros, for 'allow' crate only4,454MIT OR Apache-2.0Development toolsRust patterns sum_errorDerive macros for fast summing of error types into error enum.4,443MITRust patterns sortedProvides compile time guarantees for sorted sequences.4,441non-standardRust patterns mauA Rust procedural macro library for memoization with MauQueue optimization4,431MIT OR Apache-2.0Development toolsRust patterns bounded_typesProvides a type representing bounded integers, implemented using const generics.4,430MIT OR Apache-2.0Data structuresRust patterns gurA undo-redo framework4,430MIT/Apache-2.0Data structuresRust patterns scoped-callbackRegister scoped functions with local references to 'static lifetime callbacks in a safe manner4,428Apache-2.0Memory managementNo standard library sixarm_assertAssert macros for Rust tests. By SixArm.com.4,428MIT OR Apache-2.0 OR GPL-2.0-onlyAlgorithmsData structures erreurA tiny crate that facilitates error handling, including tracing line numbers, customizing and propagating error messages.4,423MIT OR Apache-2.0Rust patterns wibu-phdr-gapThe phdr gap guarantees WIBU Systems AxProtector to find enough space to install its tooling.4,423MITAPI bindingsDevelopment tools cb_futCall function that return value via callback without a callback4,422BSD-3-ClauseAsynchronousRust patterns apply_methodAllows you to apply any function given as a parameter to the object.4,420MIT OR Apache-2.0Rust patterns fstrings-rustPython3 fstring interpolation in Rust4,414MITRust patterns composingTools to compose functions4,412MITRust patterns nddNon De-Duplicated cell. For statics guaranteed not to share memory with any other static/const.4,396BSD-2-Clause OR Apache-2.0 OR MITConcurrencyData structures mem-isolateContain memory leaks and fragmentation4,383MIT OR Apache-2.0Memory managementOperating systems::Unix APIs sameTraits for testing identity of objects.4,375MITNFAAlgorithmsNo standard library edispDispatch-on-collect for Rust enums4,354MIT OR Apache-2.0Rust patterns unsaefMacros to erase scope information from tokens4,343MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation lighter-deriveProcedural macros for the lighter crate4,343CC0-1.0Data structuresNo standard library fn_chainHelper macro/function to create function chaining4,336BSD-3-ClauseDevelopment toolsRust patterns throttled-readerAn io::Read proxy that limits calls to read()4,324MIT/Apache-2.0AsynchronousNetwork programming mox-implImplementation for the mox! macro.4,319MIT/Apache-2.0GUIRust patterns deferred-referenceA deferred reference is not an actual reference, it is merely a smart pointer tied to the lifetime of the location it points to.4,319MITConcurrencyData structures checked_numOverflow-checked numbers for safety without sacrificing ergonomics.4,314MITData structuresMathematics const_power_of_twoA crate for working with constant generics that are powers of two.4,314MIT OR Apache-2.0No standard library::No dynamic allocationRust patterns custom_error_coreDefine custom errors without boilerplate using the custom_error! macro.4,306BSD-2-ClauseDevelopment toolsEncoding wagGo like sync.WaitGroup implementation in Rust. (sync/async)4,299MIT OR Apache-2.0AsynchronousConcurrency seesawgenerate traits from C header files4,299Apache-2.0 OR MITDevelopment tools::FFIEmbedded development exit_safelyexit safely with custom exit codes while still calling `Drop` as needed. Aims for minimal magic and maximum flexibilty.4,298MITDevelopment toolsRust patterns derivateA set of alternative `derive` attributes for Rust4,296MIT/Apache-2.0Rust patterns into_extExtension trait for the “Into” trait, offering a method “.into_::<T>()” to specify the target type of conversion.4,293MIT OR Apache-2.0No standard libraryRust patterns unwrap_returnA set of macros for returns and breaks in the None and Err cases.4,283non-standardNo standard libraryRust patterns typemap-metaA simple compile-time macro to create type-to-value maps4,278MIT OR Apache-2.0Memory managementNo standard library bachue-auto_implAutomatically implement traits for common smart pointers and closures4,271MIT/Apache-2.0Development toolsRust patterns abcgenA procedural macro to generate boilerplate code for objects implementing the 'Actor' pattern4,267MIT OR Apache-2.0Rust patterns read_chunksAn extension to the Read trait allowing easier chunked reading4,265MIT OR Apache-2.0FilesystemRust patterns static-include-bytesLike the built-in `include_bytes!` macro but produces a static array definition.4,265MITEmbedded developmentNo standard library pluralizeA generic trait across single and multiple elements4,265MITRust patterns pmhelpA WIP library to assist in the creation of procedural macros.4,264MITDevelopment tools::Procedural macro helpersNo standard library loop_chainMacro for writing nested Loop expressions4,260MITNo standard libraryRust patterns peak-resultA simple trait that extends the standard Result enum to allow you to run some code in case of error or success.4,257MITRust patterns prosto_deriveProcedural macros for proto_rs, Rust as a first-class citizen in the protobuf ecosystem4,256MIT OR Apache-2.0Development toolsDevelopment tools::Build Utils cli-panicsMake your panics easy to read4,249GPL-3.0Rust patterns trait-enumizer-deriveHelper crate for trait-enumizer4,244MIT/Apache-2.0Rust patterns fat_typeA type which permits thin references to arrays and dynamic types.4,241Apache-2.0 OR MITDevelopment tools::FFINo standard library hoist_temporariesProcedural macro to extend the lifetimes of temporary variables.4,240BSD-3-ClauseDevelopment toolsRust patterns array-fuConstruct arrays using simple syntax4,239MIT OR Apache-2.0No standard libraryRust patterns roopert_macro_commonAnother object-oriented toolkit for Rust (common data)4,238MITData structuresRust patterns simpledi-rssimpledi-rs, a simple and thread-safe dependency injection library4,225non-standardRust patterns slistAlgebraic lists with statically determined size that live on stack.4,225MITData structuresMathematics extdot-implPlease see `extdot` crate for actual usage4,222MIT OR Apache-2.0Parser implementationsRust patterns collect-rsSpecial and custom Collections and Containers (for Rust)4,222BSD-3-ClauseData structuresRust patterns proto-mapperA Macro library for easier mapping between custom models and proto generated code4,210MITDevelopment toolsRust patterns unwrap_letA Rust macro for quickly unwrapping a refutable pattern.4,209MITNo standard libraryRust patterns momoA procedural macro to de-monomorphize generic methods4,208Apache-2.0Development toolsRust patterns quitherA flexible enum-based utility for representing values that may be on the left, right, neither, or both sides.4,202Apache-2.0Data structuresRust patterns zconvertenumnConvert number to enum4,195MIT OR Apache-2.0No standard libraryNo standard library::No dynamic allocation fastpermA dead-simple, extreme fast permission flag system for Rust with no dependencies.4,195Apache-2.0Rust patterns raise`yeet!` all the things4,184Unlicense OR CC0-1.0 OR MIT OR Apache-2.0Rust patterns collections-fromstrDerives FromStr for collection types like Vec<T> or HashSet<T>.4,176MIT OR Apache-2.0Data structuresParsing tools macron-strCreates a new instance of String4,170MITDevelopment toolsRust patterns fuzzypathQuick & dirty fuzzy path comparison4,169MITData structuresRust patterns intid-coreDefines the IntegerId trait without a dependency on intid_derive4,168MIT OR Apache-2.0Data structuresNo standard library genies_config整合DDD与Dapr 的 config 库4,161MIT/Apache-2.0ConfigurationRust patterns repr-with-fallbackAutomatically generate From and Into impls for enums with custom discriminant values and a fallback variant. Useful for parsing…4,149MITParsing toolsRust patterns gamoA Range like struct for user defined types4,149MITRust patterns struct-padPadding types to enable memory layout optimizations.4,146Unlicense OR MITEmbedded developmentMemory management critical-section-lock-mutProvide locks for mutable data using `critical-section` crate.4,133non-standardEmbedded developmentNo standard library process-resultsprocess-results is a crate that provides the same functionality provided by Itertools::process_results. It helps you process an…4,128MIT OR Apache-2.0Rust patterns identifiersUtilities for working with rust identifiers and keywords.4,125MIT OR Apache-2.0Rust patterns internalInternal fields in Rust.4,116MITDevelopment tools::Build UtilsRust patterns lifelinkErase covariant lifetime parameters from anything, with generic associated types.4,109MIT OR Apache-2.0Rust patterns constructor-liteGenerate minimal constructors for structs4,108MITRust patterns fruit-saladCompare apples and oranges (and more). Trait object reference casting and trait object comparisons.4,107MIT OR Apache-2.0Rust patterns directed-visitVisitor pattern with interchangable implementations for both the visit algorithm and node object traversal4,105MIT OR Apache-2.0AlgorithmsParsing tools makeit-deriveA macro crate for makeit. Do not use this crate directly.4,104MITDevelopment toolsRust patterns serde_hooksRuntime hooks for serde4,095MIT OR Apache-2.0EncodingParsing tools tested-traitAssociate tests with traits4,090MIT OR Apache-2.0Development toolsRust patterns threadaloneMake any value Send + Sync but only available on its original thread. Don't use on multi-threaded environments!4,089MIT OR Apache-2.0ConcurrencyRust patterns flow-controlDeclarative macros for common flow-control use cases such as break, continue, and return.4,084MITRust patterns fmt_adapterProvides newtype adaptors to and from any formatting trait4,083CC0-1.0No standard libraryRust patterns futures-await-test-macro-previewHelper crate for futures-await-test-preview.4,081MITAsynchronousRust patterns mvcc_cellSoftware-transactional memory for Rust4,079Apache-2.0Data structuresMemory management dep_crusherStarting at a root node, traverse the dependency graph and flatten it.4,070MIT OR Apache-2.0AlgorithmsData structures crashlogPanic handling for humans4,070Apache-2.0Rust patterns cf-gears-toolkit-canonical-errorsToolKit canonical error types based on Google AIP-193 error model4,066Apache-2.0Rust patterns percolateYet another async utility library.4,063MIT OR Apache-2.0No standard libraryRust patterns disp_arrayThis adds a wrapper for arrays to give the 'Display' trait.4,059MIT OR Apache-2.0No standard library::No dynamic allocationRust patterns