本文为转载内容,保留原帖观点与结构;如有侵权请联系我处理。

最近我开始使用 rust 写项目,发现 cargo check 的报错实在是太冗长了。有时候重构一下直接出现 1000 多个报错,修编译错误都不知道从何改起。

因此,我分别用 python 和 rust 搓了个命令行工具,并给出了 windows 环境的可执行文件。

支持的选项为:

# 默认使用
./analyze_cargo

# 指定输出文件
./analyze_cargo --output report.md

# 过滤警告
./analyze_cargo --filter-warnings

# 按特定路径过滤
./analyze_cargo --filter-paths src/main.rs,src/lib.rs

# 组合过滤器
./analyze_cargo --filter-warnings --output errors_only.md

python 版也支持同样功能。


生成文件的参考为:

cargo_errors_report.md

Cargo Check Error Analysis Report

Filter Settings

  • No filters applied

Summary

  • Total Errors: 344
  • Total Warnings: 75
  • Total Issues: 419
  • Unique Error Patterns: 109
  • Unique Warning Patterns: 24
  • Files with Issues: 93

Error Statistics

Total Errors: 344

Error Type Breakdown

  • error[E0308]: 146 errors
  • error[E0599]: 122 errors
  • error[E0277]: 29 errors
  • error[E0507]: 23 errors
  • error[E0614]: 18 errors
  • error[E0515]: 4 errors
  • error[E0382]: 2 errors

Files with Errors (Top 10)

  • src\query\optimizer\elimination_rules.rs: 28 errors
  • src\query\optimizer\limit_pushdown.rs: 27 errors
  • src\query\optimizer\index_optimization.rs: 22 errors
  • src\query\optimizer\operation_merge.rs: 20 errors
  • src\query\optimizer\predicate_pushdown.rs: 14 errors
  • src\query\planner\ngql\go_planner.rs: 13 errors
  • src\query\planner\ngql\subgraph_planner.rs: 12 errors
  • src\query\visitor\extract_filter_expr_visitor.rs: 12 errors
  • src\query\planner\match_planning\utils\connection_strategy.rs: 12 errors
  • src\query\planner\ngql\lookup_planner.rs: 10 errors

Warning Statistics

Total Warnings: 75

Warning Type Breakdown

  • warning: 75 warnings

Files with Warnings (Top 10)

  • src\query\optimizer\elimination_rules.rs: 28 warnings
  • src\query\planner\plan\core\nodes\factory.rs: 15 warnings
  • src\query\visitor\extract_filter_expr_visitor.rs: 12 warnings
  • src\query\visitor\find_visitor.rs: 10 warnings
  • src\query\optimizer\join_optimization.rs: 8 warnings
  • src\query\visitor\evaluable_expr_visitor.rs: 8 warnings
  • src\core\evaluator\expression_evaluator.rs: 8 warnings
  • src\query\executor\result_processing\aggregation.rs: 6 warnings
  • src\query\optimizer\optimizer.rs: 5 warnings
  • src\query\planner\plan\management\ddl\edge_ops.rs: 5 warnings

Detailed Error Categorization

error[E0599]: no method named [identifier] found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in [identifier]

Total Occurrences: 85

Unique Files: 7

src\query\optimizer\limit_pushdown.rs: 25 occurrences

  • Line 74: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 81: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 104: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • … 22 more occurrences in this file

src\query\optimizer\index_optimization.rs: 20 occurrences

  • Line 29: no method named is_index_scan found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 40: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 49: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • … 17 more occurrences in this file

src\query\optimizer\elimination_rules.rs: 18 occurrences

  • Line 56: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 120: no method named is_dedup found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 142: no method named is_dedup found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • … 15 more occurrences in this file

src\query\optimizer\operation_merge.rs: 11 occurrences

  • Line 40: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 109: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 110: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • … 8 more occurrences in this file

src\query\optimizer\predicate_pushdown.rs: 6 occurrences

  • Line 45: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 307: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 432: no method named as_any found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • … 3 more occurrences in this file

src\query\optimizer\join_optimization.rs: 3 occurrences

  • Line 25: no method named is_hash_inner_join found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 26: no method named is_hash_left_join found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 27: no method named is_inner_join found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum

src\query\optimizer\scan_optimization.rs: 2 occurrences

  • Line 26: no method named is_index_scan found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum
  • Line 67: no method named is_scan_edges found for enum plan_node_enum::PlanNodeEnum in the current scope: method not found in PlanNodeEnum

后略。警告在最后。


📌 转载信息
转载时间:
2025/12/23 20:33:58