基本完备的builder macro
自己手动实现得一个基本 derive builder macro use std::{any::Any, ops::Deref};
use proc_macro2::TokenStream;
use quote::{format_ident, quote};
use syn::{Data, Dat
Rust `Builder` 派生宏实现说明
Rust Builder 派生宏实现说明 需求 编写宏为结构体生成构建器模式,具备以下特性: 构建器中的可选字段 每个字段的 setter 方法(返回 self 支持链式调用) 对 String 和 Vec<String> 类型的特殊处理 build() 方法返回 Result,包含缺失字段的错误信
理解 Rust 宏中的 Span
理解 Rust 宏中的 Span 在 Rust 的过程宏(Procedural Macros)生态系统中,Span 是一个至关重要的概念。它并非指代时间周期(lifecycle),而是源代码位置信息和宏卫生(hygiene)上下文的载体。理解 Span 对于编写健壮、易于调试的过程宏至关重要。 1.
cargo release
Cargo release cargo-release 是一个用于发布 Rust 包的工具,它允许您使用 Git 标签和版本号来管理您的软件包版本。 usage 要使用 cargo release 更新版本号,创建 Git 标签,并将更改推送到远程仓库,但不发布到 crates.io,您可以使用以下
PathBuf question
PathBuf.to_string_lossy() 和 PathBuf.display().to_string() 在 Rust 中区别 PathBuf.to_string_lossy() 和 PathBuf.display().to_string() 在 Rust 中都用于将 PathBuf 转换
Git Push 分支与标签的关系
一、Git Push 分支与标签的关系 1. 操作关系图解 graph TD
A[本地仓库] -->|1. push main分支| B[远程仓库]
C[本地标签] -->|2. push v0.1.0标签| B
2. 关键区别 操作对象 特性 生命周期 典型用途 分支 动态变化,
异步管道模式 - 渴望工作
异步管道模式 - 渴望工作 origin: Async Pipeline Pattern - Eager to work 关于流的发现 在
sans - IO:Rust 构建网络服务的有效秘诀
sans - IO:Rust 构建网络服务的有效秘诀 sans - IO:Rust 构建网络服务的有效秘诀 Rust 的异步模型与“函数染色”之争
vscode docker
Vscode plugin docker cannot connect to docker 在 vscode 中,如果使用 docker 插件,在运行时,如果提示以下错误: Failed to connect. Is docker running? Error: permission denied
Rust libs day1
Rust libs day1 这是一个用于学习和使用 rust crates tracing 包,然后总结一些特点和使用方法以及资料的一个系列。 Rust libs day1 tracing tracing 核心概念 tracing 核心基本使用 tracing marcos - span<