rust Code Health

44 open-source rust repositories analyzed by activity-weighted risk — complexity × recent commit frequency. Sorted highest risk first.

Repositories 44
Avg Top Risk 19.5
Top Patterns long_functionexit_heavycomplex_branching
DioxusLabs/dioxus risk 41.1

DioxusLabs/dioxus: harness.rs carries the highest risk — 5 functions to address

All five of dioxus's highest-priority hotspots live inside a single file, `packages/fuzz/src/harness.rs`, and every one of them was touched in the last 30 days. That kind of concentration means a single developer working in that module is simultaneously carrying the structural weight of a god function, broad fan-out coupling, and live regression risk — not as separate problems to schedule, but as one tangled surface to navigate today.

long_functiongod_function
Read →
nushell/nushell risk 37.1

nushell's parser carries the highest activity risk — 5 functions to address first

Every one of nushell's top five hotspots lives inside the parser layer, and every one is in the fire quadrant — structurally extreme and actively touched within the last six days. If you're shipping parser changes this week, you're working inside code with cyclomatic complexity as high as 115 and nesting depths up to 12 levels.

complex_branchingdeeply_nested
Read →
rust-lang/cargo risk 26.6

Cargo's registry and workspace parsing carry the highest activity risk

Five functions in cargo stand out for structural complexity, some under active recent change and some sitting as dormant debt. Top of the list: the publish command in the registry code, carrying an activity-weighted risk score of 26.58 and touched just 6 days ago.

long_functionexit_heavy
Read →
astral-sh/ruff risk 26.0

ruff's AST checker carries the highest activity risk — 5 functions to address first

One function in astral-sh/ruff sits in a completely different complexity category from everything else on the list: `expression` in `analyze/expression.rs` has a cyclomatic complexity of 552, compared to 16 for the fifth-ranked function — a gap of 536 points that puts it in outlier territory by any measure. With 2 commits touching it in the last 30 days and an activity-weighted risk score of 26.01, this isn't a cleanup item sitting in the backlog; it's a live regression surface that is changing right now.

long_functiongod_function
Read →
vercel-labs/agent-browser risk 21.7

agent-browser's React bridge has top activity risk — 5 functions to address first

A Hotspots analysis of vercel-labs/agent-browser at commit 82eadce, surfacing React instrumentation, CLI, and command-parser functions with the highest activity-weighted risk.

complex_branchingdeeply_nested
Read →
juspay/hyperswitch risk 21.2

hyperswitch's payment core carries the highest activity risk

Five functions in juspay/hyperswitch are both structurally extreme and actively changing right now — meaning engineers shipping code this week are doing so inside some of the most structurally dense code in the repo. The highest-ranked hotspot carries a cyclomatic complexity of 103 with eleven levels of nesting, and the payment response tracker sitting just below it was last modified today.

complex_branchingdeeply_nested
Read →
pola-rs/polars risk 21.2

polars' query engine carries the highest activity risk — 5 functions to address first

Five functions sitting at the intersection of extreme structural complexity and recent commit activity are the most urgent review targets in pola-rs/polars right now — not because the code is bad, but because the math on regression risk is hard to argue with when cyclomatic complexity reaches 215 and the function was touched two days ago.

complex_branchingexit_heavy
Read →
servo/servo risk 21.1

servo/servo's test infrastructure carries the highest risk — 5 functions to fix

Across 50,646 functions in servo/servo, five have landed in the fire quadrant simultaneously — structurally extreme and modified within the past 24 hours. The most urgent isn't in the rendering engine itself but in the build tooling: a Python cache-management function with a cyclomatic complexity of 108 and nine levels of nesting, last touched one day ago.

long_functioncomplex_branching
Read →
rust-lang/rust-clippy risk 21.0

Rust-clippy's lint-check logic tops activity risk — 5 functions to fix first

Five functions in rust-clippy's lint-checking code are structurally complex and being edited right now — the exact combination that produces regressions in CI-gated tools like this one.

exit_heavycomplex_branching
Read →
bevyengine/bevy risk 20.3

bevy: rendering pipeline carries the highest risk — 5 functions to fix first

