dupelint Notify me

Proven on CPython — full results

The actual output.

A single full-spectrum pass over the CPython 3.12.3 standard library and tooling. Over-detect, then prove down to certainty — nothing reaches a verdict without an unconditional proof.

CPython 3.12.3 target 63186 functions 1996 files 8 skipped ~14.6 min single pass scanned 2026-06-16 21:58:05 UTC
candidates flagged
2,346,742
raw suspects, all clone types
sound duplicates
79
proven, with a consolidation
candidates
175
detected, not provable → review
false positives
0
by construction — not tuning

Per clone type

TypeConfirmed
1 — exact28
2 — renamed30
3 — gapped17
4 — semantic0
5 — subsumption 4
total79

Confirmed duplicates (79)

Proven-equivalent (or proven-contained) — 0 false positives by construction. Each is the suggested consolidation; dupelint decides, you apply.

Delete the duplicate, reuse the canonical one (58)
Extract the shared run into a helper both call (Type-3) (17)
The outer re-derives the inner — call it instead (Type-5) (4)

Candidates (175)

Detected with full confidence, but proving the merge safe is beyond deterministic math — surfaced for review, never guessed, never shipped as a verdict.

cross-class same body, different classes — sound fix is extract-a-shared-base, not a mechanical merge
133
decorator-mismatch different decorators → not interchangeable
16
free-global-divergent a free global resolves to different values across modules → behaves differently
14
unresolvable a binding that can't be resolved statically (dynamic/conditional import)
7
decorator-divergent a decorator binds differently per module → not interchangeable
3
mutable-default a mutable default gives each its own state pool
1
escaping-write the shared run writes a global/nonlocal — can't be relocated into a helper
1

Dupe-by-design: 0 · Ruled out by the sound sieve: 2346488 · 0 false-positive verdicts.