rust-trait-explorer by zhanghandong/rust-skills
npx skills add https://github.com/zhanghandong/rust-skills --skill rust-trait-explorer探索 trait 实现并理解多态设计。
/rust-trait-explorer <TraitName|StructName>
示例:
/rust-trait-explorer Handler - 查找 Handler trait 的所有实现者/rust-trait-explorer MyStruct - 查找 MyStruct 实现的所有 trait查找 trait 的所有实现。
LSP(
operation: "goToImplementation",
filePath: "src/traits.rs",
line: 10,
character: 11
)
使用时机:
User: "谁实现了 Handler trait?"
│
▼
[1] 查找 trait 定义
LSP(goToDefinition) 或 workspaceSymbol
│
▼
[2] 获取实现
LSP(goToImplementation)
│
▼
[3] 对于每个实现,获取详细信息
LSP(documentSymbol) 用于获取方法
│
▼
[4] 生成实现映射图
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
User: "MyStruct 实现了哪些 trait?"
│
▼
[1] 查找结构体定义
│
▼
[2] 搜索 "impl * for MyStruct"
使用 Grep 模式匹配
│
▼
[3] 获取每个 trait 的详细信息
│
▼
[4] 生成 trait 列表
## `Handler` 的实现
**Trait 定义于:** src/traits.rs:15
```rust
pub trait Handler {
fn handle(&self, request: Request) -> Response;
fn name(&self) -> &str;
}
```
### 实现者 (4)
| 类型 | 位置 | 备注 |
|------|----------|-------|
| AuthHandler | src/handlers/auth.rs:20 | 处理身份验证 |
| ApiHandler | src/handlers/api.rs:15 | REST API 端点 |
| WebSocketHandler | src/handlers/ws.rs:10 | WebSocket 连接 |
| MockHandler | tests/mocks.rs:5 | 测试模拟 |
### 实现详情
#### AuthHandler
```rust
impl Handler for AuthHandler {
fn handle(&self, request: Request) -> Response {
// 身份验证逻辑
}
fn name(&self) -> &str {
"auth"
}
}
```
#### ApiHandler
```rust
impl Handler for ApiHandler {
fn handle(&self, request: Request) -> Response {
// API 路由逻辑
}
fn name(&self) -> &str {
"api"
}
}
```
## `User` 实现的 trait
**结构体定义于:** src/models/user.rs:10
### 标准库 Trait
| Trait | 派生/手动 | 备注 |
|-------|----------------|-------|
| Debug | #[derive] | 自动生成 |
| Clone | #[derive] | 自动生成 |
| Default | manual | 自定义默认值 |
| Display | manual | 用户友好输出 |
### Serde Trait
| Trait | 位置 |
|-------|----------|
| Serialize | #[derive] |
| Deserialize | #[derive] |
### 项目 Trait
| Trait | 位置 | 方法 |
|-------|----------|---------|
| Entity | src/db/entity.rs:30 | id(), created_at() |
| Validatable | src/validation.rs:15 | validate() |
### 实现层次结构
```
User
├── derive
│ ├── Debug
│ ├── Clone
│ ├── Serialize
│ └── Deserialize
└── impl
├── Default (src/models/user.rs:50)
├── Display (src/models/user.rs:60)
├── Entity (src/models/user.rs:70)
└── Validatable (src/models/user.rs:85)
```
## Trait 层次结构
┌─────────────┐
│ Error │ (std)
└──────┬──────┘
│
┌────────────┼────────────┐
│ │ │
┌───────▼───────┐ ┌──▼──┐ ┌───────▼───────┐
│ AppError │ │ ... │ │ DbError │
└───────┬───────┘ └─────┘ └───────┬───────┘
│ │
┌───────▼───────┐ ┌───────▼───────┐
│ AuthError │ │ QueryError │
└───────────────┘ └───────────────┘
## Trait 实现覆盖率
Trait: Handler (3 个必需方法)
| 实现者 | handle() | name() | priority() | 完成状态 |
|-------------|----------|--------|------------|----------|
| AuthHandler | ✅ | ✅ | ✅ | 是 |
| ApiHandler | ✅ | ✅ | ❌ 默认 | 是 |
| MockHandler | ✅ | ✅ | ✅ | 是 |
## 泛型实现
以下泛型实现可能适用于您的类型:
| Trait | 泛型实现 | 适用于 |
|-------|--------------|------------|
| From<T> | `impl<T> From<T> for T` | 所有类型 |
| Into<U> | `impl<T, U> Into<U> for T where U: From<T>` | 具有 From 的类型 |
| ToString | `impl<T: Display> ToString for T` | 具有 Display 的类型 |
| 用户提问 | 操作 |
|---|---|
| "谁实现了 X?" | 对 trait 使用 goToImplementation |
| "Y 实现了哪些 trait?" | 使用 Grep 搜索 impl * for Y |
| "显示 trait 层次结构" | 递归查找父 trait |
| "X 是否实现了 Send + Sync?" | 检查标准库 trait 实现 |
| 何时使用 | 参见 |
|---|---|
| 导航到实现 | rust-code-navigator |
| 调用关系 | rust-call-graph |
| 项目结构 | rust-symbol-analyzer |
| 安全重构 | rust-refactor-helper |
每周安装量
562
代码仓库
GitHub 星标数
929
首次出现
Jan 22, 2026
安全审计
安装于
opencode516
codex502
gemini-cli495
github-copilot487
amp442
kimi-cli439
Discover trait implementations and understand polymorphic designs.
/rust-trait-explorer <TraitName|StructName>
Examples:
/rust-trait-explorer Handler - Find all implementors of Handler trait/rust-trait-explorer MyStruct - Find all traits implemented by MyStructFind all implementations of a trait.
LSP(
operation: "goToImplementation",
filePath: "src/traits.rs",
line: 10,
character: 11
)
Use when:
User: "Who implements the Handler trait?"
│
▼
[1] Find trait definition
LSP(goToDefinition) or workspaceSymbol
│
▼
[2] Get implementations
LSP(goToImplementation)
│
▼
[3] For each impl, get details
LSP(documentSymbol) for methods
│
▼
[4] Generate implementation map
User: "What traits does MyStruct implement?"
│
▼
[1] Find struct definition
│
▼
[2] Search for "impl * for MyStruct"
Grep pattern matching
│
▼
[3] Get trait details for each
│
▼
[4] Generate trait list
## Implementations of `Handler`
**Trait defined at:** src/traits.rs:15
```rust
pub trait Handler {
fn handle(&self, request: Request) -> Response;
fn name(&self) -> &str;
}
```
### Implementors (4)
| Type | Location | Notes |
|------|----------|-------|
| AuthHandler | src/handlers/auth.rs:20 | Handles authentication |
| ApiHandler | src/handlers/api.rs:15 | REST API endpoints |
| WebSocketHandler | src/handlers/ws.rs:10 | WebSocket connections |
| MockHandler | tests/mocks.rs:5 | Test mock |
### Implementation Details
#### AuthHandler
```rust
impl Handler for AuthHandler {
fn handle(&self, request: Request) -> Response {
// Authentication logic
}
fn name(&self) -> &str {
"auth"
}
}
```
#### ApiHandler
```rust
impl Handler for ApiHandler {
fn handle(&self, request: Request) -> Response {
// API routing logic
}
fn name(&self) -> &str {
"api"
}
}
```
## Traits implemented by `User`
**Struct defined at:** src/models/user.rs:10
### Standard Library Traits
| Trait | Derived/Manual | Notes |
|-------|----------------|-------|
| Debug | #[derive] | Auto-generated |
| Clone | #[derive] | Auto-generated |
| Default | manual | Custom defaults |
| Display | manual | User-friendly output |
### Serde Traits
| Trait | Location |
|-------|----------|
| Serialize | #[derive] |
| Deserialize | #[derive] |
### Project Traits
| Trait | Location | Methods |
|-------|----------|---------|
| Entity | src/db/entity.rs:30 | id(), created_at() |
| Validatable | src/validation.rs:15 | validate() |
### Implementation Hierarchy
```
User
├── derive
│ ├── Debug
│ ├── Clone
│ ├── Serialize
│ └── Deserialize
└── impl
├── Default (src/models/user.rs:50)
├── Display (src/models/user.rs:60)
├── Entity (src/models/user.rs:70)
└── Validatable (src/models/user.rs:85)
```
## Trait Hierarchy
┌─────────────┐
│ Error │ (std)
└──────┬──────┘
│
┌────────────┼────────────┐
│ │ │
┌───────▼───────┐ ┌──▼──┐ ┌───────▼───────┐
│ AppError │ │ ... │ │ DbError │
└───────┬───────┘ └─────┘ └───────┬───────┘
│ │
┌───────▼───────┐ ┌───────▼───────┐
│ AuthError │ │ QueryError │
└───────────────┘ └───────────────┘
## Trait Implementation Coverage
Trait: Handler (3 required methods)
| Implementor | handle() | name() | priority() | Complete |
|-------------|----------|--------|------------|----------|
| AuthHandler | ✅ | ✅ | ✅ | Yes |
| ApiHandler | ✅ | ✅ | ❌ default | Yes |
| MockHandler | ✅ | ✅ | ✅ | Yes |
## Blanket Implementations
The following blanket impls may apply to your types:
| Trait | Blanket Impl | Applies To |
|-------|--------------|------------|
| From<T> | `impl<T> From<T> for T` | All types |
| Into<U> | `impl<T, U> Into<U> for T where U: From<T>` | Types with From |
| ToString | `impl<T: Display> ToString for T` | Types with Display |
| User Says | Action |
|---|---|
| "Who implements X?" | goToImplementation on trait |
| "What traits does Y impl?" | Grep for impl * for Y |
| "Show trait hierarchy" | Find super-traits recursively |
| "Is X: Send + Sync?" | Check std trait impls |
| When | See |
|---|---|
| Navigate to impl | rust-code-navigator |
| Call relationships | rust-call-graph |
| Project structure | rust-symbol-analyzer |
| Safe refactoring | rust-refactor-helper |
Weekly Installs
562
Repository
GitHub Stars
929
First Seen
Jan 22, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode516
codex502
gemini-cli495
github-copilot487
amp442
kimi-cli439
agent-browser 浏览器自动化工具 - Vercel Labs 命令行网页操作与测试
138,300 周安装
FastAPI官方技能:Python Web开发最佳实践与CLI工具使用指南
849 周安装
Trigger.dev AI智能体模式指南:构建生产就绪AI工作流的7大核心模式
824 周安装
产品定位与信息传递框架指南 | 58位专家方法论,打造差异化营销策略
814 周安装
技能创建器指南:如何为Claude AI创建模块化技能包(含YAML元数据与资源管理)
755 周安装
ElevenLabs 智能体构建器 - 快速构建对话式AI语音助手,集成工具与知识库
810 周安装
Framer Motion动画设计指南 | Web应用UI/滚动/微交互动画实现教程
801 周安装