Five functions across bevy's rendering pipeline and asset loading layer are in the 'fire' quadrant right now — structurally complex and receiving commits this week. If your team is shipping rendering or glTF changes against commit 9f4ff89, at least three of these functions are live regression surfaces today.

complex_branchinggod_function
Read →
fish-shell/fish-shell risk 19.9

fish-shell's core subsystems carry the highest activity risk

Five of fish-shell's most structurally complex functions are also among the most actively modified right now, placing them in live-regression territory rather than on a future cleanup list. The highest-scoring function, `read_string` in `src/tokenizer.rs`, carries an activity-weighted risk score of 19.88 with a cyclomatic complexity of 64 and a nesting depth of 14 — and it was modified as recently as today.

complex_branchingdeeply_nested
Read →
astral-sh/uv risk 19.8

uv's CLI command layer carries the highest activity risk — 5 functions to fix first

I ran astral-sh/uv's structural complexity against recent commit activity and found five functions — all in the 'fire' quadrant — that are hard to reason about and being changed right now, with `add` and `run` anchoring the list at cyclomatic complexity 64 and 82 respectively.

complex_branchingdeeply_nested
Read →
rustfs/rustfs risk 19.7

rustfs storage and protocol hotspots — 5 functions to address first

In rustfs, the highest-priority functions are not concentrated in one subsystem: storage healing, Swift request handling, scanner traversal, lifecycle evaluation, and object listing all appear in the top five. The common theme is structural density — every listed function combines complex branching, deep nesting, exit-heavy flow, god-function scope, and long-function shape.

complex_branchingdeeply_nested
Read →
wez/wezterm risk 19.4

WezTerm's render and input paths carry the highest risk — 5 functions to fix first

I found 500 functions in wezterm that are both complex and recently changed, and four of the top five are in that group, spread across rendering, font diagnostics, and Windows key handling. The worst one is a 121-path terminfo renderer that was last touched 22 days ago.

complex_branchingexit_heavy
Read →
dandavison/delta risk 19.3

Delta's run_app carries the highest activity risk — 5 functions to address first

One function in delta's entry point has far more branching than any other on my top-five list, and it was modified today. The rest of the list is dormant code that has gone untouched for 633 to 756 days.

complex_branchingexit_heavy
Read →
ruvnet/RuView risk 19.0

RuView's sensing server carries the highest activity risk — 5 functions to address first

The single most striking number in ruvnet/RuView is cyclomatic complexity 88 on `udp_receiver_task` — a gap of 71 complexity points above the fifth-ranked function, which puts it in a different category of structural risk entirely. Both top hotspots live in the same file and were last changed yesterday, making them live regression targets rather than backlog items.

complex_branchingdeeply_nested
Read →
helix-editor/helix risk 18.9

helix's application layer carries the highest activity risk

One function in helix's application layer is both structurally extreme and actively changing right now — `handle_language_server_message` carries a risk score of 18.9 with cyclomatic complexity of 67 and two touches in the last 30 days, making it a live regression risk for anyone shipping this week. Four more critical-band functions sit dormant with structural debt that will bite hard the moment a contributor opens them.

god_functionlong_function
Read →
surrealdb/surrealdb risk 18.8

surrealdb's search and value layer hides 77-day-old complexity debt in 5 functions

I went looking for where surrealdb's structural risk actually lives, and the answer surprised me: the five riskiest functions haven't been touched in at least 58 days, which means the debt has been quietly compounding while everyone's attention was elsewhere.

long_functionexit_heavy
Read →
vectordotdev/vector risk 18.8

Vector's ingestion and sink paths carry the highest risk — 5 functions first

Vector's riskiest code isn't in one corner: file tailing, gRPC decompression, S3 event handling and Elasticsearch config all have complex functions that changed within the last 8 days. If you're shipping a Vector change this week, there's a decent chance it lands near one of them.

long_functioncomplex_branching
Read →
spacedriveapp/spacedrive risk 18.8

Spacedrive's indexing core carries the highest structural debt

The riskiest code in spacedriveapp/spacedrive isn't what's being changed right now — it's the code last modified 105 days ago that carries enough structural complexity to derail whoever opens it next. I found five critical-band functions, all in the debt quadrant, that represent the highest blast-radius risk in the repository the moment development resumes on those paths.

