rust-trait-explorer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Rust Trait Explorer

Rust Trait 探索器

Discover trait implementations and understand polymorphic designs.
探索trait的实现,理解多态设计。

Usage

使用方法

/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 MyStruct
/rust-trait-explorer <TraitName|StructName>
示例:
  • /rust-trait-explorer Handler
    - 查找Handler trait的所有实现者
  • /rust-trait-explorer MyStruct
    - 查找MyStruct实现的所有trait

LSP Operations

LSP 操作

Go to Implementation

跳转到实现

Find all implementations of a trait.
LSP(
  operation: "goToImplementation",
  filePath: "src/traits.rs",
  line: 10,
  character: 11
)
Use when:
  • Trait name is known
  • Want to find all implementors
  • Understanding polymorphic code
查找某个trait的所有实现。
LSP(
  operation: "goToImplementation",
  filePath: "src/traits.rs",
  line: 10,
  character: 11
)
适用场景:
  • 已知trait名称
  • 想要查找所有实现者
  • 理解多态代码

Workflow

工作流程

Find Trait Implementors

查找Trait实现者

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
用户: "谁实现了Handler trait?"
[1] 查找trait定义
    LSP(goToDefinition) 或 workspaceSymbol
[2] 获取实现
    LSP(goToImplementation)
[3] 为每个实现获取详情
    LSP(documentSymbol) 获取方法
[4] 生成实现映射

Find Traits for a Type

查找类型实现的Trait

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
用户: "MyStruct实现了哪些trait?"
[1] 查找结构体定义
[2] 搜索"impl * for MyStruct"
    Grep模式匹配
[3] 获取每个trait的详情
[4] 生成trait列表

Output Format

输出格式

Trait Implementors

Trait实现者

undefined
undefined

Implementations of
Handler

Handler
的实现

Trait defined at: src/traits.rs:15
rust pub trait Handler {     fn handle(&self, request: Request) -> Response;     fn name(&self) -> &str; } ​
Trait定义位置: src/traits.rs:15
rust pub trait Handler {     fn handle(&self, request: Request) -> Response;     fn name(&self) -> &str; } ​

Implementors (4)

实现者(4个)

TypeLocationNotes
AuthHandlersrc/handlers/auth.rs:20Handles authentication
ApiHandlersrc/handlers/api.rs:15REST API endpoints
WebSocketHandlersrc/handlers/ws.rs:10WebSocket connections
MockHandlertests/mocks.rs:5Test mock
类型位置说明
AuthHandlersrc/handlers/auth.rs:20处理认证
ApiHandlersrc/handlers/api.rs:15REST API端点
WebSocketHandlersrc/handlers/ws.rs:10WebSocket连接
MockHandlertests/mocks.rs:5测试模拟

Implementation Details

实现详情

AuthHandler

AuthHandler

​```rust impl Handler for AuthHandler { fn handle(&self, request: Request) -> Response { // Authentication logic }
fn name(&self) -> &str {
    "auth"
}
} ​```
​```rust impl Handler for AuthHandler { fn handle(&self, request: Request) -> Response { // Authentication logic }
fn name(&self) -> &str {
    "auth"
}
} ​```

ApiHandler

ApiHandler

​```rust impl Handler for ApiHandler { fn handle(&self, request: Request) -> Response { // API routing logic }
fn name(&self) -> &str {
    "api"
}
} ​```
undefined
​```rust impl Handler for ApiHandler { fn handle(&self, request: Request) -> Response { // API routing logic }
fn name(&self) -> &str {
    "api"
}
} ​```
undefined

Traits for a Type

类型实现的Trait

undefined
undefined

Traits implemented by
User

User
实现的Trait

Struct defined at: src/models/user.rs:10
结构体定义位置: src/models/user.rs:10

Standard Library Traits

标准库Trait

TraitDerived/ManualNotes
Debug#[derive]Auto-generated
Clone#[derive]Auto-generated
DefaultmanualCustom defaults
DisplaymanualUser-friendly output
Trait派生/手动实现说明
Debug#[derive]自动生成
Clone#[derive]自动生成
Defaultmanual自定义默认值
Displaymanual用户友好的输出

Serde Traits

Serde Trait

TraitLocation
Serialize#[derive]
Deserialize#[derive]
Trait位置
Serialize#[derive]
Deserialize#[derive]

Project Traits

项目自定义Trait

TraitLocationMethods
Entitysrc/db/entity.rs:30id(), created_at()
Validatablesrc/validation.rs:15validate()
Trait位置方法
Entitysrc/db/entity.rs:30id(), created_at()
Validatablesrc/validation.rs:15validate()

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) ​
undefined
 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) ​
undefined

Trait Hierarchy Visualization

Trait层级可视化

undefined
undefined

Trait Hierarchy

Trait层级

┌─────────────┐ │ Error │ (std) └──────┬──────┘ │ ┌────────────┼────────────┐ │ │ │ ┌───────▼───────┐ ┌──▼──┐ ┌───────▼───────┐ │ AppError │ │ ... │ │ DbError │ └───────┬───────┘ └─────┘ └───────┬───────┘ │ │ ┌───────▼───────┐ ┌───────▼───────┐ │ AuthError │ │ QueryError │ └───────────────┘ └───────────────┘
undefined
┌─────────────┐ │ Error │ (std) └──────┬──────┘ │ ┌────────────┼────────────┐ │ │ │ ┌───────▼───────┐ ┌──▼──┐ ┌───────▼───────┐ │ AppError │ │ ... │ │ DbError │ └───────┬───────┘ └─────┘ └───────┬───────┘ │ │ ┌───────▼───────┐ ┌───────▼───────┐ │ AuthError │ │ QueryError │ └───────────────┘ └───────────────┘
undefined

Analysis Features

分析功能

Coverage Check

覆盖率检查

undefined
undefined

Trait Implementation Coverage

Trait实现覆盖率

Trait: Handler (3 required methods)
Implementorhandle()name()priority()Complete
AuthHandlerYes
ApiHandler❌ defaultYes
MockHandlerYes
undefined
Trait: Handler(3个必需方法)
实现者handle()name()priority()完成度
AuthHandler
ApiHandler❌ 默认
MockHandler
undefined

Blanket Implementations

Blanket Implementations

undefined
undefined

Blanket Implementations

Blanket Implementations

The following blanket impls may apply to your types:
TraitBlanket ImplApplies 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
undefined
以下全局实现可能适用于你的类型:
TraitBlanket Impl适用类型
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的类型
undefined

Common Patterns

常见场景

User SaysAction
"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
用户提问操作
"谁实现了X?"对trait执行goToImplementation
"Y实现了哪些trait?"搜索
impl * for Y
"显示trait层级"递归查找父trait
"X是否实现了Send + Sync?"检查标准库trait实现

Related Skills

相关技能

WhenSee
Navigate to implrust-code-navigator
Call relationshipsrust-call-graph
Project structurerust-symbol-analyzer
Safe refactoringrust-refactor-helper
场景查看
跳转到实现rust-code-navigator
调用关系rust-call-graph
项目结构rust-symbol-analyzer
安全重构rust-refactor-helper