关于 minimize-rust-ffi-crate-surface
用于缩减 Rust FFI crate 或文件所暴露 C 符号的 Skill。它分析符号用途、删除未使用定义,并为仅由 C/C++ 单元测试使用的符号提出处理方案。
主要功能
- 01分析已暴露 FFI 符号的用途
- 02删除未使用的 Rust 定义
- 03识别仅用于 C/C++ 测试的符号
- 04规划仅供测试使用符号的处理方式
适用场景
- 01精简 FFI crate 中未使用的符号
- 02检查 Rust FFI 文件暴露的符号
- 03规划 C/C++ 测试依赖符号的处理
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ redisearch/ redisearch --skill minimize-rust-ffi-crate-surface安装后在 Claude Code 中输入/minimize-rust-ffi-crate-surface确认已加载。
详细介绍
最小化 Rust FFI Crate 的接口表面
移除 Rust FFI crate 或文件中定义的 C 符号:这些符号要么未使用,要么仅用于 C/C++ 单元测试。
参数
<path>:Rust crate 或文件的路径。<path 1> <path 2>:多个 Rust crate/文件。
如果路径不以 src/ 开头,则假定其位于 src/redisearch_rs/c_entrypoint 目录下。例如,numeric_range_tree_ffi 对应 src/redisearch_rs/numeric_range_tree_ffi。
如果路径指向一个目录,请查阅该目录中所有 Rust 文件的文档。
说明
- 使用 analyze-rust-ffi-crate-surface 枚举并分析 Rust crate 或文件所暴露的所有 FFI 符号的使用情况(例如,带有
#[unsafe(no_mangle)]注解的extern "C" fn或类型定义)。 - 对于每个未使用的符号:
- 删除其 Rust 定义。
- 运行 C/C++ 单元测试,确认该符号确实未被使用(通过
./build.sh RUN_UNIT_TESTS)。
- 对于仅在 C/C++ 单元测试中使用的每个符号,制定计划,以便:
- 重构 C/C++ 单元测试,使其不再使用该符号。
- 移除依赖该符号的 C/C++ 单元测试(或断言),因为这些测试深入探查了 Rust crate 的实现细节。
- 保留该符号,但在 Rust 文档中将其标记为“仅用于测试”。
评论
支持 Markdown