rust-lang/rust-clippy
Ver no GitHubNew Lint: No recursion without tail calls
Open
#1.678 aberto em 15 de abr. de 2017
A-lintL-perfT-middlegood first issue
Métricas do repositório
- Stars
- (10.406 stars)
- Métricas de merge de PR
- (Mesclagem média 19d 22h) (113 fundiu PRs em 30d)
Description
Based on this HIC++ guideline.
The stack explodes much faster using recursion than a huge BFS work queue would explode the heap. Therefore, if clippy detects some direct or indirect recursion that does not benefit from tail call optimisation, clippy should issue a warning along with a short description about why this is potentially bad and a short hint on how to transform recursive algorithms to iterative ones (e.g. using a work queue and BFS). And maybe a tl;dr about what tail calls are and how to make the algorithm tail recursive.