exit_heavygod_function
Read →
rust-lang/regex risk 18.8

regex's search.rs carries the highest activity risk — 3 of top 5 hotspots live there

I looked at where structural complexity and recent commit activity overlap in rust-lang/regex, and the story isn't one function — it's one file, appearing three times in the top five.

complex_branchingdeeply_nested
Read →
typst/typst risk 18.8

Typst's layout and IDE code carries the highest structural debt — 5 functions first

I went digging through typst/typst's structural risk data and found the top hotspot isn't some function under active fire — it's a nine-deep nested collector nobody has touched in over two months. That's the more dangerous kind of risk: the one nobody's watching.

god_functionlong_function
Read →
rust-lang/mdBook risk 18.3

mdBook's front-end search carries the highest structural risk — 5 functions to review

The riskiest function in mdBook hasn't been touched in 112 days, which sounds reassuring until you look at its fan-out of 93 distinct calls and realize the next person to modify it inherits all that coupling cold.

complex_branchinggod_function
Read →
influxdata/influxdb risk 18.1

influxdb's query planner carries the highest structural debt — 5 functions to fix first

The riskiest function in influxdb's codebase hasn't been touched in five months — and that's exactly what makes it dangerous. I dug into the query planning layer to find out what's been quietly accumulating complexity while nobody was looking.

exit_heavylong_function
Read →
tokio-rs/tracing risk 17.7

tracing's macro parser has sat untouched for 546 days — 5 debt hotspots to fix first

The riskiest function in tokio-rs/tracing hasn't been touched in a year and a half. I looked at what happens when someone finally has to change it, and why the whole top-five list is dormant structural debt rather than live churn.

exit_heavystale_complex
Read →
actix/actix-web risk 17.7

actix-web's HTTP/1 dispatcher tops the risk list — five functions to address first

I looked at where actix-web's structural complexity and recent commit activity overlap. The top finding isn't a function under active churn — it's 32-day-old debt sitting in the HTTP/1 dispatcher, waiting for the next person who has to touch it.

exit_heavycomplex_branching
Read →
tw93/Pake risk 16.8

Pake: link-handling and window layer carry the highest risk — 5 functions to fix first

Five functions in tw93/Pake are simultaneously structurally complex and receiving active commits — that combination means every change landing this week is happening inside code with 17–26 independent execution paths. I'd start with `detectAnchorElementClick` in the event injection layer: touched 4 times in the last 30 days, it manages the entire link-routing decision tree for the embedded webview.

god_functionlong_function
Read →
tower-rs/tower risk 16.8

tower's test and polling layers carry the highest activity risk: 5 functions first

The riskiest function in tower is a test that hasn't been touched in 352 days, and two of the polling functions behind it have sat untouched for more than three years. I would treat this as a maintenance inventory rather than a fire drill.

complex_branchinggod_function
Read →
starship/starship risk 15.7

Starship's git status parser carries the highest debt risk — 5 functions to fix first

I looked at where starship's structural complexity is piling up untouched, and the answer is its git integration layer — a 47-path function nobody has needed to touch in a month, which is exactly when it becomes dangerous.

long_functionexit_heavy
Read →
alacritty/alacritty risk 15.5

Alacritty's input and rendering layer holds its oldest debt — 5 functions to fix first

Alacritty's riskiest function hasn't been touched in 269 days — this is a story about structural debt quietly waiting for the next developer who has to open the file, not about code currently breaking.

long_functiongod_function
Read →
rust-lang/rustlings risk 15.4

Rustlings' CLI core carries the highest activity risk — 5 functions to fix first

I looked at rust-lang/rustlings and found the exercise watcher's main event loop sitting at the top of the risk list — 37 execution paths deep in a function that was touched twice in the past year and last changed 24 days ago.

exit_heavylong_function
Read →
sunface/rust-course risk 14.9

rust-course's rustlings-zh entry points carry the highest structural debt — 2 functions to address first

The two highest-risk functions in rust-course haven't been touched in over three years — but their complexity means the next developer who does will face a steep blast radius.

exit_heavycomplex_branching
Read →
GyulyVGC/sniffnet risk 14.8

sniffnet's networking and GUI layers carry the highest activity risk

