-
syn
Rust 源代码解析器
-
quote
宏quote!(...) 的准引用
-
trybuild
用于编译器诊断 ui 测试的测试工具
-
lazy_static
用于在 Rust 中声明惰性评估的静态变量的宏
-
derive_builder
Rust 宏,用于为任意结构体自动实现构建器模式
-
pin-project
安全且方便的 pin 投影
-
strum
用于枚举和字符串的宏
-
tabled
用于打印 Rust 结构体和枚举的表格的简单库
-
async-stream
使用 async & await 语法的异步流
-
proc-macro2
编译器
proc_macro
API 的替代实现,以解耦基于标记的库和过程宏用例 -
lazy-regex
编译时检查的懒静态正则表达式
-
metrics
轻量级度量接口
-
proc-macro-crate
过程宏中的 crate(macro_rules 关键字)的替代方案
-
pin-project-lite
使用声明式宏编写的 pin-project 的轻量级版本
-
arrayref
用于从切片中获取数组引用的宏
-
macro_rules_attribute
在属性或 derive 位置使用声明式宏
-
cfg-if
一个宏,可以基于大量 #[cfg] 参数方便地定义项。结构类似于 if-else 链,第一个匹配的分支是发射的项。
-
synstructure
自定义 derives 的辅助方法和宏
-
ouroboros
简单、安全的自引用结构生成
-
hex-literal
编译时将十六进制字符串转换为字节数组的宏
-
位字段
生成位字段结构体的宏
-
new_debug_unreachable
调试时panic,发布版中使用intrinsics::unreachable()(debug_unreachable的分支)
-
paste
满足所有令牌粘贴需求的宏
-
if_chain
用于编写嵌套的
if let
表达式的宏 -
educe
提供旨在简化Rust内置特性行为实现的过程宏
-
enclose
一个方便的宏,用于将值克隆到闭包中
-
maplit
HashMap、HashSet、BTreeMap和BTreeSet的集合“字面量”宏
-
macro_magic
允许在模块、文件和crate边界之间导出和导入项的标记
-
debug-helper
声明性宏,可帮助您手动实现
Debug
特质 -
opaque-debug
不透明Debug特性行为的宏
-
测试模糊
简化Rust模糊测试
-
cargo-expand
rustc -Zunpretty=expanded的包装。显示宏展开和#[derive]展开的结果。
-
trybuild2
用于编译器诊断的ui测试的测试框架(支持内联测试)
-
assertables
用于更好测试、质量保证和运行时可靠性的assert…宏
-
rstml
基于proc-macro::TokenStreams实现的Rust模板化(用于XML-based格式,如HTML、SVG、MathML)
-
derive_utils
用于轻松编写枚举的derive宏的过程宏助手
-
derive-where
使用自定义特性行为进行派生
-
doc-comment
生成文档注释的宏
-
attribute-derive
在proc-macros中解析属性,类似于Clap
-
futures-async-stream
Rust和futures crate的异步流
-
i18n-embed
特性和宏,方便地将本地化资源嵌入到您的应用程序二进制文件或库中,以便在运行时进行本地化
-
wasmtime-asm-macros
Wasmtime中定义asm函数的宏
-
cascade
Rust的类似Dart的级联宏
-
bounded-integer
有界整数
-
flex-error
使用宏和特性实现灵活的错误定义
-
doe
一个强大的Rust crate,旨在通过提供丰富的宏和实用函数来增强开发工作流程。它不仅简化了常见任务,而且...
-
maybe-async
一个过程宏,用于统一同步和异步实现
-
auto_enums
通过自动生成的枚举允许多种返回类型
-
cglue
为创建插件和C兼容库提供FFI安全的抽象
-
syn-mid
提供介于"full"和"derive"之间的syn功能
-
lazy-static-include
lazy_static_include_bytes
和lazy_static_include_str
宏来替换include_bytes
和include_str
宏 -
derive-getters
样板getter生成器
-
test-strategy
用于在proptest中轻松编写高阶策略的过程宏
-
optional_struct
定义一个宏,它将从结构生成另一个结构,其中只包含Option
字段 -
tuple
元组上的逐元素操作
-
arr_macro
轻松初始化数组!
-
const-random
编译时随机数生成
-
fixed-hash
定义自定义固定大小哈希类型的宏
-
tiny-fn
栈上的类型擦除闭包
-
rustfmt-wrapper
为代码生成器使用rustfmt的包装器
-
derivative
一组Rust的替代 derive 属性
-
struct-patch
帮助你为结构实现部分更新
-
g2p
创建实现快速有限域算术的类型
-
k9
Rust 测试库
-
tstr
类型级别字符串
-
docify
允许您在编译时将项目中各处的代码片段作为 Rust 文档示例进行嵌入
-
leptosfmt
Leptos 网络框架的视图宏格式化 CLI 工具
-
core_extensions
核心/标准库类型扩展和其他杂项功能
-
kv-log-macro
日志的 kv-unstable 后端日志宏
-
swc_macros_common
swc 宏的通用工具
-
log-once
收集仅记录某些事件一次的辅助宏
-
mirai-annotations
MIRAI 的源代码注释宏
-
bevy_macro_utils
Bevy 引擎的实用工具集合
-
document-features
从Cargo.toml中的注释中提取功能标志的文档
-
macro_railroad
生成Rust宏的语法图
-
tsync
从Rust代码生成TypeScript类型
-
seq-macro
宏,用于重复索引代码片段的连续副本
-
overload
宏,用于简化运算符重载
-
cl-format
在Rust中使用Common Lisp格式
-
write-json
{dependency,trait,macro}-less JSON序列化
-
redis-macros
为redis-rs提供宏和包装器,以自动使用serde序列化和反序列化结构体
-
quote-use
在procmacros中以卫生的方式支持
use
-
kismesis-ssg
带有插件和宏的静态网站生成器
-
const_fn
轻量级属性,便于使用条件编译轻松生成const函数
-
shopify_function
使用Rust编写Shopify函数
-
for_each
为列表中的每个元素应用宏
-
strum_macros
用于枚举和字符串的宏
-
try_match
使用类似函数的语法进行可错误模式匹配
-
ratatui-macros
Ratatui的宏
-
jsonrpc-pubsub
jsonrpc的发布-订阅扩展
-
proc-macro-utils
proc-macro和proc-macro2类型的底层实用程序
-
deluxe
过程宏属性解析器
-
moveit
安全、原地构建Rust(和C++!)对象
-
watt
执行作为WebAssembly编译的Rust过程宏的运行时
-
caret
用于声明非穷举的C样式枚举的宏,具有命名成员
-
metered
Rust的快速、直观的度量指标!
-
easy-ext
轻量级的属性宏,便于编写扩展特性模式
-
proc_macro_roids
为编写 proc macros 提供更易用的特性和函数
-
proconio
适用于竞技编程的简易 IO 库
-
clone_dyn
用于克隆动态结构的派生宏
-
velcro
用于初始化向量、哈希表等 Rust 集合的便利宏
-
derive_setters
Rust 宏,用于自动为结构体字段生成设置方法
-
zoet
添加
#[zoet]
宏,以减少实现常见特性时的冗余 -
buildstructor
从构造函数派生构建器的宏
-
bon
为一切生成构建器!
-
泛型
在
macro_rules!
中解析泛型(带有可选的 where 子句)的宏 -
data-encoding-macro
数据编码的宏
-
derive-visitor
为任意数据结构派生访问者模式
-
array-concat
用于连接常量数组的宏
-
frunk_proc_macro_helpers
frunk 的 proc 宏的通用内部函数
-
seam
符号表达式作为标记
-
ambassador
通过过程宏进行特质实现委托
-
getset
我们已准备就绪!生成最基本字段获取器和设置器的过程宏
-
fomat-macros
具有小型模板语言的类似 print/write/format 的宏的替代语法
-
macro-machines
带有日志记录和 graphviz DOT 文件生成的状态机宏
-
function_name
将扩展为注解函数名称的宏
-
tracker
用于跟踪结构体变化的宏
-
wd_log
Rust 实用日志库
-
envconfig
无需样板代码,从环境变量构建配置结构
-
assert_approx_eq
断言近似相等
-
i18n-embed-fl
在使用 i18n-embed crate 和 fluent 本地化系统时进行编译时检查的宏
-
synthez
为
syn
、quote
和proc-macro2
crate 提供强化功能 -
defer
受 go 的 defer 语句启发的代码执行
-
awint_macro_internals
为
awint
系统提供的内部宏实用工具 -
impls_index
将每个函数放入命名宏中,以索引类中每个函数的多个宏
-
sugars
使任务更易于完成的实用宏集合
-
rstml-control-flow
为 rstml 实现控制流的自定义节点。当需要实现 If、For 等 时非常有用。
-
no-panic
属性宏,要求编译器证明函数永远不会崩溃
-
result-like
为您的自定义枚举提供Option/Result-like单调接口
-
enum-display
一个宏,用于为枚举推导Display
-
macro-asm-builder
macro-assemblers
-
turf
在编译时构建SCSS到CSS,并将这些样式注入到您的二进制文件中
-
maybe-async-cfg
一个过程宏,根据您的crate的功能统一同步和异步实现
-
wit-bindgen-wrpc
为wRPC生成Rust绑定
-
include_bytes_aligned
将外部文件的字节嵌入到可执行文件中,并保证它们是对齐的宏
-
template-quote
一种新式的quote!宏实现,具有类似漂亮的模板引擎语法
-
cadence-macros
Cadence的宏,Cadence是一个可扩展的Rust Statsd客户端
-
r4d
面向文本的宏处理器
-
bevy_mod_sysfail
使用sysfail宏属性装饰您的bevy系统以处理失败
-
safe-proc-macro2
移除不安全代码的proc_macro2 crate分支
-
metastruct
遍历和映射结构体字段的抽象
-
barkml
声明性配置语言
-
tracing-attributes
用于自动配置函数的进程宏属性
-
with_builtin_macros
帮助宏_rules作者将宏与内置宏(如
env!
、include!
或concat_idents!
)链接 -
trybuild-internals-api
trybuild的分支,将内部API公开
-
inherent
无需作用域的trait方法可调用
-
atomic-dbg
原子
dbg
/eprintln
/eprint
宏 -
swc_typescript
swc性能跟踪的进程宏
-
libc-print
在libc上使用println!和eprintln!宏,无需stdlib
-
bit-struct
定义具有分配到单独位而不是字节的字段的 structs
-
assert_matches2
assert_matches! 宏的一个版本,将模式中的变量带入作用域
-
dir-test
从目录中的文件生成测试的宏
-
稳定性
面向我们的 Rust API 稳定性属性
-
gstuff
使我的生活更轻松的小宏和饰品
-
bma-benchmark
Rust 和人类的基准测试
-
readonly
其他模块可读的 struct 字段
-
binding_macros
构建自定义绑定界面的宏
-
macon
基于构建器宏的生成器,具有自己的语法
-
wasm-bindgen-derive
wasm-bindgen 的特质推导宏
-
munge
自定义解构的宏
-
auto_generate_cdp
用于生成 Chrome 开发者工具协议的实验性软件包
-
deno_bindgen
使用 Rust 编写高级 Deno FFI 库
-
rusticata-macros
Rusticata 的辅助宏
-
mutually_exclusive_features
检查一组特性中一次只能启用一个或没有,称为互斥特性
-
impl-trait-for-tuples
属性宏,用于为元组实现特质
-
xx
一组有用的 Rust 宏和小函数
-
custom_error
使用 custom_error! 宏定义自定义错误,无需样板代码
-
as_variant
宏,用于将具有 newtype 变体的枚举转换为
Option
-
type_cell
使用静态 get/set 方法将值静态地附加到类型
-
pretty_dbg
pretty_dbg! 是 dbg! 的副本,只是将 :#? 修改为 :# 以进行美观打印。format_dbg! 与 eprintln! 类似,但增加了文件、行和列信息
-
borrowme
Rust 缺失的复合借用
-
dylint_linting
编写 Dylint 库
-
map-macro
用于静态初始化集合的声明式宏
-
eiffel
受Rust宏启发的语言,具有受保护的子句
-
impls
确定一个类型是否实现了逻辑特性行为表达式
-
derive_arbitrary
派生任意特性
-
unic-langid-macros
管理Unicode语言标识符的API
-
redis-args
派生宏,用于读取和写入用于redis使用的类型,无论是通过serde还是格式参数
-
error_mapper
标准化跨所有项目的Results和Errors处理
-
nestify
提供一个宏以简化并美化Rust中的嵌套结构定义,使代码结构更清晰、更易读,且更简洁。特别适用于处理API响应。
-
auto_ops
用于轻松重载操作符的宏
-
fb_cloned
克隆宏
-
error_set
一个错误集宏,通过提供定义错误和轻松在它们之间转换的方法来简化错误管理。受Zig的错误集类型的启发。
-
captur
宏用于从闭包中非连接的字段捕获整个结构体
-
leptos-mview
Leptos的简洁视图宏
-
quick-error
一个宏,使得错误类型易于编写
-
mkenv
轻量级但实用的宏,用于在启动时捕获环境上下文
-
logger-rust
具有5种日志类型和3种日志级别的日志记录器
-
from_variants
Rust宏,用于自动为新类型枚举生成转换
-
nameof
宏,用于确定绑定、类型、常量或函数的字符串名称
-
cargo-test-fuzz
-
tinyvec_macros
一些用于小容器的宏
-
coverage-helper
https://github.com/taiki-e/cargo-llvm-cov/issues/123的辅助工具
-
cfg-iif
用于定义
#[cfg]
if-else
函数的宏 -
command-macros
用于使用类似shell语法的语法创建std::process::Command的宏
-
nar_dev_utils
用于NARS相关项目开发的实用工具包
-
pike
一个宏集合,用于将函数调用管道化 |>,类似于F#、Elixir和OCaml等函数式语言
-
impl-tools
辅助宏:autoimpl
-
test-harness
一个小型测试宏,用于使用任意设置/清理函数包装测试
-
tri_ton
处理异常的宏
-
hs-bindgen
一个方便的宏,用于为Haskell生成Rust的C-FFI绑定
-
cursive-extras
为Cursive TUI库提供额外视图,以及一些辅助函数和宏
-
useful_macro
实用宏集合
-
tokenstream2-tmpl
Rust宏的运行时TokenStream插值
-
gluer
用于Rust框架的包装器,消除了前端和后端之间冗余的类型和函数定义
-
lombokrs
轻量级Rust宏库。它是Java lombok在Rust中的简单实现。
-
spandoc
将文档注释转换为跟踪跨度的过程宏属性
-
预期
Rust宏,用于测试条件而不引发恐慌
-
v_escape
simd优化后的逃逸代码
-
workflow-macro-tools
workflow-rs
框架使用的宏实用函数 -
proc_macro2_helper
用于与proc_macro2一起使用的各种实用代码,用于提取数据
-
dialogue-macro
dialoguer的扩展,简化了命令行交互接口
-
declarative_type_state
一组声明性宏,用于减少实现类型状态模式时的样板代码
-
find-crate
从当前的Cargo.toml中查找crate名称
-
js-helpers
用于wasm中js对象的简单互操作实用工具
-
assign
允许使用声明性风格修改实例的宏
-
actify
具有最小样板代码的直观actor模型
-
function-timer
允许使用metrics crate对函数进行计时并发出指标的宏
-
cfgenius
Rust中的宏支持条件编译
-
confine
基于config-rs构建的具有观点的配置宏
-
merge
将多个值合并为一个
-
const-default
const Default特质
-
simpl_actor
tokio actors
-
swc_eq_ignore_macros
EqIgnoreSpan和TypeEq的宏
-
nade
为Rust函数添加命名和默认参数
-
auto-delegate
自动委托允许你自动实现特质并将它们的处理委托给子成员
-
wasmtime-versioned-export-macros
在Wasmtime中定义版本化导出的宏
-
sqlx-conditional-queries
SQLx的编译时条件查询
-
macros-rs
柔软、简单且有用的宏
-
声明式
用于轻松操作视图代码的通用DSL宏
-
rand_derive2
使用rand crate生成可定制的随机类型
-
tiny_bail
小巧但灵活的宏,用于在失败时退出
-
goolog
与no_std兼容的goolog记录器和一些简化打印日志的宏
-
bytify
可以将给定const-expr值写入连续字节数组的宏
-
kinded
生成具有相同变体但没有数据的枚举
-
mongodb-macro
MongoDB宏是一个crate,包含用于快速创建与mongodb一起工作的结构的宏
-
struct-field-names-as-array
生成命名结构的字段名作为常量
-
pgde
用于将PostgreSQL行数据消费到结构体的宏库
-
cglue-gen
为制作插件和C兼容库进行FFI安全代码生成
-
wasm-bindgen-wasm-interpreter
针对wasm-bindgen的使用案例优化的微解释器
-
fromsuper
宏辅助,用于从现有超结构派生新的子结构,可能解包选项
-
notzero
宏,用于从常量构造
std::num::NonZero*
-
copy_impl
宏,用于轻松地在Rust中的各种类型之间复制impl块代码
-
ffi-opaque
宏,用于创建正确的不可见指针
-
fncmd
作为函数的命令行界面
-
enum_cycling
用于处理枚举的小宏
-
pipa
Rust的管道操作符库
使用DuckDuckGo进行搜索。