Crates.rs

› Categories › Development tools › #proc-macro #syn #derive #macro #macros #quote

Procedural macro helpers

Crates to help you write procedural macros in Rust.

  • 100 of 316 crates
  • syn

    Parser for Rust source code

    v0.15.26 1.8M
  • quote

    Quasi-quoting macro quote!(…)

    v0.6.11 1.5M #syn
  • synom

    Stripped-down Nom parser used by Syn

    v0.11.3 369K
  • strum_macros

    Helpful macros for working with enums and strings

    v0.13.0 106K macro #enum #string #macros #proc-macros
  • strum

    Helpful macros for working with enums and strings

    v0.13.0 105K #enum #string #macros #proc-macros
  • derive_more

    Adds #[derive(x)] macros for more traits

    v0.14.0 104K macro no-std #derive #Add #From #Constructor #implementation
  • proc-macro-hack

    Procedural macros in expression position

    v0.5.4 48K macro
  • proc-macro-hack-impl

    Procedural functionlike!() macros using only Macros 1.1

    v0.4.1 34K macro
  • darling_core

    Helper crate for proc-macro library for reading attributes into structs when implementing custom derives. Use https://crates.io/crates/darling in your code.

    v0.8.5 28K
  • darling_macro

    Internal support for a proc-macro library for reading attributes into structs when implementing custom derives. Use https://crates.io/crates/darling in your code.

    v0.8.5 27K macro
  • darling

    A proc-macro library for reading attributes into structs when implementing custom derives

    v0.8.5 28K
  • getset

    Getset, we’re ready to go! A procedural macro for generating the most basic getters and setters on fields

    v0.0.6 25K macro #macro #getter #setter #getters #setters
  • hex-literal

    Procedural macro for converting hexadecimal string to byte array at compile time

    v0.1.2 12K #hex #proc-macro #literals
  • validator_derive

    Macros 1.1 implementation of #[derive(Validate)]

    v0.8.0 10K macro #validation #api #validator
  • trackable_derive

    Custom derive for trackable crate

    v0.1.2 7.4K macro #trackable #custom-derive
  • indoc-impl

    Indented document literals

    v0.3.1 4.5K macro #heredoc #nowdoc #multiline #string #literal
  • devise_codegen

    A library for devising derives and other procedural macros

    v0.2.0 17K nightly macro #codegen #macros #derives
  • migrations_macros

    Codegeneration macros for diesels embedded migrations

    v1.4.0 14K macro #migrations #migration #macros
  • cssparser-macros

    Procedural macros for cssparser

    v0.3.5 13K macro #macros #css #syntax #procedural #level
  • demo-hack

    Demo of proc-macro-hack

    v0.0.5 2.1K
  • demo-hack-impl

    Demo of proc-macro-hack

    v0.0.5 2.1K macro
  • mashup-impl

    Concatenate identifiers in a macro invocation

    v0.1.9 10K macro #impl #macro #concatenate
  • ctor

    attribute((constructor)) for Rust

    v0.1.7 1.2K macro
  • smart-default

    Rust custom-derive macro for Default with more control on the fields

    v0.3.0 3.9K macro #default
  • shippai_derive

    macros for shippai

    v0.3.2 900 macro
  • snailquote

    Escape and unescape strings with shell-inspired quoting

    v0.2.0 850 #quote #escape #shell-escape #unescape
  • mock_derive

    An easy to setup, rich mocking library for the Rust programming language

    v0.7.0 800 nightly macro #mock #mocking #unit-test #testing
  • paste-impl

    Implementation detail of the paste crate

    v0.1.4 7.6K macro #paste #impl #token #pasting
  • mockers_derive

    Macro 1.1 implementation for ‘mockers’ mocking library

    v0.13.1 600 macro #mock #test
  • infer_schema_macros

    This crate is internal to diesel_infer_schema and should not be used directly

    v1.4.0 3.7K macro #macros #schema #internal
  • display_derive

    Derive Display

    v0.0.0 3.1K macro #derive #display #trait
  • clams-derive

    Clams help building shells

    v0.0.4 470 macro #shell #cli
  • derive-getters

    Simple boilerplate getters generator

    v0.0.7 2.9K macro #derive #getters #boilerplate
  • proc-macro-nested

    Support for nested proc-macro-hack invocations

    v0.1.2 450
  • gtmpl_derive

    Derive for gtmpl_value

    v0.3.3 410 macro #gtmpl_value #gtmpl #gtmpl-rust
  • standalone-syn

    Fork of syn that turns of the proc-macro feature in proc-macro2 and standalone-quote so as to remove the rustc dylib dependency

    v0.13.0 1.6K #syn #proc-macro #dylib #rustc #feature #remove
  • rental-impl

    An implementation detail of rental. Should not be used directly.

    v0.5.2 2.3K macro #impl #macro #generate #detail
  • cpp_synmap

    Sourcemap and full crate parsing support for cpp_syn

    v0.3.0 330 #syn #parsing #sourcemap #crate
  • cstr-macros

    Procedural macros for cstr

    v0.1.4 1.9K macro #cstr #macros
  • standalone-quote

    Fork of quote that allows disabling the proc-macro feature in proc-macro2 so as to remove the rustc dylib dependency

    v0.5.0 1.7K #quote #proc-macro #dylib #rustc #feature #remove
  • frunk_derives

    frunk_derives contains the custom derivations for certain traits in Frunk

    v0.2.4 1.1K macro #Frunk #derives
  • endian_trait_derive

    A custom derive for the Endian trait

    v0.6.0 270 macro #endian #custom-derive
  • procedurals

    Collection of proc-macros

    v0.3.1 600 macro #proc_macro
  • rundo_attrs

    macros lib by rundo

    v0.4.0 230 nightly macro #undo #redo
  • typed-builder

    Compile-time type-checked builder derive

    v0.2.0 700 macro #builder
  • aoc-runner-derive

    Codegen for aoc-runner & others

    v0.2.2 1.4K macro #aoc #derive #runner #codegen
  • set_slice

    A macro for assigning values to slices

    v0.3.0 200 no-std #slice #assign #set #macro
  • relm-derive

    Custom derive required by the relm crate

    v0.15.2 1.2K macro #derive #elm #library
  • ruma-api-macros

    A procedural macro for generating ruma-api Endpoints

    v0.3.1 190 macro #matrix #chat #messaging #ruma
  • fields-converter-derive

    Fields-wise type conversions derive macros

    v0.1.4 180 macro #fields #derive
  • shell-words

    Process command line according to parsing rules of UNIX shell

    v0.1.0 180 #quote #shell #split #unix #words
  • rand_derive

    #[derive(Rand)] macro (deprecated)

    v0.5.0 1.2K macro #rand #derive #random #macro #number
  • ast_node

    Macros for ast nodes

    v0.3.2 180 macro
  • translator

    A procedural macro which translates your repr-C structs into C++, Python and C# at compile time for helping write FFI libraries

    v0.3.0 160 macro #FFI #struct #translator #translate
  • azure-functions-codegen

    Azure Functions for Rust code generation support

    v0.4.0 650 macro
  • phf_macros

    Macros to generate types in the phf crate

    v0.7.24 1.4K macro #macros #static #time #types #generate #maps
  • jsonrpc-derive

    High level, typed wrapper for jsonrpc-core

    v10.1.0 950 macro #jsonrpc #derive #json-rpc
  • fxsm-derive

    A state machine procedural macro for enums

    v0.3.0 350 macro #state #machine
  • derive-ocaml

    Custom derive and procedural macros for easy FFI with ocaml on top of the ocaml crate

    v0.1.2 120 macro #ocaml #ffi #derive
  • abomonation_derive

    A custom derive plugin for abomonation

    v0.3.0 800 macro #abomonation #derive #plugin #macros
  • syn-next

    Parser for Rust source code

    v0.15.0-rc4 110
  • inventory-impl

    Implementation of macros for the inventory crate

    v0.1.3 650 macro #inventory #impl #macros #plugin #distributed
  • pmutil

    Utils for proc-macro

    v0.3.0 700 #proc-macro #utils
  • gc_derive

    Garbage collector derive plugin for rust-gc

    v0.3.2 100 macro #garbage #macro #memory
  • opaque_typedef_macros

    Supports defining opaque typedefs

    v0.0.4 100 macro #derive #opaque #strong #typedef
  • flickr

    Rust binding to Flickr API

    v0.1.1 100 #flickr #api #flickrapi
  • bytify-impl

    Internal implementation of the bytify crate

    v0.3.1 100 macro #bytification #literals #hex #proc-macro
  • asn1_der_derive

    This crate contains a procedural macro to implement derive for my asn1_der crate

    v0.1.1 100 macro
  • nereon_derive

    Automatic Nereon FromValue trait implementations

    v0.6.0 600 macro #derive #syntax #trait #automatic
  • bytify

    Convenience macro for generating continuous byte arrays from arbitrary sequences of literals

    v0.3.1 100 #bytification #literals #hex #proc-macro
  • typename_derive

    Derive plugin for the typename crate

    v0.1.1 600 macro #typename #derive #plugin
  • cdrs_helpers_derive

    Derive CDRS helper traits

    v0.3.0 600 macro #derive #helpers #traits #helper
  • reql-macros

    Macros for the reql crate

    v0.0.19 260 nightly macro
  • telebot-derive

    Getters and setters for the telebot library

    v0.0.12 550 nightly macro #telebot #derive
  • malloc_size_of_derive

    Crate for Firefox memory reporting, not intended for external use

    v0.1.0 600 macro #malloc #derive #of #size #firefox #memory #reporting
  • rbtag_derive

    A procedural macro impl to add git and build datetime info

    v0.3.0 macro #build #date #time #commit #datetime
  • enum_dispatch

    Near drop-in replacement for dynamic-dispatched method calls with up to 10x the speed

    v0.1.2 macro #speed #performance #traits #dynamic #optimization
  • literalext

    A helper crate for interpreting proc-macro Literal values

    v0.2.0 700 #proc-macro #literal #helper
  • def-mod

    Simplifies module implementation routing and statically verifies exports

    v0.4.0 nightly macro #def-mod #module #cross-platform #static #compile-time
  • from_variants_impl

    Internal helper crate for from_variants crate

    v0.4.0 410 macro #from #impl #variants #enum #proc-macro #newtype #internal
  • salsa-macros

    Procedural macros for the salsa crate

    v0.10.0 500 macro #macros #adapton #rustc #query #computation #generic #framework #system #procedural
  • no-panic

    Attribute macro to require that the compiler prove a function can’t ever panic

    v0.1.8 490 macro #no #panic #compiler #macro #attribute
  • auto_enumerate_derive

    crate renamed to auto_enums_derive

    v0.1.2 macro
  • auto_enumerate_core

    crate renamed to auto_enums_core

    v0.1.2 macro
  • rapt_derive

    Rapt derivation macros

    v0.1.4 macro
  • swc_ecma_parser_macros

    Macros for swc_ecma_parser

    v0.2.1 macro
  • derive-diff

    Procedural macro to derive Diff implementation

    v0.2.5 200 macro #diff
  • heapsize_derive

    Automatically generating infrastructure for measuring the total runtime size of an object on the heap

    v0.1.4 470 macro #derive #heap #total #size #runtime #object #infrastructure
  • configure_derive

    Derives for the configure crate

    v0.1.1 400 macro #derive #derives
  • auto_enumerate

    crate renamed to auto_enums

    v0.1.2
  • unique-type-id-derive

    A unique id proc-macro generator for types

    v0.2.0 macro #unique #type #id #number
  • soa_derive_internal

    Internal crate implementation for soa-derive

    v0.8.0 350 macro #soa #derive #internal #array #struct
  • ref-cast-impl

    Derive implementation for ref_cast::RefCast

    v0.2.5 350 macro #ref #cast #impl #derive #struct #field
  • proc-macro-rules-macros

    Emulate macro-rules pattern matching in procedural macros

    v0.2.0 macro
  • zookeeper_derive

    Derive implementations used to build the ZooKeeper library

    v0.4.0 340 macro #zookeeper #derive
  • flickr_derive

    Macros needed by Flickr-Rust API binding

    v0.1.1 macro #flickr #derive #macros
  • reflect

    The “but I thought Rust doesn’t have reflection?” memorial brand new way of defining procedural macros

    v0.0.3 #reflection
  • swc_ecma_codegen_macros

    Macros for swc_ecma_codegen

    v0.2.0 macro
  • syn_query

    implement Trait Syn::Visit

    v0.2.0 #syn #visit #jquery
  • withers_derive

    A macro to implement wither methods for properties of a struct

    v0.2.0 macro #withers #derive #pattern #with