Five functions across sniffnet's networking and GUI layers sit in the fire quadrant right now — structurally complex and touched within the last 30 days — meaning any engineer shipping code this week is working adjacent to the highest regression-risk surfaces in the codebase. The most urgent single target is `parse_packets`, a god function with a cyclomatic complexity of 28, a fan-out of 31, and an activity-weighted risk score of 14.8.

complex_branchingdeeply_nested
Read →
sxyazi/yazi risk 14.6

yazi: actor, shim, and CLI layers carry the highest risk — 5 functions to fix first

Four of yazi's top five hotspots are in the fire quadrant right now: structurally complex functions that are also receiving active commits, making them live regression surfaces rather than backlog cleanup items. I'd start with `r#do` in `bulk_rename.rs`, which scored an activity-weighted risk of 14.61 and was touched twice in the last 30 days — but the deeper structural story is `value_to_data` in `sendable.rs`, a CC-55 function that hasn't been touched in 43 days and is overdue for decomposition before the next development push reaches the Lua data layer.

exit_heavycomplex_branching
Read →
ajeetdsouza/zoxide risk 14.5

zoxide's import layer carries the highest activity risk — 3 functions to address first

zoxide's import subsystem is live regression territory right now: two actively changing functions carry cyclomatic complexity of 16–19 while a utility god-function hasn't been touched in 606 days but carries a blast radius of 14 distinct callees.

exit_heavycomplex_branching
Read →
eza-community/eza risk 14.1

eza's CLI entry points carry the highest risk — 5 functions to fix first

I dug into eza's hotspot data and found that the code deciding how to render a listing — the option-deducing and top-level run logic — is where structural complexity and, in several cases, active change overlap the most right now.

exit_heavylong_function
Read →
rayon-rs/rayon risk 14.1

Rayon's sort and parsing internals sit on 1000+ days of untouched complexity

The riskiest function in rayon isn't being touched by anyone right now — which is exactly the problem: it's been sitting untouched for over three years, waiting for someone to eventually have to understand all 38 of its branches at once.

long_functionstale_complex
Read →
tokio-rs/axum risk 13.6

axum's from_request macro module holds 3 of the top 5 riskiest functions in the repo

I looked at where axum's structural complexity and recent commit activity overlap, and the story isn't a single gnarly function, it's a single file. Three of the five riskiest functions in the repo live in the same macro module, all untouched for nearly six months but carrying enough branching and exit paths to make the next edit there expensive.

exit_heavylong_function
Read →
casey/just

casey/just's parser and lexer carry the highest activity risk — 5 functions to address first

just's parser and lexer are both deeply complex and under active development right now — a combination that puts live regressions well within reach as the codebase continues to evolve.

complex_branchingdeeply_nested
Read →
FuelLabs/fuels-rs

fuels-rs's docs theme carries the highest activity risk — 5 vendored functions to address first

Every one of fuels-rs's top 5 hotspots lives inside a single vendored file. The real Rust codebase deserves a closer look once that noise is filtered out.

exit_heavygod_function
Read →
lapce/lapce

lapce's command dispatch carries the highest activity risk — 3 functions to address first

A CC of 294 in a function that's actively changing right now isn't a backlog item — it's a live regression risk. lapce's command dispatch layer is where structural debt and commit churn collide.

long_functiongod_function
Read →
iced-rs/iced

iced's winit and widget layers carry the highest structural risk — 5 functions to address first

Two functions in iced's winit and widget layers carry extreme cyclomatic complexity — one topping CC 166 — making them the highest blast-radius targets before the next development push.

long_functiongod_function
Read →
google/comprehensive-rust

comprehensive-rust's theme layer carries the highest activity risk — 4 functions to address first

The riskiest code in google/comprehensive-rust isn't in the Rust source — it's in the JavaScript theme layer, where functions with fan-out as high as 72 are actively changing right now.

exit_heavylong_function
Read →
sharkdp/fd

fd's walk and exec subsystems carry the highest structural risk — 5 functions

fd's walk and exec subsystems concentrate the most complex, high-blast-radius code in the codebase — 11 critical functions across 274 total, with structural debt that warrants attention before the nex

exit_heavycomplex_branching
Read →

Other Languages