{"$schema":"https://json.schemastore.org/sarif-2.1.0.json","version":"2.1.0","runs":[{"tool":{"driver":{"name":"codehealth","informationUri":"https://codehealth.canine.dev","rules":[{"id":"D1","name":"Cyclomatic Complexity","shortDescription":{"text":"Cyclomatic Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D1"},{"id":"D2","name":"Cognitive Complexity","shortDescription":{"text":"Cognitive Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D2"},{"id":"D4","name":"Code Duplication","shortDescription":{"text":"Code Duplication"},"helpUri":"https://codehealth.canine.dev/dimensions/D4"},{"id":"D5","name":"Coupling","shortDescription":{"text":"Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D5"},{"id":"D8","name":"Code Coverage","shortDescription":{"text":"Code Coverage"},"helpUri":"https://codehealth.canine.dev/dimensions/D8"},{"id":"D9","name":"Test Distribution","shortDescription":{"text":"Test Distribution"},"helpUri":"https://codehealth.canine.dev/dimensions/D9"},{"id":"D11","name":"Test Reliability","shortDescription":{"text":"Test Reliability"},"helpUri":"https://codehealth.canine.dev/dimensions/D11"},{"id":"D13","name":"Secret Scanning","shortDescription":{"text":"Secret Scanning"},"helpUri":"https://codehealth.canine.dev/dimensions/D13","relationships":[{"target":{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-798","CWE-259"]}},{"id":"D14","name":"License Compliance","shortDescription":{"text":"License Compliance"},"helpUri":"https://codehealth.canine.dev/dimensions/D14"},{"id":"D15","name":"Churn \u00D7 Complexity Hotspots","shortDescription":{"text":"Churn \u00D7 Complexity Hotspots"},"helpUri":"https://codehealth.canine.dev/dimensions/D15"},{"id":"D17","name":"Explicit Debt","shortDescription":{"text":"Explicit Debt"},"helpUri":"https://codehealth.canine.dev/dimensions/D17"},{"id":"D19","name":"Documentation Quality","shortDescription":{"text":"Documentation Quality"},"helpUri":"https://codehealth.canine.dev/dimensions/D19"},{"id":"D21","name":"Naming Consistency","shortDescription":{"text":"Naming Consistency"},"helpUri":"https://codehealth.canine.dev/dimensions/D21"},{"id":"D22","name":"Internal API Consistency","shortDescription":{"text":"Internal API Consistency"},"helpUri":"https://codehealth.canine.dev/dimensions/D22"},{"id":"D24","name":"Comment Value","shortDescription":{"text":"Comment Value"},"helpUri":"https://codehealth.canine.dev/dimensions/D24"},{"id":"D26","name":"Project Cohesion","shortDescription":{"text":"Project Cohesion"},"helpUri":"https://codehealth.canine.dev/dimensions/D26"},{"id":"D29","name":"Static Analysis (SAST)","shortDescription":{"text":"Static Analysis (SAST)"},"helpUri":"https://codehealth.canine.dev/dimensions/D29","relationships":[{"target":{"id":"CWE-79","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-89","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-78","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-94","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-77","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-79","CWE-89","CWE-78","CWE-94","CWE-77"]}},{"id":"D34","name":"Knowledge Freshness","shortDescription":{"text":"Knowledge Freshness"},"helpUri":"https://codehealth.canine.dev/dimensions/D34"},{"id":"D35","name":"Change Coupling","shortDescription":{"text":"Change Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D35"},{"id":"D36","name":"Supply-chain Provenance \u0026 Signing","shortDescription":{"text":"Supply-chain Provenance \u0026 Signing"},"helpUri":"https://codehealth.canine.dev/dimensions/D36","relationships":[{"target":{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-494","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1357","CWE-494"]}},{"id":"D44","name":"Platform End-of-Life","shortDescription":{"text":"Platform End-of-Life"},"helpUri":"https://codehealth.canine.dev/dimensions/D44"},{"id":"AX10","name":"Code composition","shortDescription":{"text":"Code composition"},"helpUri":"https://codehealth.canine.dev/dimensions/AX10"},{"id":"AX3","name":"Project dependency cycles","shortDescription":{"text":"Project dependency cycles"},"helpUri":"https://codehealth.canine.dev/dimensions/AX3"},{"id":"AX4","name":"Dependency direction","shortDescription":{"text":"Dependency direction"},"helpUri":"https://codehealth.canine.dev/dimensions/AX4"},{"id":"AX5","name":"Architecture \u0026 structure","shortDescription":{"text":"Architecture \u0026 structure"},"helpUri":"https://codehealth.canine.dev/dimensions/AX5"},{"id":"AX8","name":"Test isolation","shortDescription":{"text":"Test isolation"},"helpUri":"https://codehealth.canine.dev/dimensions/AX8"},{"id":"AX9","name":"CQS / query purity","shortDescription":{"text":"CQS / query purity"},"helpUri":"https://codehealth.canine.dev/dimensions/AX9"},{"id":"ED5","name":"Idempotency","shortDescription":{"text":"Idempotency"},"helpUri":"https://codehealth.canine.dev/dimensions/ED5"},{"id":"GD1","name":"Unfinished \u0026 placeholder code","shortDescription":{"text":"Unfinished \u0026 placeholder code"},"helpUri":"https://codehealth.canine.dev/dimensions/GD1"},{"id":"M1","name":"Documentation (README)","shortDescription":{"text":"Documentation (README)"},"helpUri":"https://codehealth.canine.dev/dimensions/M1"},{"id":"M2","name":"Architecture documentation","shortDescription":{"text":"Architecture documentation"},"helpUri":"https://codehealth.canine.dev/dimensions/M2"},{"id":"M3","name":"Folder \u0026 project structure","shortDescription":{"text":"Folder \u0026 project structure"},"helpUri":"https://codehealth.canine.dev/dimensions/M3"},{"id":"M4","name":"Documentation accuracy","shortDescription":{"text":"Documentation accuracy"},"helpUri":"https://codehealth.canine.dev/dimensions/M4"},{"id":"P1","name":"CI/CD gates","shortDescription":{"text":"CI/CD gates"},"helpUri":"https://codehealth.canine.dev/dimensions/P1"},{"id":"P12","name":"CI test-gate honesty","shortDescription":{"text":"CI test-gate honesty"},"helpUri":"https://codehealth.canine.dev/dimensions/P12"},{"id":"P2","name":"Observability","shortDescription":{"text":"Observability"},"helpUri":"https://codehealth.canine.dev/dimensions/P2"},{"id":"P3","name":"Security \u0026 performance tooling","shortDescription":{"text":"Security \u0026 performance tooling"},"helpUri":"https://codehealth.canine.dev/dimensions/P3"},{"id":"P4","name":"Deployment \u0026 Rollback","shortDescription":{"text":"Deployment \u0026 Rollback"},"helpUri":"https://codehealth.canine.dev/dimensions/P4"},{"id":"P5","name":"DR \u0026 Backup","shortDescription":{"text":"DR \u0026 Backup"},"helpUri":"https://codehealth.canine.dev/dimensions/P5"},{"id":"P6","name":"Release Hygiene","shortDescription":{"text":"Release Hygiene"},"helpUri":"https://codehealth.canine.dev/dimensions/P6"},{"id":"SC1","name":"Supply-chain hygiene","shortDescription":{"text":"Supply-chain hygiene"},"helpUri":"https://codehealth.canine.dev/dimensions/SC1"},{"id":"X1","name":"Async correctness","shortDescription":{"text":"Async correctness"},"helpUri":"https://codehealth.canine.dev/dimensions/X1"},{"id":"X10","name":"Duplicated predicate","shortDescription":{"text":"Duplicated predicate"},"helpUri":"https://codehealth.canine.dev/dimensions/X10"},{"id":"X12","name":"Unreachable branch","shortDescription":{"text":"Unreachable branch"},"helpUri":"https://codehealth.canine.dev/dimensions/X12"},{"id":"X13","name":"Undrained process stream","shortDescription":{"text":"Undrained process stream"},"helpUri":"https://codehealth.canine.dev/dimensions/X13"},{"id":"X14","name":"Bypassable address classification","shortDescription":{"text":"Bypassable address classification"},"helpUri":"https://codehealth.canine.dev/dimensions/X14"},{"id":"X15","name":"Unvalidated length from an untrusted reader","shortDescription":{"text":"Unvalidated length from an untrusted reader"},"helpUri":"https://codehealth.canine.dev/dimensions/X15"},{"id":"X16","name":"Unfloored truncation loop","shortDescription":{"text":"Unfloored truncation loop"},"helpUri":"https://codehealth.canine.dev/dimensions/X16"},{"id":"X17","name":"Uncapped recursion over a caller-supplied document","shortDescription":{"text":"Uncapped recursion over a caller-supplied document"},"helpUri":"https://codehealth.canine.dev/dimensions/X17"},{"id":"X18","name":"Disposal-pattern correctness","shortDescription":{"text":"Disposal-pattern correctness"},"helpUri":"https://codehealth.canine.dev/dimensions/X18"},{"id":"X19","name":"Unrestored process-global state","shortDescription":{"text":"Unrestored process-global state"},"helpUri":"https://codehealth.canine.dev/dimensions/X19"},{"id":"X20","name":"Mistyped argument guard","shortDescription":{"text":"Mistyped argument guard"},"helpUri":"https://codehealth.canine.dev/dimensions/X20"},{"id":"X21","name":"Side-effecting pattern guard","shortDescription":{"text":"Side-effecting pattern guard"},"helpUri":"https://codehealth.canine.dev/dimensions/X21"},{"id":"X22","name":"Contradicted release guard","shortDescription":{"text":"Contradicted release guard"},"helpUri":"https://codehealth.canine.dev/dimensions/X22"},{"id":"X23","name":"Unguarded diagnostic materialisation","shortDescription":{"text":"Unguarded diagnostic materialisation"},"helpUri":"https://codehealth.canine.dev/dimensions/X23"},{"id":"X24","name":"Document value interpolated into markup unescaped","shortDescription":{"text":"Document value interpolated into markup unescaped"},"helpUri":"https://codehealth.canine.dev/dimensions/X24"},{"id":"X25","name":"Inert configuration knob","shortDescription":{"text":"Inert configuration knob"},"helpUri":"https://codehealth.canine.dev/dimensions/X25"},{"id":"X26","name":"Unsynchronised callback handoff","shortDescription":{"text":"Unsynchronised callback handoff"},"helpUri":"https://codehealth.canine.dev/dimensions/X26"},{"id":"X27","name":"Collection changed while being enumerated","shortDescription":{"text":"Collection changed while being enumerated"},"helpUri":"https://codehealth.canine.dev/dimensions/X27"},{"id":"X28","name":"Index access outside its own emptiness guard","shortDescription":{"text":"Index access outside its own emptiness guard"},"helpUri":"https://codehealth.canine.dev/dimensions/X28"},{"id":"X29","name":"Per-element action decided by a fixed element","shortDescription":{"text":"Per-element action decided by a fixed element"},"helpUri":"https://codehealth.canine.dev/dimensions/X29"},{"id":"X3","name":"Exception handling","shortDescription":{"text":"Exception handling"},"helpUri":"https://codehealth.canine.dev/dimensions/X3"},{"id":"X30","name":"Support guard that admits what it rejects","shortDescription":{"text":"Support guard that admits what it rejects"},"helpUri":"https://codehealth.canine.dev/dimensions/X30"},{"id":"X32","name":"Type resolved by simple name across every loaded assembly","shortDescription":{"text":"Type resolved by simple name across every loaded assembly"},"helpUri":"https://codehealth.canine.dev/dimensions/X32"},{"id":"X4","name":"Structured logging","shortDescription":{"text":"Structured logging"},"helpUri":"https://codehealth.canine.dev/dimensions/X4"},{"id":"X5","name":"Nullable reference types","shortDescription":{"text":"Nullable reference types"},"helpUri":"https://codehealth.canine.dev/dimensions/X5"},{"id":"X9","name":"Subsumed condition operand","shortDescription":{"text":"Subsumed condition operand"},"helpUri":"https://codehealth.canine.dev/dimensions/X9"}]}},"results":[{"ruleId":"D1","level":"warning","message":{"text":"WinUiRuntime::apply_one (cyclomatic 182): WinUiRuntime::apply_one has cyclomatic complexity 182 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":1713}}}],"partialFingerprints":{"codehealthFindingId/v1":"1cd6483aa3ad3d2290a3f21ba8cf3b13c1606829dea1239087587f68fcb8cf93"}},{"ruleId":"D1","level":"warning","message":{"text":"Snapshot::plan (cyclomatic 181): Snapshot::plan has cyclomatic complexity 181 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":773}}}],"partialFingerprints":{"codehealthFindingId/v1":"af6e34e5b86ac299ba2b82d54219983aa4dd7ef9c156a557f64ca47981e73fca"}},{"ruleId":"D1","level":"warning","message":{"text":"Schema::resolve (cyclomatic 131): Schema::resolve has cyclomatic complexity 131 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/schema.rs"},"region":{"startLine":768}}}],"partialFingerprints":{"codehealthFindingId/v1":"04a8be3d52768cc50d541c257bedff2e60b88fa25fe3fb11d1999043e061279d"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::reconcile_planned_view (cyclomatic 96): Pump::reconcile_planned_view has cyclomatic complexity 96 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"82c8999534c0626ee5f93baa625ce9c60c3f2386488213eec29952ac36b7c23b"}},{"ruleId":"D1","level":"warning","message":{"text":"Method::write (cyclomatic 92): Method::write has cyclomatic complexity 92 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/method.rs"},"region":{"startLine":347}}}],"partialFingerprints":{"codehealthFindingId/v1":"98cd29c71ae481f248c72110c87833d25e7f34fdf77489ecd02f6225b3c35cd7"}},{"ruleId":"D1","level":"warning","message":{"text":"IUIAutomationElement_Vtbl::new (cyclomatic 80): IUIAutomationElement_Vtbl::new has cyclomatic complexity 80 (threshold 15). Most of this is not in the body itself: 1 of the 80 points is its own statement and the rest belongs to 79 function items inside it that branch (GetRuntimeId, FindFirst, FindAll, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/uiautomationclient/mod.rs"},"region":{"startLine":3625}}}],"partialFingerprints":{"codehealthFindingId/v1":"0878d9d08ba299c77ea1a40577b24e58ea511ffb0062078cd4520cff8344ff19"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::mount_planned_view (cyclomatic 66): Pump::mount_planned_view has cyclomatic complexity 66 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1802}}}],"partialFingerprints":{"codehealthFindingId/v1":"24b5c3c37cfc6c0cdebeb0362b18ddb9a704a959a9ea8d9ca1ba0ccea75f7914"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::node_matches_view_kind (cyclomatic 59): Pump::node_matches_view_kind has cyclomatic complexity 59 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":814}}}],"partialFingerprints":{"codehealthFindingId/v1":"52aecca48075e1e655cb83a11d9d32bdd315a783190741644fbb64c281420a40"}},{"ruleId":"D1","level":"warning","message":{"text":"File::new (cyclomatic 56): File::new has cyclomatic complexity 56 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/reader/file.rs"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c33a9f7b0e4cf7e1b2ec63440065c1adb6f88931b1ff4a3fbaade200a0b94eb"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::dispatch_events (cyclomatic 54): Pump::dispatch_events has cyclomatic complexity 54 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/native_work.rs"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b787f90f179b1ce243ab67fe2ceb5e4331f989ef37e6403b3dfdfc32f27d68a"}},{"ruleId":"D1","level":"warning","message":{"text":"IADsUser_Vtbl::new (cyclomatic 49): IADsUser_Vtbl::new has cyclomatic complexity 49 (threshold 15). Most of this is not in the body itself: 1 of the 49 points is its own statement and the rest belongs to 48 function items inside it that branch (BadLoginAddress, BadLoginCount, LastLogin, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":12070}}}],"partialFingerprints":{"codehealthFindingId/v1":"79f4c335e9316bf08dd81567e654c93d5bba514c5f59ca96dd86ae1b981947e2"}},{"ruleId":"D1","level":"warning","message":{"text":"tool_reactor::generate_winui::generate_event_arm (cyclomatic 48): tool_reactor::generate_winui::generate_event_arm has cyclomatic complexity 48 (threshold 15). To reduce it, split the body: these branches sit side by side rather than nested inside one another, so extracting each one on its own would leave a function per branch. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_winui.rs"},"region":{"startLine":1022}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee04ebfefd2f1e918f7e5b3f5a4be7dbb9255e2cf2d10cdaa23f05e86ecb62bd"}},{"ruleId":"D1","level":"warning","message":{"text":"Type::combine_closure (cyclomatic 47): Type::combine_closure has cyclomatic complexity 47 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/type_closure.rs"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"58ff1b73ec52631e03fb2f80268dfc75a6c323e767e292825c3f1a7c205315fc"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::choose_type_root_cached (cyclomatic 46): windows_clang::choose_type_root_cached has cyclomatic complexity 46 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions. This shape REPEATS in the file: one other method here (windows_clang::choose_type_root_cached::resolved_type_shape::write) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":2079}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ad6bab46cf61500b8fbb47604b4b1e7301fdac5e78bf51e000901461964647f"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugControl6_Vtbl::new (cyclomatic 46): IDebugControl6_Vtbl::new has cyclomatic complexity 46 (threshold 15). Most of this is not in the body itself: 1 of the 46 points is its own statement and the rest belongs to 45 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugControl7_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":27822}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea16f0e99ba45a4fbf5e46e7310e3d095c033155fd38b12137f2ea1492059f9a"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugControl7_Vtbl::new (cyclomatic 46): IDebugControl7_Vtbl::new has cyclomatic complexity 46 (threshold 15). Most of this is not in the body itself: 1 of the 46 points is its own statement and the rest belongs to 45 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugControl6_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":30901}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb58fbcaddac6255b28b617eb0b6a9cb7e3ef65d954052924312055476cf8c20"}},{"ruleId":"D1","level":"warning","message":{"text":"Interface::write (cyclomatic 45): Interface::write has cyclomatic complexity 45 (threshold 15). Of this number, 43 points are the body\u0027s own statements and 2 belong to one function item inside it that branches. To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/interface.rs"},"region":{"startLine":207}}}],"partialFingerprints":{"codehealthFindingId/v1":"81d23da767a37be9908b479947213fc527d2dd20c99d3a0569de0f81108409fe"}},{"ruleId":"D1","level":"warning","message":{"text":"Encoder::encode_interface (cyclomatic 45): Encoder::encode_interface has cyclomatic complexity 45 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/interface.rs"},"region":{"startLine":108}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ed98854045ff14f3e6667173255f14c0f596ce5a6bb2efecf424760eab82db5"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugControl5_Vtbl::new (cyclomatic 45): IDebugControl5_Vtbl::new has cyclomatic complexity 45 (threshold 15). Most of this is not in the body itself: 1 of the 45 points is its own statement and the rest belongs to 44 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":24772}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3ebecb52072730c57d22c7a324c6703c82e01240464bd69d168ace670270ec8"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugControl4_Vtbl::new (cyclomatic 44): IDebugControl4_Vtbl::new has cyclomatic complexity 44 (threshold 15). Most of this is not in the body itself: 1 of the 44 points is its own statement and the rest belongs to 43 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":21784}}}],"partialFingerprints":{"codehealthFindingId/v1":"f883fc2a4e3e38347469e3e6b21bd9274ce7f6632fced2240c41f8cee570ef15"}},{"ruleId":"D1","level":"warning","message":{"text":"IUIAutomation_Vtbl::new (cyclomatic 44): IUIAutomation_Vtbl::new has cyclomatic complexity 44 (threshold 15). Most of this is not in the body itself: 1 of the 44 points is its own statement and the rest belongs to 43 function items inside it that branch (CompareElements, CompareRuntimeIds, GetRootElement, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/uiautomationclient/mod.rs"},"region":{"startLine":613}}}],"partialFingerprints":{"codehealthFindingId/v1":"5666da8eee825401e89aa96f211c2c93ecb6d4dcc3ef85ade778fd7f2119903b"}},{"ruleId":"D1","level":"warning","message":{"text":"IUpdate_Vtbl::new (cyclomatic 43): IUpdate_Vtbl::new has cyclomatic complexity 43 (threshold 15). Most of this is not in the body itself: 1 of the 43 points is its own statement and the rest belongs to 42 function items inside it that branch (Title, AutoSelectOnWebSites, BundledUpdates, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wuapi/mod.rs"},"region":{"startLine":3676}}}],"partialFingerprints":{"codehealthFindingId/v1":"1500b3271341d216ad29f523bb2f629bbcaa20d347aa813bf4fc9bbdb5bbeff5"}},{"ruleId":"D1","level":"warning","message":{"text":"Encoder::encode_path (cyclomatic 42): Encoder::encode_path has cyclomatic complexity 42 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":1041}}}],"partialFingerprints":{"codehealthFindingId/v1":"50f237a2c83bb65be6cbef2c0308116e0e6b4448f3a4380eab4dc8166bc131eb"}},{"ruleId":"D1","level":"warning","message":{"text":"CppMethod::new (cyclomatic 41): CppMethod::new has cyclomatic complexity 41 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_method.rs"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"3668240d98e23610f18e38a72a5f4e6c5cccbd02166ad9806a94e55d46c05098"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::extract_child (cyclomatic 41): windows_clang::extract::extract_child has cyclomatic complexity 41 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":827}}}],"partialFingerprints":{"codehealthFindingId/v1":"aaa7970b13269761ae167df0e4ad421982a8b72d7a19b0d95cdb8e838ebe7277"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::reconcile_node (cyclomatic 40): Pump::reconcile_node has cyclomatic complexity 40 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/element.rs"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"38752ca608432a7810f1b0dea2b91caee254ed22b5ef0c113ec014d8b196bc27"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::retire_planned_subtree (cyclomatic 39): Pump::retire_planned_subtree has cyclomatic complexity 39 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/topology.rs"},"region":{"startLine":620}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cb315ffdc4f529a9e8bab313125802a02d93c1ebb16feea6a9b1960184393e1"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_rdl::emit::write_type (cyclomatic 38): windows_rdl::emit::write_type has cyclomatic complexity 38 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/emit.rs"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"6261d4fb3be8b152a383462985a9090b09371a0dc1ec74ad4799de15bbc7eea8"}},{"ruleId":"D1","level":"warning","message":{"text":"IXpsOMObjectFactory_Vtbl::new (cyclomatic 38): IXpsOMObjectFactory_Vtbl::new has cyclomatic complexity 38 (threshold 15). Most of this is not in the body itself: 1 of the 38 points is its own statement and the rest belongs to 37 function items inside it that branch (CreatePackage, CreatePackageFromFile, CreatePackageFromStream, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/xps/mod.rs"},"region":{"startLine":5322}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b8777b025f9751e1d10f15e3a7361e72a4a0530f7531abe4488a791e6e1970f"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_rdl::formatter::format_seq (cyclomatic 37): windows_rdl::formatter::format_seq has cyclomatic complexity 37 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/formatter/mod.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"1bf0f313a9f1b121513cb2917ac8acc42482eed1ebb315878ad1a55b0549b039"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugControl3_Vtbl::new (cyclomatic 37): IDebugControl3_Vtbl::new has cyclomatic complexity 37 (threshold 15). Most of this is not in the body itself: 1 of the 37 points is its own statement and the rest belongs to 36 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":19249}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a17fb09c94e8d58631a4ce15ae518226c62e2b6560c11843f604bc62e83bf2b"}},{"ruleId":"D1","level":"warning","message":{"text":"CppInterface::write (cyclomatic 36): CppInterface::write has cyclomatic complexity 36 (threshold 15). Of this number, 34 points are the body\u0027s own statements and 2 belong to one function item inside it that branches. To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_interface.rs"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d3b72cf41ef047874a17311c6aabb5f4c99d5ecbebd80ababb174437430f731"}},{"ruleId":"D1","level":"warning","message":{"text":"Records::into_stream (cyclomatic 36): Records::into_stream has cyclomatic complexity 36 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/writer/file/rec.rs"},"region":{"startLine":197}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a58f201ade1c4453e7cecab6e99c69b9c87bac8b777143eaf9104eec1a57db7"}},{"ruleId":"D1","level":"warning","message":{"text":"ITextRange_Vtbl::new (cyclomatic 36): ITextRange_Vtbl::new has cyclomatic complexity 36 (threshold 15). Most of this is not in the body itself: 1 of the 36 points is its own statement and the rest belongs to 35 function items inside it that branch (GetText, GetChar, GetDuplicate, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":4981}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd2043b6f08973fdee954c846b90d20c198444db8a1d39a92d4c86c8b7cec05d"}},{"ruleId":"D1","level":"warning","message":{"text":"tool_reactor::generate::generate_element (cyclomatic 36): tool_reactor::generate::generate_element has cyclomatic complexity 36 (threshold 15). To reduce it, split the body: these branches sit side by side rather than nested inside one another, so extracting each one on its own would leave a function per branch. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate.rs"},"region":{"startLine":1363}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f0fb5812f24795edefe977c6661164b121f66b0174edf3e5ba64a257fe35b57"}},{"ruleId":"D1","level":"warning","message":{"text":"IDataCollectorSet_Vtbl::new (cyclomatic 35): IDataCollectorSet_Vtbl::new has cyclomatic complexity 35 (threshold 15). Most of this is not in the body itself: 1 of the 35 points is its own statement and the rest belongs to 34 function items inside it that branch (DataCollectors, Duration, Description, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/pla/mod.rs"},"region":{"startLine":2125}}}],"partialFingerprints":{"codehealthFindingId/v1":"74c0bf6cd534bbd44790855b0500d32c7c0852c2d6e4909740e01e3adf0fb1c4"}},{"ruleId":"D1","level":"warning","message":{"text":"Filter::register_member (cyclomatic 34): Filter::register_member has cyclomatic complexity 34 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter.rs"},"region":{"startLine":389}}}],"partialFingerprints":{"codehealthFindingId/v1":"d53bafa80d6c3afc683f7c1fdfc3d6c86270f42635bd975bde3521af8f62356d"}},{"ruleId":"D1","level":"warning","message":{"text":"CppConst::write (cyclomatic 33): CppConst::write has cyclomatic complexity 33 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_const.rs"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c843e87be55ed7337181df45b0433bb0008488a47afc3fe4f5ffb5fa74e9bf4"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::type_ref (cyclomatic 33): windows_clang::extract::type_ref has cyclomatic complexity 33 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":3287}}}],"partialFingerprints":{"codehealthFindingId/v1":"a73d8ab05d96f04bb64edebccae03a3e23d38510bb282910858e864dfd2ecea3"}},{"ruleId":"D1","level":"warning","message":{"text":"IFileSystemImage_Vtbl::new (cyclomatic 33): IFileSystemImage_Vtbl::new has cyclomatic complexity 33 (threshold 15). Most of this is not in the body itself: 1 of the 33 points is its own statement and the rest belongs to 32 function items inside it that branch (Root, SessionStartBlock, FreeMediaBlocks, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/imapi2fs/mod.rs"},"region":{"startLine":920}}}],"partialFingerprints":{"codehealthFindingId/v1":"fde9fdf5a5c38943b6a6ece7e44da0a571ea3208d1472e188ea2704d6ebb6bb5"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::recover_midl_artifacts (cyclomatic 32): windows_clang::extract::recover_midl_artifacts has cyclomatic complexity 32 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":189}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7fc3ec51f81f4b6b27cfafe537287b9de117dc631178e187eab0382d45b37f5"}},{"ruleId":"D1","level":"warning","message":{"text":"IDirect3DDevice9_Vtbl::new (cyclomatic 32): IDirect3DDevice9_Vtbl::new has cyclomatic complexity 32 (threshold 15). Most of this is not in the body itself: 1 of the 32 points is its own statement and the rest belongs to 31 function items inside it that branch (GetDirect3D, GetDisplayMode, GetCreationParameters, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":3875}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1ba61db0a63e0919b8c21051411f3963cb790897aa6d3c1c91e546776567ed6"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugSystemObjects3_Vtbl::new (cyclomatic 32): IDebugSystemObjects3_Vtbl::new has cyclomatic complexity 32 (threshold 15). Most of this is not in the body itself: 1 of the 32 points is its own statement and the rest belongs to 31 function items inside it that branch (GetEventThread, GetEventProcess, GetCurrentThreadId, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugSystemObjects4_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":47790}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a43c5ea29578f5c9576a3e60f17920df8647b1aa3ba7aa88bb06931ab3380aa"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugSystemObjects4_Vtbl::new (cyclomatic 32): IDebugSystemObjects4_Vtbl::new has cyclomatic complexity 32 (threshold 15). Most of this is not in the body itself: 1 of the 32 points is its own statement and the rest belongs to 31 function items inside it that branch (GetEventThread, GetEventProcess, GetCurrentThreadId, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugSystemObjects3_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":48780}}}],"partialFingerprints":{"codehealthFindingId/v1":"4678ad5432a4858bc73f0c02511e70b14ae76b197578654bb9c3bd9be5ff89ec"}},{"ruleId":"D1","level":"warning","message":{"text":"IXMLDOMNode_Vtbl::new (cyclomatic 32): IXMLDOMNode_Vtbl::new has cyclomatic complexity 32 (threshold 15). Most of this is not in the body itself: 1 of the 32 points is its own statement and the rest belongs to 31 function items inside it that branch (nodeName, nodeValue, nodeType, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msxml/mod.rs"},"region":{"startLine":9425}}}],"partialFingerprints":{"codehealthFindingId/v1":"3964039a5154f4d13d0228e26b1f6d1c5b7ad6c20dfb5d039a832215842312cd"}},{"ruleId":"D1","level":"warning","message":{"text":"Type::from_metadata_type (cyclomatic 31): Type::from_metadata_type has cyclomatic complexity 31 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing. This is NOT this file\u0027s highest cyclomatic complexity: Type::write_name (cyclomatic 48) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded function is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/mod.rs"},"region":{"startLine":352}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dd0b4fea51dfc6e2c045e3997bd97d46c528a2eef3809190ca73978c6200f01"}},{"ruleId":"D1","level":"warning","message":{"text":"Writer::write (cyclomatic 31): Writer::write has cyclomatic complexity 31 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/mod.rs"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"62f01964c5466b4962535a6f511597881a3ddc1241f824b3ba1be6f5795e1480"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::replace_planned_view (cyclomatic 31): Pump::replace_planned_view has cyclomatic complexity 31 (threshold 15). To reduce it, split the body: these branches sit side by side rather than nested inside one another, so extracting each one on its own would leave a function per branch. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1537}}}],"partialFingerprints":{"codehealthFindingId/v1":"052cf9c95cd6875244b3a08d3fb3724c6d186f0e1cbc11100f8e1a1a5aae247d"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugControl2_Vtbl::new (cyclomatic 31): IDebugControl2_Vtbl::new has cyclomatic complexity 31 (threshold 15). Most of this is not in the body itself: 1 of the 31 points is its own statement and the rest belongs to 30 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":17334}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b37a9ecfab1e317007777f9c6fb7d907b3a005cfd1087060fc8b140883be48a"}},{"ruleId":"D1","level":"warning","message":{"text":"CppMethod::write_args (cyclomatic 30): CppMethod::write_args has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_method.rs"},"region":{"startLine":679}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f7edde5cfc95f6a63776e04a1ec4ffd16a55d2626790345f3cb00e56df6fce3"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::fact_data (cyclomatic 30): windows_clang::extract::fact_data has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":2007}}}],"partialFingerprints":{"codehealthFindingId/v1":"f438ff4bf735d7c1c1f55a61a684c00027314f7cb300f262c3b811a0f9118d30"}},{"ruleId":"D1","level":"warning","message":{"text":"Blob::read_type_code (cyclomatic 30): Blob::read_type_code has cyclomatic complexity 30 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/reader/blob.rs"},"region":{"startLine":150}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a3cfb98356a0d70279484806274a6ec8247a4b35f96527a0529a21903f1b84e"}},{"ruleId":"D1","level":"warning","message":{"text":"IWebViewControl_Vtbl::new (cyclomatic 30): IWebViewControl_Vtbl::new has cyclomatic complexity 30 (threshold 15). Most of this is not in the body itself: 1 of the 30 points is its own statement and the rest belongs to 29 function items inside it that branch (Source, DocumentTitle, CanGoBack, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/mod.rs"},"region":{"startLine":444}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b40f91c56af140097c28f4ec7762f3d784644c1dd88e49b75082af825725631"}},{"ruleId":"D1","level":"warning","message":{"text":"IInkPicture_Vtbl::new (cyclomatic 30): IInkPicture_Vtbl::new has cyclomatic complexity 30 (threshold 15). Most of this is not in the body itself: 1 of the 30 points is its own statement and the rest belongs to 29 function items inside it that branch (hWnd, DefaultDrawingAttributes, Renderer, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msinkaut/mod.rs"},"region":{"startLine":4982}}}],"partialFingerprints":{"codehealthFindingId/v1":"51db1157ed8aa0f88f5bd498892be5b7d1d24848c570ec14c16eda768b12d6c4"}},{"ruleId":"D1","level":"warning","message":{"text":"Class::write (cyclomatic 29): Class::write has cyclomatic complexity 29 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/class.rs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"e758fa808208592eb03f59cd90d61ead016f2e728b9cc85f24c35ac356667812"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_bindgen::cli::bindgen (cyclomatic 29): windows_bindgen::cli::bindgen has cyclomatic complexity 29 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/cli.rs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"7389a89fa398f79918ee0c3420a671967290d31eb53583ed67f447224a99022e"}},{"ruleId":"D1","level":"warning","message":{"text":"Reader::write (cyclomatic 29): Reader::write has cyclomatic complexity 29 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f7cbf1a68582da965f0f3821e4c70f5483e72680365cdcd52be3261c5ee1816"}},{"ruleId":"D1","level":"warning","message":{"text":"ICoreWindow_Vtbl::new (cyclomatic 29): ICoreWindow_Vtbl::new has cyclomatic complexity 29 (threshold 15). Most of this is not in the body itself: 1 of the 29 points is its own statement and the rest belongs to 28 function items inside it that branch (AutomationHostProvider, Bounds, CustomProperties, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":3745}}}],"partialFingerprints":{"codehealthFindingId/v1":"b20b20035bf2d264d4839fec960db55d235544902571e3e911702d48ccce05a6"}},{"ruleId":"D1","level":"warning","message":{"text":"IX509PrivateKey_Vtbl::new (cyclomatic 29): IX509PrivateKey_Vtbl::new has cyclomatic complexity 29 (threshold 15). Most of this is not in the body itself: 1 of the 29 points is its own statement and the rest belongs to 28 function items inside it that branch (Export, ExportPublicKey, ContainerName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":15087}}}],"partialFingerprints":{"codehealthFindingId/v1":"0167e7c5f7c98cea012e8afbd3ee98145009828327074b643e06c8c297b1f29b"}},{"ruleId":"D1","level":"warning","message":{"text":"ITextFont_Vtbl::new (cyclomatic 29): ITextFont_Vtbl::new has cyclomatic complexity 29 (threshold 15). Most of this is not in the body itself: 1 of the 29 points is its own statement and the rest belongs to 28 function items inside it that branch (GetDuplicate, CanChange, IsEqual, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":2042}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd33e5119bc0733d48f765ea3d30f3bf0744bc9dd6a2e38918e45e878aafc37f"}},{"ruleId":"D1","level":"warning","message":{"text":"MetadataResolver::load (cyclomatic 29): MetadataResolver::load has cyclomatic complexity 29 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/metadata.rs"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"07a1f533ad767d59f4cf115b1ae904c749b843d807399f5773ed3efc0239fb0d"}},{"ruleId":"D1","level":"warning","message":{"text":"TypeClosure::build (cyclomatic 28): TypeClosure::build has cyclomatic complexity 28 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/type_closure.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"3775b05c0c6039fa3203d27866629718c54ecd617dd5caca0ba12881a20cf2d6"}},{"ruleId":"D1","level":"warning","message":{"text":"Type::remap (cyclomatic 28): Type::remap has cyclomatic complexity 28 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing. This is NOT this file\u0027s highest cyclomatic complexity: Type::write_name (cyclomatic 48) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded function is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/mod.rs"},"region":{"startLine":248}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0c8c2bf4c897ca907d03fe5fa546b2e04c134993aa3798606a963aa541e231c"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::process_realizations (cyclomatic 28): Pump::process_realizations has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/native_work.rs"},"region":{"startLine":419}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a75f28d32e4b668e1f89423dd8567000b23e374af532c842b7e0175fbff789a"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_window::window::wndproc (cyclomatic 28): windows_window::window::wndproc has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/window/src/window.rs"},"region":{"startLine":393}}}],"partialFingerprints":{"codehealthFindingId/v1":"b31e36d3c92b66c128ed5bbec598c9dc343ade7d404be77320657b3266059610"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::try_local_component_update (cyclomatic 27): Pump::try_local_component_update has cyclomatic complexity 27 (threshold 15). To reduce it, split the body: these branches sit side by side rather than nested inside one another, so extracting each one on its own would leave a function per branch. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/turn.rs"},"region":{"startLine":223}}}],"partialFingerprints":{"codehealthFindingId/v1":"37d37ed8cf5e45254003c1f7fa8692feb441433555708879c7a9a6f67ab53ea0"}},{"ruleId":"D1","level":"warning","message":{"text":"ITextCharacterFormat_Vtbl::new (cyclomatic 27): ITextCharacterFormat_Vtbl::new has cyclomatic complexity 27 (threshold 15). Most of this is not in the body itself: 1 of the 27 points is its own statement and the rest belongs to 26 function items inside it that branch (AllCaps, BackgroundColor, Bold, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":667}}}],"partialFingerprints":{"codehealthFindingId/v1":"364fafbf04d1b7031e7be77a24969aeaed3439d6be06c8d092949776d8303588"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugControl_Vtbl::new (cyclomatic 27): IDebugControl_Vtbl::new has cyclomatic complexity 27 (threshold 15). Most of this is not in the body itself: 1 of the 27 points is its own statement and the rest belongs to 26 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugSystemObjects2_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15620}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f87ff72d7ed0ec1e8bde3d5980dcfb26827797f796beb25740b63776d3b4f3f"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugSystemObjects2_Vtbl::new (cyclomatic 27): IDebugSystemObjects2_Vtbl::new has cyclomatic complexity 27 (threshold 15). Most of this is not in the body itself: 1 of the 27 points is its own statement and the rest belongs to 26 function items inside it that branch (GetEventThread, GetEventProcess, GetCurrentThreadId, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugControl_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":46911}}}],"partialFingerprints":{"codehealthFindingId/v1":"3dc5e4c21d75b202380309df81d97d231bd36f7c9206ba32cab9d095419b4423"}},{"ruleId":"D1","level":"warning","message":{"text":"IInkOverlay_Vtbl::new (cyclomatic 27): IInkOverlay_Vtbl::new has cyclomatic complexity 27 (threshold 15). Most of this is not in the body itself: 1 of the 27 points is its own statement and the rest belongs to 26 function items inside it that branch (hWnd, Enabled, DefaultDrawingAttributes, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msinkaut/mod.rs"},"region":{"startLine":3888}}}],"partialFingerprints":{"codehealthFindingId/v1":"257edf58d6f3b57600163e711d6bbcf08c52700df1f395172cbb71c5daf61dde"}},{"ruleId":"D1","level":"warning","message":{"text":"tool_reactor::generate_winui::generate_set_property (cyclomatic 27): tool_reactor::generate_winui::generate_set_property has cyclomatic complexity 27 (threshold 15). To reduce it, split the body: these branches sit side by side rather than nested inside one another, so extracting each one on its own would leave a function per branch. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_winui.rs"},"region":{"startLine":1819}}}],"partialFingerprints":{"codehealthFindingId/v1":"38127b4c6d4b1317c49bccf32c2272174b6eb7b7c3deae4d0200407f135db9d4"}},{"ruleId":"D1","level":"warning","message":{"text":"Type::combine (cyclomatic 26): Type::combine has cyclomatic complexity 26 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing. This is NOT this file\u0027s highest cyclomatic complexity: Type::write_name (cyclomatic 48) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded function is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/mod.rs"},"region":{"startLine":1164}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b0f68214955cb06932dd1c27a11ae4d1678cfa842ccc7ca63209c7245c7ddcf"}},{"ruleId":"D1","level":"warning","message":{"text":"Reader::from_index (cyclomatic 26): Reader::from_index has cyclomatic complexity 26 (threshold 15). Of this number, 24 points are the body\u0027s own statements and 2 belong to one function item inside it that branches. To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/winmd/reader.rs"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a6c9d904111356be70f3a1876bd47f1050fa6d0328189bde37eb5cf92755e4e"}},{"ruleId":"D1","level":"warning","message":{"text":"Snapshot::emit_items (cyclomatic 26): Snapshot::emit_items has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":497}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a05707ae73de925080888c1e704e09fdf5471074744a171d61941f5fe7fba56"}},{"ruleId":"D1","level":"warning","message":{"text":"ITextRange_Vtbl::new (cyclomatic 26): ITextRange_Vtbl::new has cyclomatic complexity 26 (threshold 15). Most of this is not in the body itself: 1 of the 26 points is its own statement and the rest belongs to 25 function items inside it that branch (Character, CharacterFormat, FormattedText, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":2959}}}],"partialFingerprints":{"codehealthFindingId/v1":"590aa6429b9bfbdb63bae36dfe6ac3197a941daf648cda09ec93b398c30fa919"}},{"ruleId":"D1","level":"warning","message":{"text":"ITextDocument2_Vtbl::new (cyclomatic 26): ITextDocument2_Vtbl::new has cyclomatic complexity 26 (threshold 15). Most of this is not in the body itself: 1 of the 26 points is its own statement and the rest belongs to 25 function items inside it that branch (GetCaretType, GetDisplays, GetDocumentFont, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":746}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd3dd7670b18e0495fcfdbb430335eb28913198ffa77860cb2a6d610c6ce6335"}},{"ruleId":"D1","level":"warning","message":{"text":"IWICImagingFactory_Vtbl::new (cyclomatic 26): IWICImagingFactory_Vtbl::new has cyclomatic complexity 26 (threshold 15). Most of this is not in the body itself: 1 of the 26 points is its own statement and the rest belongs to 25 function items inside it that branch (CreateDecoderFromFilename, CreateDecoderFromStream, CreateDecoderFromFileHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wincodec/mod.rs"},"region":{"startLine":4010}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bea95fd99dba613ff5e948f3a717222165e7e58c67c7f72ed929319ac314966"}},{"ruleId":"D1","level":"warning","message":{"text":"Config::write_package (cyclomatic 25): Config::write_package has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/package_writer.rs"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"17e8e5d949471271736cee8022f4a43225e78ab213447e076af21039daee975d"}},{"ruleId":"D1","level":"warning","message":{"text":"ITextParagraphFormat_Vtbl::new (cyclomatic 25): ITextParagraphFormat_Vtbl::new has cyclomatic complexity 25 (threshold 15). Most of this is not in the body itself: 1 of the 25 points is its own statement and the rest belongs to 24 function items inside it that branch (Alignment, FirstLineIndent, KeepTogether, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":2086}}}],"partialFingerprints":{"codehealthFindingId/v1":"12fba2edbf1cb6fd08c5dc1ace85c2246aefde59a7255bc8ee8efe7f49813b42"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugSymbols5_Vtbl::new (cyclomatic 25): IDebugSymbols5_Vtbl::new has cyclomatic complexity 25 (threshold 15). Most of this is not in the body itself: 1 of the 25 points is its own statement and the rest belongs to 24 function items inside it that branch (GetSymbolOptions, GetOffsetByName, GetOffsetByLine, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":44748}}}],"partialFingerprints":{"codehealthFindingId/v1":"c25fe4c7f2597f834802fe2d85a53af24ae24383d6cbf59ce27fada2e18b6d2d"}},{"ruleId":"D1","level":"warning","message":{"text":"IInkStrokeDisp_Vtbl::new (cyclomatic 25): IInkStrokeDisp_Vtbl::new has cyclomatic complexity 25 (threshold 15). Most of this is not in the body itself: 1 of the 25 points is its own statement and the rest belongs to 24 function items inside it that branch (ID, BezierPoints, DrawingAttributes, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msinkaut/mod.rs"},"region":{"startLine":8256}}}],"partialFingerprints":{"codehealthFindingId/v1":"950c13684e79451292fd490e65f9275103319ba569c1779a8400d97470a73e68"}},{"ruleId":"D1","level":"warning","message":{"text":"ITextPara_Vtbl::new (cyclomatic 25): ITextPara_Vtbl::new has cyclomatic complexity 25 (threshold 15). Most of this is not in the body itself: 1 of the 25 points is its own statement and the rest belongs to 24 function items inside it that branch (GetDuplicate, CanChange, IsEqual, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":3741}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecd5870394eaef796c1e313bf00b5f4858c0bcd3461fabc7fe09939df00020c0"}},{"ruleId":"D1","level":"warning","message":{"text":"IVssComponent_Vtbl::new (cyclomatic 25): IVssComponent_Vtbl::new has cyclomatic complexity 25 (threshold 15). Most of this is not in the body itself: 1 of the 25 points is its own statement and the rest belongs to 24 function items inside it that branch (GetLogicalPath, GetComponentType, GetComponentName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/vswriter/mod.rs"},"region":{"startLine":346}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee9271c0b0d417175bcefea924187686614540f4c3728c8a1d442a2eb85cdc79"}},{"ruleId":"D1","level":"warning","message":{"text":"CppStruct::write_with_cfg (cyclomatic 24): CppStruct::write_with_cfg has cyclomatic complexity 24 (threshold 15). To reduce it, split the body: these branches sit side by side rather than nested inside one another, so extracting each one on its own would leave a function per branch. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_struct.rs"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"a11431fa264497ada4dee84bd73d29616cc9f1351b1c05c96c399c9aed381051"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::record_layout (cyclomatic 24): windows_clang::record_layout has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":3663}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f6f0e7b5c469cf362f07fe11fb86245eeecea54752976888f8ff38850e68a28"}},{"ruleId":"D1","level":"warning","message":{"text":"IImageScannerSourceConfiguration_Vtbl::new (cyclomatic 24): IImageScannerSourceConfiguration_Vtbl::new has cyclomatic complexity 24 (threshold 15). Most of this is not in the body itself: 1 of the 24 points is its own statement and the rest belongs to 23 function items inside it that branch (MinScanArea, MaxScanArea, SelectedScanRegion, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f826fa45b6efa564b1234b67b586ccc5194d0ae4cb28e5e7c6df6a496e74ada"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugSymbols3_Vtbl::new (cyclomatic 24): IDebugSymbols3_Vtbl::new has cyclomatic complexity 24 (threshold 15). Most of this is not in the body itself: 1 of the 24 points is its own statement and the rest belongs to 23 function items inside it that branch (GetSymbolOptions, GetOffsetByName, GetOffsetByLine, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 2 other methods here (IDebugSymbols4_Vtbl::new, IDebugSystemObjects_Vtbl::new) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 3 times rather than 3 independent problems. Splitting this body alone leaves the other 2 exactly as they are. Where these are variations on one operation, the change that clears all 3 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":40192}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ff356c90b3e5d1a0e933a3a451a8cabc99205bedfb294c1d91f5d41ee5c39d3"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugSymbols4_Vtbl::new (cyclomatic 24): IDebugSymbols4_Vtbl::new has cyclomatic complexity 24 (threshold 15). Most of this is not in the body itself: 1 of the 24 points is its own statement and the rest belongs to 23 function items inside it that branch (GetSymbolOptions, GetOffsetByName, GetOffsetByLine, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 2 other methods here (IDebugSymbols3_Vtbl::new, IDebugSystemObjects_Vtbl::new) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 3 times rather than 3 independent problems. Splitting this body alone leaves the other 2 exactly as they are. Where these are variations on one operation, the change that clears all 3 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":42437}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e27052f0bcdc1b6c035a3763d238870c30bbf7db240abce3ec259b0f6ef9414"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugSystemObjects_Vtbl::new (cyclomatic 24): IDebugSystemObjects_Vtbl::new has cyclomatic complexity 24 (threshold 15). Most of this is not in the body itself: 1 of the 24 points is its own statement and the rest belongs to 23 function items inside it that branch (GetEventThread, GetEventProcess, GetCurrentThreadId, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 2 other methods here (IDebugSymbols3_Vtbl::new, IDebugSymbols4_Vtbl::new) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 3 times rather than 3 independent problems. Splitting this body alone leaves the other 2 exactly as they are. Where these are variations on one operation, the change that clears all 3 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":46177}}}],"partialFingerprints":{"codehealthFindingId/v1":"8821cee68a7037a94880e5f17022ba3e122e733bd36f4e7075cf0de914f4ed0d"}},{"ruleId":"D1","level":"warning","message":{"text":"IXMLDOMDocument_Vtbl::new (cyclomatic 24): IXMLDOMDocument_Vtbl::new has cyclomatic complexity 24 (threshold 15). Most of this is not in the body itself: 1 of the 24 points is its own statement and the rest belongs to 23 function items inside it that branch (doctype, implementation, documentElement, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msxml/mod.rs"},"region":{"startLine":7660}}}],"partialFingerprints":{"codehealthFindingId/v1":"6dcd2766b9a1e3d0ca5a6b50dedd80acb76f93dfa6c9d4d7f3946291ea44f1ff"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::evaluate_constants (cyclomatic 23): windows_clang::extract::evaluate_constants has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":1352}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1ee01df53ec7c387b47b6832f95d200cd0589b8c51bf93420344585edcaa53e"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::interface_fact (cyclomatic 23): windows_clang::extract::interface_fact has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":2349}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8bbc73b70daae08de4c5df13f81b76ecef82d98d734ec87648e71a54eee6594"}},{"ruleId":"D1","level":"warning","message":{"text":"Merger::merge (cyclomatic 23): Merger::merge has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/merge/mod.rs"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"67ab6783e0bb9db97de09a218e896888efca23def0be99f81aa86c6ea2a9938e"}},{"ruleId":"D1","level":"warning","message":{"text":"Encoder::encode_value (cyclomatic 23): Encoder::encode_value has cyclomatic complexity 23 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":678}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca1de5666369dc6c3bf4d4c8db9205563db04ee9a4cc1857a3f84b3415e0cbe7"}},{"ruleId":"D1","level":"warning","message":{"text":"IDataReader_Vtbl::new (cyclomatic 23): IDataReader_Vtbl::new has cyclomatic complexity 23 (threshold 15). Most of this is not in the body itself: 1 of the 23 points is its own statement and the rest belongs to 22 function items inside it that branch (UnconsumedBufferLength, UnicodeEncoding, ByteOrder, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":1021}}}],"partialFingerprints":{"codehealthFindingId/v1":"9733da28c64f3d1ef064a813cca2198091c97a77d60b18b8950278ded86e177e"}},{"ruleId":"D1","level":"warning","message":{"text":"IDiscFormat2Data_Vtbl::new (cyclomatic 23): IDiscFormat2Data_Vtbl::new has cyclomatic complexity 23 (threshold 15). Most of this is not in the body itself: 1 of the 23 points is its own statement and the rest belongs to 22 function items inside it that branch (Recorder, BufferUnderrunFreeDisabled, PostgapAlreadyInImage, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/imapi2/mod.rs"},"region":{"startLine":1140}}}],"partialFingerprints":{"codehealthFindingId/v1":"87d933987aef1374a21481647246e420fbbea27234b1b0170f124343cde1b59f"}},{"ruleId":"D1","level":"warning","message":{"text":"ITextFont2_Vtbl::new (cyclomatic 23): ITextFont2_Vtbl::new has cyclomatic complexity 23 (threshold 15). Most of this is not in the body itself: 1 of the 23 points is its own statement and the rest belongs to 22 function items inside it that branch (GetCount, GetAutoLigatures, GetAutospaceAlpha, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":2933}}}],"partialFingerprints":{"codehealthFindingId/v1":"27f2613eb0a0ebffa1e14bb86b8e7ba13190d3c1bd042d63787e91afe397ff4b"}},{"ruleId":"D1","level":"warning","message":{"text":"IUri_Vtbl::new (cyclomatic 23): IUri_Vtbl::new has cyclomatic complexity 23 (threshold 15). Most of this is not in the body itself: 1 of the 23 points is its own statement and the rest belongs to 22 function items inside it that branch (HasProperty, GetAbsoluteUri, GetAuthority, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/urlmon/mod.rs"},"region":{"startLine":4213}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4f6c88d290b959c70e84aa677277a4960517fc3d24d974bf0175701956df613"}},{"ruleId":"D1","level":"warning","message":{"text":"CppMethod::write_params (cyclomatic 22): CppMethod::write_params has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_method.rs"},"region":{"startLine":578}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ae1e6e0f67918a0f0ce73b8fa88e00085dbae7eee3e8888170c02bb11fe3d25"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::choose_type_root_cached::resolved_type_shape::write (cyclomatic 22): windows_clang::choose_type_root_cached::resolved_type_shape::write has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top. This shape REPEATS in the file: one other method here (windows_clang::choose_type_root_cached) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":2195}}}],"partialFingerprints":{"codehealthFindingId/v1":"9da2df34bda10faa71efd14c89ad24c5fff7648c29f4cdf2a0efb610fe156b55"}},{"ruleId":"D1","level":"warning","message":{"text":"ComponentLoop::live_controlled_feedback_native_finish (cyclomatic 22): ComponentLoop::live_controlled_feedback_native_finish has cyclomatic complexity 22 (threshold 15). To reduce it, split the body: these branches sit side by side rather than nested inside one another, so extracting each one on its own would leave a function per branch. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":652}}}],"partialFingerprints":{"codehealthFindingId/v1":"febbc99d5158f808722379ffe183643c2b95670b4fcb17ba161110b94735933a"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::node_matches_element (cyclomatic 22): Pump::node_matches_element has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/element.rs"},"region":{"startLine":321}}}],"partialFingerprints":{"codehealthFindingId/v1":"a28ff30fe6fada87329208d5bdbe0252ac825a2fb108f1d6c7b1ae298d8f0661"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::native_attachment (cyclomatic 22): Pump::native_attachment has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/topology.rs"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa15d78ec475e32628febf4857bba70ddcfe2da28b3fceda5247f6ccf7cfff76"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugClient5_Vtbl::new (cyclomatic 22): IDebugClient5_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (ConnectProcessServer, GetRunningProcessSystemIdByExecutableName, GetProcessOptions, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 4 other methods here (IDebugClient6_Vtbl::new, IDebugClient7_Vtbl::new, IDebugClient8_Vtbl::new, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":7559}}}],"partialFingerprints":{"codehealthFindingId/v1":"11b17dadec399f5168b97ef75a29df6c5dbbca8fc99e62d519431562b819d3c4"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugClient6_Vtbl::new (cyclomatic 22): IDebugClient6_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (ConnectProcessServer, GetRunningProcessSystemIdByExecutableName, GetProcessOptions, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 4 other methods here (IDebugClient5_Vtbl::new, IDebugClient7_Vtbl::new, IDebugClient8_Vtbl::new, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":9142}}}],"partialFingerprints":{"codehealthFindingId/v1":"36d66d71b31f088add20c172145f797ad54993ec814f8206a10b0a6ed537ad53"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugClient7_Vtbl::new (cyclomatic 22): IDebugClient7_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (ConnectProcessServer, GetRunningProcessSystemIdByExecutableName, GetProcessOptions, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 4 other methods here (IDebugClient5_Vtbl::new, IDebugClient6_Vtbl::new, IDebugClient8_Vtbl::new, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":10737}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9c4eee4d541b6d550c2eef7d4d704a71d144113606673e605d5ed7890094971"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugClient8_Vtbl::new (cyclomatic 22): IDebugClient8_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (ConnectProcessServer, GetRunningProcessSystemIdByExecutableName, GetProcessOptions, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 4 other methods here (IDebugClient5_Vtbl::new, IDebugClient6_Vtbl::new, IDebugClient7_Vtbl::new, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":12347}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f8a98616776cf6cb1d84ca163564f7ce97fc4069666b908b67b3d4aad63239c"}},{"ruleId":"D1","level":"warning","message":{"text":"IDebugClient9_Vtbl::new (cyclomatic 22): IDebugClient9_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (ConnectProcessServer, GetRunningProcessSystemIdByExecutableName, GetProcessOptions, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 4 other methods here (IDebugClient5_Vtbl::new, IDebugClient6_Vtbl::new, IDebugClient7_Vtbl::new, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":13980}}}],"partialFingerprints":{"codehealthFindingId/v1":"e446b947fa15fdc028bd9a7cbc2bf3b38c3325b2b30fb36b13afb1c53f8c08cf"}},{"ruleId":"D1","level":"warning","message":{"text":"IDCompositionDevice_Vtbl::new (cyclomatic 22): IDCompositionDevice_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (CreateTargetForHwnd, CreateVisual, CreateSurface, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1353}}}],"partialFingerprints":{"codehealthFindingId/v1":"a26e8e0e6097da5c7e895e21a96205edc818cdd6e1058da65afa9089acc4b1a5"}},{"ruleId":"D1","level":"warning","message":{"text":"ITraceDataCollector_Vtbl::new (cyclomatic 22): ITraceDataCollector_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (BufferSize, BuffersLost, BuffersWritten, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/pla/mod.rs"},"region":{"startLine":4635}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0d6c3d21ddd0921444b911fda830a5483965ca103dd22d3d077b470ab2c5bc4"}},{"ruleId":"D1","level":"warning","message":{"text":"IDvdControl2_Vtbl::new (cyclomatic 22): IDvdControl2_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (PlayTitle, PlayChapterInTitle, PlayAtTimeInTitle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/strmif/mod.rs"},"region":{"startLine":8079}}}],"partialFingerprints":{"codehealthFindingId/v1":"eaec1b6c04a43a5aafef49112b1c689db3beff7a7e98571422b9a1225301b004"}},{"ruleId":"D1","level":"warning","message":{"text":"ITextRow_Vtbl::new (cyclomatic 22): ITextRow_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (GetAlignment, GetCellCount, GetCellCountCache, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":6568}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1683faef675752dcf1124bbbf358dd1736dda070ad767f34a8ddd671c4674e6"}},{"ruleId":"D1","level":"warning","message":{"text":"IUIAutomationLegacyIAccessiblePattern_Vtbl::new (cyclomatic 22): IUIAutomationLegacyIAccessiblePattern_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (CurrentChildId, CurrentName, CurrentValue, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/uiautomationclient/mod.rs"},"region":{"startLine":6718}}}],"partialFingerprints":{"codehealthFindingId/v1":"8069a49611231a4a7681b9b53ae86ce86a8d0a2f22f115bd81f11db5fef0df3b"}},{"ruleId":"D1","level":"warning","message":{"text":"IWMPNetwork_Vtbl::new (cyclomatic 22): IWMPNetwork_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (bandWidth, recoveredPackets, sourceProtocol, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wmp/mod.rs"},"region":{"startLine":5470}}}],"partialFingerprints":{"codehealthFindingId/v1":"44d0e6cfbf98117ce7a2c91cd2ce40c491e4e5c56b9e4f04311a8458a680d4a2"}},{"ruleId":"D1","level":"warning","message":{"text":"IXpsOMPath_Vtbl::new (cyclomatic 22): IXpsOMPath_Vtbl::new has cyclomatic complexity 22 (threshold 15). Most of this is not in the body itself: 1 of the 22 points is its own statement and the rest belongs to 21 function items inside it that branch (GetGeometry, GetGeometryLocal, GetGeometryLookup, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/xps/mod.rs"},"region":{"startLine":7692}}}],"partialFingerprints":{"codehealthFindingId/v1":"a05cc8a8a3f899af8b9c1a41dd980508fb2843a21dfb2efd9a3af940fb63fc3a"}},{"ruleId":"D1","level":"warning","message":{"text":"tool_reactor::generate_winui::generate_control_bindings_filter (cyclomatic 22): tool_reactor::generate_winui::generate_control_bindings_filter has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_winui.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"293090e8cd4ada1b0d3aa967921ef303d68eed06f47cf3702515b749a81f0b58"}},{"ruleId":"D1","level":"warning","message":{"text":"tool_reactor::generate::generate_property_values (cyclomatic 22): tool_reactor::generate::generate_property_values has cyclomatic complexity 22 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate.rs"},"region":{"startLine":1070}}}],"partialFingerprints":{"codehealthFindingId/v1":"655e5aea59b78b115156ece3f092fa21a3f1f9054ab2cc28bc24bb5e59030e92"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::parameter_annotation (cyclomatic 21): windows_clang::extract::parameter_annotation has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":2839}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd2eee2b193d878f4033437c2d660e6488e985171c9d10a21774282855b4d925"}},{"ruleId":"D1","level":"warning","message":{"text":"IPropertyValue_Vtbl::new (cyclomatic 21): IPropertyValue_Vtbl::new has cyclomatic complexity 21 (threshold 15). Most of this is not in the body itself: 1 of the 21 points is its own statement and the rest belongs to 20 function items inside it that branch (Type, IsNumericScalar, GetUInt8, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2bd22169464c5270bdab384e2fd42544dc343b86ecb104e82a7c3d73f30d3b9"}},{"ruleId":"D1","level":"warning","message":{"text":"IXmlNode_Vtbl::new (cyclomatic 21): IXmlNode_Vtbl::new has cyclomatic complexity 21 (threshold 15). Most of this is not in the body itself: 1 of the 21 points is its own statement and the rest belongs to 20 function items inside it that branch (NodeValue, NodeType, NodeName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1379}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7cc70a024ae9d0632c71011ac9daa190507e12932ff095b92f0733982917ec3"}},{"ruleId":"D1","level":"warning","message":{"text":"IPropertyValue_Vtbl::new (cyclomatic 21): IPropertyValue_Vtbl::new has cyclomatic complexity 21 (threshold 15). Most of this is not in the body itself: 1 of the 21 points is its own statement and the rest belongs to 20 function items inside it that branch (Type, IsNumericScalar, GetUInt8, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":674}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8c171457060f5118c4a37756db082931d0804c173b8a4bdc949a5d5b7b0ee26"}},{"ruleId":"D1","level":"warning","message":{"text":"ITaskSettings_Vtbl::new (cyclomatic 21): ITaskSettings_Vtbl::new has cyclomatic complexity 21 (threshold 15). Most of this is not in the body itself: 1 of the 21 points is its own statement and the rest belongs to 20 function items inside it that branch (AllowDemandStart, RestartInterval, RestartCount, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/taskschd/mod.rs"},"region":{"startLine":5831}}}],"partialFingerprints":{"codehealthFindingId/v1":"01911e1458a13c1eb93d6d578b7b73630f52eef0f34a1eafc7394cc3ad9dd8f6"}},{"ruleId":"D1","level":"warning","message":{"text":"ISWbemDateTime_Vtbl::new (cyclomatic 21): ISWbemDateTime_Vtbl::new has cyclomatic complexity 21 (threshold 15). Most of this is not in the body itself: 1 of the 21 points is its own statement and the rest belongs to 20 function items inside it that branch (Value, Year, YearSpecified, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wbemdisp/mod.rs"},"region":{"startLine":374}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dd41897eb0648588c6b6ff7270ed6b9b03682b3e7f5e8caa0ec5b70241526c9"}},{"ruleId":"D1","level":"warning","message":{"text":"IWSManEx_Vtbl::new (cyclomatic 21): IWSManEx_Vtbl::new has cyclomatic complexity 21 (threshold 15). Most of this is not in the body itself: 1 of the 21 points is its own statement and the rest belongs to 20 function items inside it that branch (CreateResourceLocator, SessionFlagUTF8, SessionFlagCredUsernamePassword, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wsmandisp/mod.rs"},"region":{"startLine":757}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c8d6f74bd47f9f361f8633bb013f0c425d4b163487369df1656da68a0310ca6"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::decode_c_string (cyclomatic 20): windows_clang::extract::decode_c_string has cyclomatic complexity 20 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":1628}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d283fcf071b836f43a2f5847313c8b29e80044c5a54af84d320dd98b361284e"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::decode_c_bytes (cyclomatic 20): windows_clang::extract::decode_c_bytes has cyclomatic complexity 20 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":1679}}}],"partialFingerprints":{"codehealthFindingId/v1":"210a723da767f98d737b462e6ead33963c42422304727b7e7debeafb8a99754c"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_strings::literals::decode_utf8_char (cyclomatic 20): windows_strings::literals::decode_utf8_char has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/strings/src/literals.rs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"8dfc11643e89b4a50aea26b56edf6f2a2e1d26e55b177718bfade02b1d8938ed"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_sys::core::literals::decode_utf8_char (cyclomatic 20): windows_sys::core::literals::decode_utf8_char has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/core/literals.rs"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"c29fb0ea5054c9c14a56bb9686ecb5d387fe8941b8f98957003c11afeda3e06e"}},{"ruleId":"D1","level":"warning","message":{"text":"IX509CertificateRequestPkcs10_Vtbl::new (cyclomatic 20): IX509CertificateRequestPkcs10_Vtbl::new has cyclomatic complexity 20 (threshold 15). Most of this is not in the body itself: 1 of the 20 points is its own statement and the rest belongs to 19 function items inside it that branch (IsSmartCard, TemplateObjectId, PublicKey, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":8514}}}],"partialFingerprints":{"codehealthFindingId/v1":"149b9207d7f5eddd9b3fccbfda7388e7daa71ec40b4c21008ff9beb7dde5d9ea"}},{"ruleId":"D1","level":"warning","message":{"text":"IFsrmClassificationManager_Vtbl::new (cyclomatic 20): IFsrmClassificationManager_Vtbl::new has cyclomatic complexity 20 (threshold 15). Most of this is not in the body itself: 1 of the 20 points is its own statement and the rest belongs to 19 function items inside it that branch (ClassificationReportFormats, Logging, ClassificationReportMailTo, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IFsrmPropertyBag_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs"},"region":{"startLine":304}}}],"partialFingerprints":{"codehealthFindingId/v1":"90a40f1a96a44791610ade8233fba69f56156668c28297300ba4135023aca1d1"}},{"ruleId":"D1","level":"warning","message":{"text":"IFsrmPropertyBag_Vtbl::new (cyclomatic 20): IFsrmPropertyBag_Vtbl::new has cyclomatic complexity 20 (threshold 15). Most of this is not in the body itself: 1 of the 20 points is its own statement and the rest belongs to 19 function items inside it that branch (Name, RelativePath, VolumeName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IFsrmClassificationManager_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs"},"region":{"startLine":2026}}}],"partialFingerprints":{"codehealthFindingId/v1":"af39b6fbe5a67f0ac9e51bc39975d6737f9bddd7260b7798d52eaa869dd683dc"}},{"ruleId":"D1","level":"warning","message":{"text":"IInkCollector_Vtbl::new (cyclomatic 20): IInkCollector_Vtbl::new has cyclomatic complexity 20 (threshold 15). Most of this is not in the body itself: 1 of the 20 points is its own statement and the rest belongs to 19 function items inside it that branch (hWnd, Enabled, DefaultDrawingAttributes, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IInkDisp_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msinkaut/mod.rs"},"region":{"startLine":903}}}],"partialFingerprints":{"codehealthFindingId/v1":"0da43547b098ae8676fc66dbf5366c55c533fc31c82d1ad7d73a01e4c2174576"}},{"ruleId":"D1","level":"warning","message":{"text":"IInkDisp_Vtbl::new (cyclomatic 20): IInkDisp_Vtbl::new has cyclomatic complexity 20 (threshold 15). Most of this is not in the body itself: 1 of the 20 points is its own statement and the rest belongs to 19 function items inside it that branch (Strokes, ExtendedProperties, Dirty, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IInkCollector_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msinkaut/mod.rs"},"region":{"startLine":2221}}}],"partialFingerprints":{"codehealthFindingId/v1":"15babebf56f9fa2f4b9a1e08ba982f5b8f1007ee4a23a8e7dab8484972c27380"}},{"ruleId":"D1","level":"warning","message":{"text":"ISpeechVoice_Vtbl::new (cyclomatic 20): ISpeechVoice_Vtbl::new has cyclomatic complexity 20 (threshold 15). Most of this is not in the body itself: 1 of the 20 points is its own statement and the rest belongs to 19 function items inside it that branch (Status, Voice, AudioOutput, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/sapi/mod.rs"},"region":{"startLine":14062}}}],"partialFingerprints":{"codehealthFindingId/v1":"27b617a8f45fe0319c7e361d9647d39ac677843fc6ee433ecd7ec259407f6b7d"}},{"ruleId":"D1","level":"warning","message":{"text":"Bindgen::write (cyclomatic 19): Bindgen::write has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/lib.rs"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"524093077089dcb7014c545bcd26ced0a2abcdea1e444777c71ff55f3cf8511d"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::apply_source_annotations (cyclomatic 19): windows_clang::extract::apply_source_annotations has cyclomatic complexity 19 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":2774}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c6c7e0d6857d4a8e552c0cc1cbc4f08ff741686c292f079910fd030cf6dd2b6"}},{"ruleId":"D1","level":"warning","message":{"text":"Layout::to_module (cyclomatic 19): Layout::to_module has cyclomatic complexity 19 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/layout.rs"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"54f5c0ec89c42e5c284adf21a1e85a91dae3f93715100b00b8256a465f6fdd20"}},{"ruleId":"D1","level":"warning","message":{"text":"ComponentLoop::live_content_dialog_lifecycle_step_impl (cyclomatic 19): ComponentLoop::live_content_dialog_lifecycle_step_impl has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":350}}}],"partialFingerprints":{"codehealthFindingId/v1":"0959d4fc914469ac2f22cd0a2e55bbfecd8097a032a4aaafbcf4d04fe7893f8c"}},{"ruleId":"D1","level":"warning","message":{"text":"WinUiRuntime::synchronize_slot_children (cyclomatic 19): WinUiRuntime::synchronize_slot_children has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top. This is NOT this file\u0027s highest cyclomatic complexity: WinUiRuntime::set_key_accelerators (cyclomatic 27) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded function is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":3166}}}],"partialFingerprints":{"codehealthFindingId/v1":"064f6f2885be861d7c1fbe2b368cd05008cf62cfa6a371541f77883eae42675a"}},{"ruleId":"D1","level":"warning","message":{"text":"IX509EnrollmentPolicyServer_Vtbl::new (cyclomatic 19): IX509EnrollmentPolicyServer_Vtbl::new has cyclomatic complexity 19 (threshold 15). Most of this is not in the body itself: 1 of the 19 points is its own statement and the rest belongs to 18 function items inside it that branch (GetTemplates, GetCAsForTemplate, GetCAs, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":12055}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5d298dba3d6c7fd05ff8d008384de1b0cfc47a35e48631854a8f25d2a1375f4"}},{"ruleId":"D1","level":"warning","message":{"text":"IDCompositionDevice2_Vtbl::new (cyclomatic 19): IDCompositionDevice2_Vtbl::new has cyclomatic complexity 19 (threshold 15). Most of this is not in the body itself: 1 of the 19 points is its own statement and the rest belongs to 18 function items inside it that branch (CreateVisual, CreateSurfaceFactory, CreateSurface, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1846}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7a08ed07a6404562c6919fcd1cdac6300c90e633066872eeda4a5cfb5e6d94f"}},{"ruleId":"D1","level":"warning","message":{"text":"INetFwRule_Vtbl::new (cyclomatic 19): INetFwRule_Vtbl::new has cyclomatic complexity 19 (threshold 15). Most of this is not in the body itself: 1 of the 19 points is its own statement and the rest belongs to 18 function items inside it that branch (Name, Description, ApplicationName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/netfw/mod.rs"},"region":{"startLine":3209}}}],"partialFingerprints":{"codehealthFindingId/v1":"60a6b814085f06981dbaa1745cc7875582b1bcc85058aeea12123af7d43323a7"}},{"ruleId":"D1","level":"warning","message":{"text":"ISpeechRecognizer_Vtbl::new (cyclomatic 19): ISpeechRecognizer_Vtbl::new has cyclomatic complexity 19 (threshold 15). Most of this is not in the body itself: 1 of the 19 points is its own statement and the rest belongs to 18 function items inside it that branch (Recognizer, AllowAudioInputFormatChangesOnNextSet, AudioInput, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/sapi/mod.rs"},"region":{"startLine":13073}}}],"partialFingerprints":{"codehealthFindingId/v1":"173a844eacd5a7fec885dbd0aeafd3ceec4490e899c46e068b0600f5794afa3e"}},{"ruleId":"D1","level":"warning","message":{"text":"IXpsOMCoreProperties_Vtbl::new (cyclomatic 19): IXpsOMCoreProperties_Vtbl::new has cyclomatic complexity 19 (threshold 15). Most of this is not in the body itself: 1 of the 19 points is its own statement and the rest belongs to 18 function items inside it that branch (GetOwner, GetCategory, GetContentStatus, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/xps/mod.rs"},"region":{"startLine":882}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebfd0aaed7cdcda4b559c20dd4842a7ebe9feeef4b0cdf1e2614199794c4c474"}},{"ruleId":"D1","level":"warning","message":{"text":"tool_reactor::generate_surface::generate (cyclomatic 19): tool_reactor::generate_surface::generate has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top. This is NOT this file\u0027s highest cyclomatic complexity: tool_reactor::generate_surface::direct_property_values (cyclomatic 20) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded function is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_surface.rs"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1409dd0d08c5c2206154783789bd2b3c8e890968fad5958ba3550f14b0ef2da"}},{"ruleId":"D1","level":"warning","message":{"text":"Type::combine_sys (cyclomatic 18): Type::combine_sys has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions. This is NOT this file\u0027s highest cyclomatic complexity: Type::write_name (cyclomatic 48) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded function is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/mod.rs"},"region":{"startLine":113}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d9d52357570b41a71607bf669c899ba129c9681b49516cac5bfbcb39f64d9a5"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::inline_record (cyclomatic 18): windows_clang::extract::inline_record has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":3110}}}],"partialFingerprints":{"codehealthFindingId/v1":"557a533fd2366cd3316371c5ebc64647dc6e62f121a9b8a6ed14b69fc6166c80"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_rdl::writer::interface::write_members (cyclomatic 18): windows_rdl::writer::interface::write_members has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/interface.rs"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbce31d4350ae601b38885b61c7f54ba688f769492b6408a5ca5ebad8ebacdc1"}},{"ruleId":"D1","level":"warning","message":{"text":"WebViewWindowBuilder::create_with_status (cyclomatic 18): WebViewWindowBuilder::create_with_status has cyclomatic complexity 18 (threshold 15). To reduce it, split the body: these branches sit side by side rather than nested inside one another, so extracting each one on its own would leave a function per branch. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/window.rs"},"region":{"startLine":141}}}],"partialFingerprints":{"codehealthFindingId/v1":"efde010f79b17d08f9a19356f23104e933d28d20e5a3fd39405a43066c4aab41"}},{"ruleId":"D1","level":"warning","message":{"text":"IStorageFolderQueryOperations_Vtbl::new (cyclomatic 18): IStorageFolderQueryOperations_Vtbl::new has cyclomatic complexity 18 (threshold 15). Most of this is not in the body itself: 1 of the 18 points is its own statement and the rest belongs to 17 function items inside it that branch (GetIndexedStateAsync, CreateFileQueryOverloadDefault, CreateFileQuery, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Search/mod.rs"},"region":{"startLine":724}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb18f1adf7b469e9adb56b54f61ea84b20917e3255b3ce7afbd9084c8c21499e"}},{"ruleId":"D1","level":"warning","message":{"text":"IX509CertificateRevocationList_Vtbl::new (cyclomatic 18): IX509CertificateRevocationList_Vtbl::new has cyclomatic complexity 18 (threshold 15). Most of this is not in the body itself: 1 of the 18 points is its own statement and the rest belongs to 17 function items inside it that branch (Issuer, ThisUpdate, NextUpdate, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":9851}}}],"partialFingerprints":{"codehealthFindingId/v1":"067e060612278fce5df333750cd619feff665c4dddcfffdf5dfd77f20dd29d1c"}},{"ruleId":"D1","level":"warning","message":{"text":"IADsComputer_Vtbl::new (cyclomatic 18): IADsComputer_Vtbl::new has cyclomatic complexity 18 (threshold 15). Most of this is not in the body itself: 1 of the 18 points is its own statement and the rest belongs to 17 function items inside it that branch (ComputerID, Site, Description, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":3035}}}],"partialFingerprints":{"codehealthFindingId/v1":"eaa3e1eca421559250f5bd9d01fea1540ce961e2d84ec6b45c31eabf80256215"}},{"ruleId":"D1","level":"warning","message":{"text":"ISchemaType_Vtbl::new (cyclomatic 18): ISchemaType_Vtbl::new has cyclomatic complexity 18 (threshold 15). Most of this is not in the body itself: 1 of the 18 points is its own statement and the rest belongs to 17 function items inside it that branch (baseTypes, r#final, variety, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msxml/mod.rs"},"region":{"startLine":4889}}}],"partialFingerprints":{"codehealthFindingId/v1":"c78282199c48a2596faf63769c86f202b7eb6858d7b593c57b7423b6b8a7795c"}},{"ruleId":"D1","level":"warning","message":{"text":"IDvdInfo2_Vtbl::new (cyclomatic 18): IDvdInfo2_Vtbl::new has cyclomatic complexity 18 (threshold 15). Most of this is not in the body itself: 1 of the 18 points is its own statement and the rest belongs to 17 function items inside it that branch (GetCurrentDomain, GetCurrentLocation, GetCurrentUOPS, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/strmif/mod.rs"},"region":{"startLine":9289}}}],"partialFingerprints":{"codehealthFindingId/v1":"01b816abaccaf8edbb9ba6b3a763748acc73c84ac4b9d33e24f8cf2dc0bf79ae"}},{"ruleId":"D1","level":"warning","message":{"text":"ITextRange2_Vtbl::new (cyclomatic 18): ITextRange2_Vtbl::new has cyclomatic complexity 18 (threshold 15). Most of this is not in the body itself: 1 of the 18 points is its own statement and the rest belongs to 17 function items inside it that branch (GetCch, GetCells, GetColumn, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":5854}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c51c9ec4700aed939d45b41179207511104f7b0da16c0c02cc9cbd412a32c9a"}},{"ruleId":"D1","level":"warning","message":{"text":"ISWbemObject_Vtbl::new (cyclomatic 18): ISWbemObject_Vtbl::new has cyclomatic complexity 18 (threshold 15). Most of this is not in the body itself: 1 of the 18 points is its own statement and the rest belongs to 17 function items inside it that branch (Put_, Instances_, Subclasses_, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wbemdisp/mod.rs"},"region":{"startLine":1763}}}],"partialFingerprints":{"codehealthFindingId/v1":"beb3fe9cce218d8638a0e1f84f1ba5837f374fca5d052697604ca3c99e813b92"}},{"ruleId":"D1","level":"warning","message":{"text":"IXpsOMGlyphs_Vtbl::new (cyclomatic 18): IXpsOMGlyphs_Vtbl::new has cyclomatic complexity 18 (threshold 15). Most of this is not in the body itself: 1 of the 18 points is its own statement and the rest belongs to 17 function items inside it that branch (GetUnicodeString, GetGlyphIndexCount, GetGlyphMappingCount, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/xps/mod.rs"},"region":{"startLine":3135}}}],"partialFingerprints":{"codehealthFindingId/v1":"89890fa0f021846e4db28caecb52ded65c187cc282350341c8bde4b4fc38a365"}},{"ruleId":"D1","level":"warning","message":{"text":"Method::write_abi (cyclomatic 17): Method::write_abi has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/method.rs"},"region":{"startLine":273}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c4d3613eb86089c746a6d89b0761c375d2936b38098c7733d245c4f86a0e89d"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_bindgen::filter_parser::resolve_one (cyclomatic 17): windows_bindgen::filter_parser::resolve_one has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter_parser.rs"},"region":{"startLine":171}}}],"partialFingerprints":{"codehealthFindingId/v1":"43b371da66cdaa764ee766083772ad256af682ab863c06cf1b5a2ef5bffcf005"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::param_attributes (cyclomatic 17): windows_clang::param_attributes has cyclomatic complexity 17 (threshold 15). To reduce it, split the body: these branches sit side by side rather than nested inside one another, so extracting each one on its own would leave a function per branch. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages. This is NOT this file\u0027s highest cyclomatic complexity: windows_clang::canonical_named_type (cyclomatic 18) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded function is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":3221}}}],"partialFingerprints":{"codehealthFindingId/v1":"a130fe8a7e47ff4b1c9e0691e15f683566ec77175b6a1175494bc31ef426aa83"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::extract::evaluate_parsed_probe (cyclomatic 17): windows_clang::extract::evaluate_parsed_probe has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":1834}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e5254adbdc8a0ff712f236ed24bd8367c1565d1f20b1c4f4b95329c5e553ef4"}},{"ruleId":"D1","level":"warning","message":{"text":"App::run_host (cyclomatic 17): App::run_host has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":1020}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcf0ac7279c3092edd189f3cd7423048f23e346aac87b3b275475a34646566c7"}},{"ruleId":"D1","level":"warning","message":{"text":"ComponentStore::drain (cyclomatic 17): ComponentStore::drain has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/component/mod.rs"},"region":{"startLine":1912}}}],"partialFingerprints":{"codehealthFindingId/v1":"88cf4bc6b110192af26814dd19f4182593c24590adf78c94c67460ac6b28c01f"}},{"ruleId":"D1","level":"warning","message":{"text":"Pump::reconcile_keyed_child_list (cyclomatic 17): Pump::reconcile_keyed_child_list has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":677}}}],"partialFingerprints":{"codehealthFindingId/v1":"49390cc7380d0dbd733b1897d88c1afaf9a93de3f06916028702c3fc39f036f0"}},{"ruleId":"D1","level":"warning","message":{"text":"WinUiRuntime::apply_window_visuals (cyclomatic 17): WinUiRuntime::apply_window_visuals has cyclomatic complexity 17 (threshold 15). To reduce it, split the body: these branches sit side by side rather than nested inside one another, so extracting each one on its own would leave a function per branch. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages. This is NOT this file\u0027s highest cyclomatic complexity: WinUiRuntime::set_key_accelerators (cyclomatic 27) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded function is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":1109}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba228973d27ead46478ed239b7ee9148bfab0762f5a2a49beaf18d6e4694a421"}},{"ruleId":"D1","level":"warning","message":{"text":"IX509CertificateRequestCmc_Vtbl::new (cyclomatic 17): IX509CertificateRequestCmc_Vtbl::new has cyclomatic complexity 17 (threshold 15). Most of this is not in the body itself: 1 of the 17 points is its own statement and the rest belongs to 16 function items inside it that branch (TemplateObjectId, NullSigned, CryptAttributes, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":7853}}}],"partialFingerprints":{"codehealthFindingId/v1":"367b5b7d48defb45b49ef545cbb7930b44e7e1b8e8ea86a7d28fbfd841c6b2f7"}},{"ruleId":"D1","level":"warning","message":{"text":"IVideoWindow_Vtbl::new (cyclomatic 17): IVideoWindow_Vtbl::new has cyclomatic complexity 17 (threshold 15). Most of this is not in the body itself: 1 of the 17 points is its own statement and the rest belongs to 16 function items inside it that branch (Caption, WindowStyle, WindowStyleEx, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/control/mod.rs"},"region":{"startLine":2599}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cfe1833170de00f26afc4f89f031900cef6b4fe7edebbb4fedbd6dd37ea47b7"}},{"ruleId":"D1","level":"warning","message":{"text":"IDWriteFactory_Vtbl::new (cyclomatic 17): IDWriteFactory_Vtbl::new has cyclomatic complexity 17 (threshold 15). Most of this is not in the body itself: 1 of the 17 points is its own statement and the rest belongs to 16 function items inside it that branch (CreateCustomFontCollection, CreateFontFileReference, CreateCustomFontFileReference, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":2042}}}],"partialFingerprints":{"codehealthFindingId/v1":"3baf3d7f0600e2650c311ee6f381ad1465aab0e339246bfc24a5f287b2ff2751"}},{"ruleId":"D1","level":"warning","message":{"text":"IADsClass_Vtbl::new (cyclomatic 17): IADsClass_Vtbl::new has cyclomatic complexity 17 (threshold 15). Most of this is not in the body itself: 1 of the 17 points is its own statement and the rest belongs to 16 function items inside it that branch (PrimaryInterface, CLSID, OID, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":2364}}}],"partialFingerprints":{"codehealthFindingId/v1":"aaee3e23d62d8710b66de22301b22d95ae757bd8db14cb9638887b01da602635"}},{"ruleId":"D1","level":"warning","message":{"text":"IDiscFormat2TrackAtOnce_Vtbl::new (cyclomatic 17): IDiscFormat2TrackAtOnce_Vtbl::new has cyclomatic complexity 17 (threshold 15). Most of this is not in the body itself: 1 of the 17 points is its own statement and the rest belongs to 16 function items inside it that branch (Recorder, BufferUnderrunFreeDisabled, NumberOfExistingTracks, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/imapi2/mod.rs"},"region":{"startLine":2628}}}],"partialFingerprints":{"codehealthFindingId/v1":"714841cb9af15e96b4a2606c9ff84b7deb0c48aba94a289a9d58f846689a7b91"}},{"ruleId":"D1","level":"warning","message":{"text":"IAccessible_Vtbl::new (cyclomatic 17): IAccessible_Vtbl::new has cyclomatic complexity 17 (threshold 15). Most of this is not in the body itself: 1 of the 17 points is its own statement and the rest belongs to 16 function items inside it that branch (accParent, accChildCount, accChild, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/oleacc/mod.rs"},"region":{"startLine":737}}}],"partialFingerprints":{"codehealthFindingId/v1":"6833ed946fc8dbba268255546d92cd850b7597ce16d002044ef390d56577620d"}},{"ruleId":"D1","level":"warning","message":{"text":"ISpeechPhraseInfo_Vtbl::new (cyclomatic 17): ISpeechPhraseInfo_Vtbl::new has cyclomatic complexity 17 (threshold 15). Most of this is not in the body itself: 1 of the 17 points is its own statement and the rest belongs to 16 function items inside it that branch (LanguageId, GrammarId, StartTime, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/sapi/mod.rs"},"region":{"startLine":10162}}}],"partialFingerprints":{"codehealthFindingId/v1":"23a58e9c33600417b7a74ce7e04e6c8aca67b607800c443df33cd3817535a11b"}},{"ruleId":"D1","level":"warning","message":{"text":"IVssBackupComponents_Vtbl::new (cyclomatic 17): IVssBackupComponents_Vtbl::new has cyclomatic complexity 17 (threshold 15). Most of this is not in the body itself: 1 of the 17 points is its own statement and the rest belongs to 16 function items inside it that branch (GetWriterComponentsCount, GetWriterComponents, GatherWriterMetadata, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/vsbackup/mod.rs"},"region":{"startLine":563}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e4d343525cfea2a575977c29009ea13cb66ea7a45beacba48d0391ea991003c"}},{"ruleId":"D1","level":"warning","message":{"text":"IWMPCore_Vtbl::new (cyclomatic 17): IWMPCore_Vtbl::new has cyclomatic complexity 17 (threshold 15). Most of this is not in the body itself: 1 of the 17 points is its own statement and the rest belongs to 16 function items inside it that branch (URL, openState, playState, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IWMPMedia_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wmp/mod.rs"},"region":{"startLine":1593}}}],"partialFingerprints":{"codehealthFindingId/v1":"95515dece119c8b3f74027d1fb22fcaa7c4c7280171358c73b7bf06a35e8337f"}},{"ruleId":"D1","level":"warning","message":{"text":"IWMPMedia_Vtbl::new (cyclomatic 17): IWMPMedia_Vtbl::new has cyclomatic complexity 17 (threshold 15). Most of this is not in the body itself: 1 of the 17 points is its own statement and the rest belongs to 16 function items inside it that branch (isIdentical, sourceURL, name, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IWMPCore_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wmp/mod.rs"},"region":{"startLine":4246}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a2684b5906a698d656a737a626a47fb261ace119837478b9d363b6629b2baab"}},{"ruleId":"D1","level":"warning","message":{"text":"windows_clang::validate_complete_layout (cyclomatic 16): windows_clang::validate_complete_layout has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top. This is NOT this file\u0027s highest cyclomatic complexity: windows_clang::canonical_named_type (cyclomatic 18) is higher and carries no row of its own \u2014 it was excluded as a flat dispatcher (a long switch/match over independent cases: many branches, almost no nesting), which this dimension does not treat as a refactor obligation. It is named here so the ranking you see in this file is not mistaken for the whole of it; the excluded function is counted neither in this dimension\u0027s figures nor in its score."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":2983}}}],"partialFingerprints":{"codehealthFindingId/v1":"420d4fdfe5f1a753ece0432778a33aca55519fce7f849eea17117a34be0fff97"}},{"ruleId":"D1","level":"warning","message":{"text":"TimeSpan::fmt (cyclomatic 16): TimeSpan::fmt has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/time/src/timespan.rs"},"region":{"startLine":300}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd4e01cd912cf54dbc05e9658020b236f24d317dc2d9c74721f9db97386665fe"}},{"ruleId":"D1","level":"warning","message":{"text":"IOCSPCAConfiguration_Vtbl::new (cyclomatic 16): IOCSPCAConfiguration_Vtbl::new has cyclomatic complexity 16 (threshold 15). Most of this is not in the body itself: 1 of the 16 points is its own statement and the rest belongs to 15 function items inside it that branch (Identifier, CACertificate, HashAlgorithm, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":940}}}],"partialFingerprints":{"codehealthFindingId/v1":"8623324d95b9dce596ef75e12d448c32ab19d15ca336fbfd1db8c891128d1bff"}},{"ruleId":"D1","level":"warning","message":{"text":"ICspInformation_Vtbl::new (cyclomatic 16): ICspInformation_Vtbl::new has cyclomatic complexity 16 (threshold 15). Most of this is not in the body itself: 1 of the 16 points is its own statement and the rest belongs to 15 function items inside it that branch (CspAlgorithms, HasHardwareRandomNumberGenerator, IsHardwareDevice, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":3634}}}],"partialFingerprints":{"codehealthFindingId/v1":"d23c0e1bc3b6237c14107d1a9d46a6cfae5871f77507f216a821996fc86b7671"}},{"ruleId":"D1","level":"warning","message":{"text":"ID2D1DeviceContext_Vtbl::new (cyclomatic 16): ID2D1DeviceContext_Vtbl::new has cyclomatic complexity 16 (threshold 15). Most of this is not in the body itself: 1 of the 16 points is its own statement and the rest belongs to 15 function items inside it that branch (CreateBitmap, CreateBitmapFromWicBitmap, CreateColorContext, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":4000}}}],"partialFingerprints":{"codehealthFindingId/v1":"8858ff6078445c569a0ee5b90775e879b663b15303346b9e0629131950ccd76d"}},{"ruleId":"D1","level":"warning","message":{"text":"IDataCollector_Vtbl::new (cyclomatic 16): IDataCollector_Vtbl::new has cyclomatic complexity 16 (threshold 15). Most of this is not in the body itself: 1 of the 16 points is its own statement and the rest belongs to 15 function items inside it that branch (DataCollectorSet, DataCollectorType, FileName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/pla/mod.rs"},"region":{"startLine":1179}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b07246ebfbcb7e1e5118c84eaa6c6a2435f641271f72d3e345b91034a7c0200"}},{"ruleId":"D1","level":"warning","message":{"text":"IPortableDeviceServiceCapabilities_Vtbl::new (cyclomatic 16): IPortableDeviceServiceCapabilities_Vtbl::new has cyclomatic complexity 16 (threshold 15). Most of this is not in the body itself: 1 of the 16 points is its own statement and the rest belongs to 15 function items inside it that branch (GetSupportedMethods, GetSupportedMethodsByFormat, GetMethodAttributes, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/portabledeviceapi/mod.rs"},"region":{"startLine":2173}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0393a2797bc918ed446966e4d455c5aefce6ec9e576ce05dd237549f8ba0b75"}},{"ruleId":"D1","level":"warning","message":{"text":"IPortableDeviceValues_Vtbl::new (cyclomatic 16): IPortableDeviceValues_Vtbl::new has cyclomatic complexity 16 (threshold 15). Most of this is not in the body itself: 1 of the 16 points is its own statement and the rest belongs to 15 function items inside it that branch (GetValue, GetStringValue, GetUnsignedIntegerValue, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/portabledevicetypes/mod.rs"},"region":{"startLine":711}}}],"partialFingerprints":{"codehealthFindingId/v1":"29ec9b500429cd223e540a90da5c5f29e1a37a6b037737d1ce904ccda58682dc"}},{"ruleId":"D1","level":"warning","message":{"text":"IPropertyDescription_Vtbl::new (cyclomatic 16): IPropertyDescription_Vtbl::new has cyclomatic complexity 16 (threshold 15). Most of this is not in the body itself: 1 of the 16 points is its own statement and the rest belongs to 15 function items inside it that branch (GetCanonicalName, GetPropertyType, GetDisplayName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/propsys/mod.rs"},"region":{"startLine":1503}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf1aef8ba35dfc3367fe5bfe78a2576733151c091463cd727f1fbe97fcffc07f"}},{"ruleId":"D1","level":"warning","message":{"text":"IUpdateInstaller_Vtbl::new (cyclomatic 16): IUpdateInstaller_Vtbl::new has cyclomatic complexity 16 (threshold 15). Most of this is not in the body itself: 1 of the 16 points is its own statement and the rest belongs to 15 function items inside it that branch (ClientApplicationID, IsForced, ParentHwnd, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wuapi/mod.rs"},"region":{"startLine":6604}}}],"partialFingerprints":{"codehealthFindingId/v1":"40bc2f5c657eddc5d135ec7f15a330269fcb43c7b045df21a5e716fe7d8adcd2"}},{"ruleId":"D2","level":"warning","message":{"text":"Snapshot::plan (cognitive 294): Snapshot::plan has cognitive complexity 294 (threshold 15). Drivers by points: if/else 92 (178 pts), loops 46 (64 pts), boolean chains 40, match/switch 6 (12 pts) (nesting depth added 110). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":773}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f5ed44ed0e4daa0137051e457716b9c3e7c542636aab3bb48809488ad5b3d56"}},{"ruleId":"D2","level":"warning","message":{"text":"Schema::resolve (cognitive 275): Schema::resolve has cognitive complexity 275 (threshold 15). Drivers by points: if/else 72 (195 pts), boolean chains 35, match/switch 10 (33 pts), loops 6 (12 pts) (nesting depth added 152). To reduce it, flatten the nesting: this score is depth rather than breadth \u2014 most of its points come from checks stacked inside one another, so the work sits several levels in. Invert each enclosing check into an early exit (a return, or the language\u0027s equivalent) so the happy path stays at one level, and where a level cannot be exited early, lift the block it encloses into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/schema.rs"},"region":{"startLine":768}}}],"partialFingerprints":{"codehealthFindingId/v1":"06cc513cb39bd33a7b75d64935f4d452063e714cd3d2bccb7e8d0913bec4b2f1"}},{"ruleId":"D2","level":"warning","message":{"text":"WinUiRuntime::apply_one (cognitive 246): WinUiRuntime::apply_one has cognitive complexity 246 (threshold 15). Drivers by points: if/else 79 (161 pts), match/switch 32 (68 pts), boolean chains 11, loops 3 (6 pts) (nesting depth added 121). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":1713}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8e59f04392a75200a1933bffb1ec7a656cd2aa300ad1f518109aa130757e573"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::reconcile_planned_view (cognitive 174): Pump::reconcile_planned_view has cognitive complexity 174 (threshold 15). Drivers by points: if/else 62 (132 pts), match/switch 5 (16 pts), boolean chains 14, loops 4 (12 pts) (nesting depth added 89). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"4211978572a797bcd0497dc365be79ddb4a2cf23152298d6481d75c3db853d1b"}},{"ruleId":"D2","level":"warning","message":{"text":"Method::write (cognitive 168): Method::write has cognitive complexity 168 (threshold 15). Drivers by points: if/else 107 (148 pts), boolean chains 15, match/switch 4 (5 pts) (nesting depth added 42). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/method.rs"},"region":{"startLine":347}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfda46333b03f0ac9f9b2b386fee220e039a3ce46e583e1c52a2b9326a40db3b"}},{"ruleId":"D2","level":"warning","message":{"text":"Filter::register_member (cognitive 120): Filter::register_member has cognitive complexity 120 (threshold 15). Drivers by points: if/else 23 (86 pts), loops 6 (29 pts), match/switch 2 (5 pts) (nesting depth added 89). To reduce it, flatten the nesting: this score is depth rather than breadth \u2014 most of its points come from checks stacked inside one another, so the work sits several levels in. Invert each enclosing check into an early exit (a return, or the language\u0027s equivalent) so the happy path stays at one level, and where a level cannot be exited early, lift the block it encloses into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter.rs"},"region":{"startLine":389}}}],"partialFingerprints":{"codehealthFindingId/v1":"eacc6f7adbdcf53b8cddfe1cc26f76b1321a2218d1fe2129d9ede20311349549"}},{"ruleId":"D2","level":"warning","message":{"text":"Interface::write (cognitive 114): Interface::write has cognitive complexity 114 (threshold 15). Drivers by points: if/else 33 (77 pts), loops 4 (14 pts), boolean chains 13, match/switch 4 (10 pts) (nesting depth added 60). Of this number, 105 points are the body\u0027s own statements and 9 belong to one function item inside it that branches. To reduce it, flatten the nesting: this score is depth rather than breadth \u2014 most of its points come from checks stacked inside one another, so the work sits several levels in. Invert each enclosing check into an early exit (a return, or the language\u0027s equivalent) so the happy path stays at one level, and where a level cannot be exited early, lift the block it encloses into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/interface.rs"},"region":{"startLine":207}}}],"partialFingerprints":{"codehealthFindingId/v1":"85fd01f15d3a45a723d99f99f1ee88b0892a1a17c34be2970db6685b570d47a3"}},{"ruleId":"D2","level":"warning","message":{"text":"Encoder::encode_interface (cognitive 112): Encoder::encode_interface has cognitive complexity 112 (threshold 15). Drivers by points: if/else 30 (89 pts), loops 7 (13 pts), match/switch 2 (6 pts), boolean chains 4 (nesting depth added 69). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/interface.rs"},"region":{"startLine":108}}}],"partialFingerprints":{"codehealthFindingId/v1":"11c73c6240d5b443ef819b042f2e04afb733397e083520a79250ed22bceddd42"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::dispatch_events (cognitive 109): Pump::dispatch_events has cognitive complexity 109 (threshold 15). Drivers by points: if/else 34 (81 pts), match/switch 6 (16 pts), boolean chains 6, loops 4 (6 pts) (nesting depth added 59). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/native_work.rs"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"c613ad707282d09712281690e4bd0fedce9c98e7f9167ad47f4323edd7236feb"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::mount_planned_view (cognitive 106): Pump::mount_planned_view has cognitive complexity 106 (threshold 15). Drivers by points: if/else 28 (63 pts), loops 9 (21 pts), match/switch 6 (16 pts), boolean chains 6 (nesting depth added 57). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1802}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0dc890ae035881a37b759c99c9537a9ab6a2aa2cbbe788e8032e38fa5449bd4"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::node_matches_view_kind (cognitive 95): Pump::node_matches_view_kind has cognitive complexity 95 (threshold 15). Drivers by points: if/else 31 (72 pts), boolean chains 12, match/switch 3 (9 pts), loops 1 (2 pts) (nesting depth added 48). The drivers above price the dispatch low by construction \u2014 a dispatch is charged once however many cases it lists, while each branch inside an arm is charged in full \u2014 so most of this count is what the case bodies hold, and the arms are where it can be reduced. To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Keep every case explicit, and make the behaviour for cases you do not list a deliberate choice rather than an accident."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":814}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ad12bc74c2b250d79c89d8e48836b4bd514abd11494e74c29428abc625b035a"}},{"ruleId":"D2","level":"warning","message":{"text":"CppInterface::write (cognitive 91): CppInterface::write has cognitive complexity 91 (threshold 15). Drivers by points: if/else 29 (66 pts), match/switch 6 (15 pts), loops 2 (7 pts), boolean chains 3 (nesting depth added 51). Of this number, 82 points are the body\u0027s own statements and 9 belong to one function item inside it that branches. To reduce it, flatten the nesting: this score is depth rather than breadth \u2014 most of its points come from checks stacked inside one another, so the work sits several levels in. Invert each enclosing check into an early exit (a return, or the language\u0027s equivalent) so the happy path stays at one level, and where a level cannot be exited early, lift the block it encloses into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_interface.rs"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8880382e9a3920b2c376567bdbabf589642cd2885daa6c45b202d2997a4514b"}},{"ruleId":"D2","level":"warning","message":{"text":"TypeClosure::build (cognitive 85): TypeClosure::build has cognitive complexity 85 (threshold 15). Drivers by points: loops 14 (49 pts), if/else 10 (33 pts), boolean chains 3 (nesting depth added 58). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/type_closure.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff809aa860ebe20320e9bf35898f99580c2a04546d6a9d24e091303258c5e5e8"}},{"ruleId":"D2","level":"warning","message":{"text":"CppConst::write (cognitive 85): CppConst::write has cognitive complexity 85 (threshold 15). Drivers by points: if/else 30 (63 pts), match/switch 3 (12 pts), boolean chains 7, loops 1 (3 pts) (nesting depth added 44). To reduce it, flatten the nesting: this score is depth rather than breadth \u2014 most of its points come from checks stacked inside one another, so the work sits several levels in. Invert each enclosing check into an early exit (a return, or the language\u0027s equivalent) so the happy path stays at one level, and where a level cannot be exited early, lift the block it encloses into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_const.rs"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e6a0ad6ada20fd82a05b0da2f5c3b48a6019423a9e21e4f5333b62bf788a505"}},{"ruleId":"D2","level":"warning","message":{"text":"Writer::write (cognitive 82): Writer::write has cognitive complexity 82 (threshold 15). Drivers by points: if/else 17 (45 pts), loops 14 (37 pts) (nesting depth added 51). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/mod.rs"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"b3c03d1485710d93e7806441ec2e50ae1329e0ff7f52f44035f78a2d27b5f1cb"}},{"ruleId":"D2","level":"warning","message":{"text":"IUIAutomationElement_Vtbl::new (cognitive 79): IUIAutomationElement_Vtbl::new has cognitive complexity 79 (threshold 15). Drivers by points: match/switch 79. Most of this is not in the body itself: 0 of the 79 points are its own statements and the rest belongs to 79 function items inside it that branch (GetRuntimeId, FindFirst, FindAll, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/uiautomationclient/mod.rs"},"region":{"startLine":3625}}}],"partialFingerprints":{"codehealthFindingId/v1":"1aff07977babd203d18b65dac20c285b335b5d7d8c0405c1250d09e732d95488"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::reconcile_node (cognitive 76): Pump::reconcile_node has cognitive complexity 76 (threshold 15). Drivers by points: if/else 23 (51 pts), loops 6 (16 pts), boolean chains 5, match/switch 3 (4 pts) (nesting depth added 39). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/element.rs"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"37934c2d345f8c249d45d637d3d67846c366383efdf1fa4ef4aa5126498097b0"}},{"ruleId":"D2","level":"warning","message":{"text":"CppMethod::write_args (cognitive 73): CppMethod::write_args has cognitive complexity 73 (threshold 15). Drivers by points: if/else 27 (66 pts), match/switch 2 (5 pts), boolean chains 1, loops 1 (nesting depth added 42). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_method.rs"},"region":{"startLine":679}}}],"partialFingerprints":{"codehealthFindingId/v1":"2aa165910cb1a6917e570995db29dbdba072a6eb1c14d2accc57dedb183b86bb"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::extract_child (cognitive 73): windows_clang::extract::extract_child has cognitive complexity 73 (threshold 15). Drivers by points: if/else 25 (52 pts), boolean chains 18, loops 1 (3 pts) (nesting depth added 29). To reduce it, flatten the nesting: this score is depth rather than breadth \u2014 most of its points come from checks stacked inside one another, so the work sits several levels in. Invert each enclosing check into an early exit (a return, or the language\u0027s equivalent) so the happy path stays at one level, and where a level cannot be exited early, lift the block it encloses into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":827}}}],"partialFingerprints":{"codehealthFindingId/v1":"6440302dd133bd2c72371a9a3ba0e5c2410607ea85ef0065d3938cbb13544782"}},{"ruleId":"D2","level":"warning","message":{"text":"Type::combine_closure (cognitive 68): Type::combine_closure has cognitive complexity 68 (threshold 15). Drivers by points: loops 14 (32 pts), if/else 15 (31 pts), boolean chains 3, match/switch 2 (nesting depth added 34). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/type_closure.rs"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"a21ffb041e5d9bad2fb130b016a11b3d1b1fbb807dc9b3c51f0175e24fa229d9"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::retire_planned_subtree (cognitive 66): Pump::retire_planned_subtree has cognitive complexity 66 (threshold 15). Drivers by points: if/else 15 (42 pts), match/switch 5 (14 pts), loops 5 (7 pts), boolean chains 3 (nesting depth added 38). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/topology.rs"},"region":{"startLine":620}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2c82c8f3e52a4760cdb94a206282d6943402dc13ec46ecaca57b13d4704c444"}},{"ruleId":"D2","level":"warning","message":{"text":"Merger::merge (cognitive 65): Merger::merge has cognitive complexity 65 (threshold 15). Drivers by points: if/else 18 (36 pts), loops 11 (29 pts) (nesting depth added 36). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/merge/mod.rs"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf3f3d38d9042813497b71188863a63b3727942b991b8396be250123cd7956dc"}},{"ruleId":"D2","level":"warning","message":{"text":"MetadataResolver::load (cognitive 65): MetadataResolver::load has cognitive complexity 65 (threshold 15). Drivers by points: if/else 15 (40 pts), match/switch 4 (14 pts), loops 5 (8 pts), boolean chains 3 (nesting depth added 38). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/metadata.rs"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"d28dad8c5eb3b29581c798af075c9de9113cca549955e965895df32b8b0dc347"}},{"ruleId":"D2","level":"warning","message":{"text":"CppMethod::new (cognitive 62): CppMethod::new has cognitive complexity 62 (threshold 15). Drivers by points: if/else 19 (36 pts), boolean chains 11, loops 8 (10 pts), match/switch 3 (5 pts) (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_method.rs"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"779840d8c9374cbe120256fa107f0a46e1b83fbddd5876369657a8b46f3a9ff8"}},{"ruleId":"D2","level":"warning","message":{"text":"Class::write (cognitive 59): Class::write has cognitive complexity 59 (threshold 15). Drivers by points: if/else 24 (35 pts), loops 4 (10 pts), boolean chains 8, match/switch 3 (6 pts) (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/class.rs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b2c29d25a0a098749cbebf4d90567e158cf52666e36fd89dd2f684ed4ff17ea"}},{"ruleId":"D2","level":"warning","message":{"text":"Reader::from_index (cognitive 58): Reader::from_index has cognitive complexity 58 (threshold 15). Drivers by points: if/else 8 (33 pts), loops 3 (12 pts), match/switch 3 (10 pts), boolean chains 3 (nesting depth added 41). Of this number, 47 points are the body\u0027s own statements and 11 belong to one function item inside it that branches. To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/winmd/reader.rs"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ebaa7f3d64ecfc664d3760b32e371b79a2c8cc251b6ee80cf9922961e0096ba"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::process_realizations (cognitive 57): Pump::process_realizations has cognitive complexity 57 (threshold 15). Drivers by points: if/else 16 (38 pts), loops 4 (10 pts), match/switch 3 (5 pts), boolean chains 4 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/native_work.rs"},"region":{"startLine":419}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b88dacfb2a381286c1e5ac1c8c14ab8768698a27d7f67f658a83ecbea7109cd"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::choose_type_root_cached (cognitive 56): windows_clang::choose_type_root_cached has cognitive complexity 56 (threshold 15). Drivers by points: if/else 28 (50 pts), boolean chains 39, match/switch 6 (8 pts) (nesting depth added 24). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body. This shape REPEATS in the file: one other method here (windows_clang::choose_type_root_cached::resolved_type_shape::write) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":2079}}}],"partialFingerprints":{"codehealthFindingId/v1":"53e25306744113ffbf2bebfa85f12b842dd3325bb49ca8e1987be8089a3fcbf8"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::type_ref (cognitive 51): windows_clang::extract::type_ref has cognitive complexity 51 (threshold 15). Drivers by points: if/else 24 (41 pts), boolean chains 10 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":3287}}}],"partialFingerprints":{"codehealthFindingId/v1":"0964de9519326fa234ad39deb9e7026f3ff855f88d2a84ce48de8f99e28ee9d4"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_rdl::formatter::format_seq (cognitive 51): windows_rdl::formatter::format_seq has cognitive complexity 51 (threshold 15). Drivers by points: if/else 14 (37 pts), match/switch 3 (8 pts), boolean chains 5, loops 1 (nesting depth added 28). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/formatter/mod.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"7643d574f26ac516072708f9023fbcf32a55064f67d1b3180e6a15841fb10419"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_rdl::writer::interface::write_members (cognitive 50): windows_rdl::writer::interface::write_members has cognitive complexity 50 (threshold 15). Drivers by points: if/else 13 (46 pts), boolean chains 3, loops 1 (nesting depth added 33). To reduce it, flatten the nesting: this score is depth rather than breadth \u2014 most of its points come from checks stacked inside one another, so the work sits several levels in. Invert each enclosing check into an early exit (a return, or the language\u0027s equivalent) so the happy path stays at one level, and where a level cannot be exited early, lift the block it encloses into its own named function."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/interface.rs"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f826d99793ebcd95da6ded15ad17c7f732635bb3f582a272c1199bef5526f45"}},{"ruleId":"D2","level":"warning","message":{"text":"Filter::from_resolved (cognitive 49): Filter::from_resolved has cognitive complexity 49 (threshold 15). Drivers by points: if/else 12 (42 pts), loops 2 (5 pts), match/switch 1 (2 pts) (nesting depth added 34). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter.rs"},"region":{"startLine":212}}}],"partialFingerprints":{"codehealthFindingId/v1":"81e3b707641932a1734dbb0e67cef96b357e11da6ab1787d05167b689495425b"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::record_layout (cognitive 49): windows_clang::record_layout has cognitive complexity 49 (threshold 15). Drivers by points: if/else 18 (39 pts), boolean chains 7, loops 2 (3 pts) (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":3663}}}],"partialFingerprints":{"codehealthFindingId/v1":"518d3417714d5ef2b08dbf6df98ef0258e62ef620476197216ebae6974ca56f1"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_reactor::generate_winui::generate_event_arm (cognitive 49): tool_reactor::generate_winui::generate_event_arm has cognitive complexity 49 (threshold 15). Drivers by points: if/else 26 (33 pts), boolean chains 8, match/switch 5 (8 pts) (nesting depth added 10). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition, and where an else follows a branch that already returns, drop the trailing else and let the rest of the body continue at one level."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_winui.rs"},"region":{"startLine":1022}}}],"partialFingerprints":{"codehealthFindingId/v1":"be209167a512557a8d50dd74a2461b8b1d37e2c770118ba5bd54d45df0b7403a"}},{"ruleId":"D2","level":"warning","message":{"text":"IADsUser_Vtbl::new (cognitive 48): IADsUser_Vtbl::new has cognitive complexity 48 (threshold 15). Drivers by points: match/switch 48. Most of this is not in the body itself: 0 of the 48 points are its own statements and the rest belongs to 48 function items inside it that branch (BadLoginAddress, BadLoginCount, LastLogin, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":12070}}}],"partialFingerprints":{"codehealthFindingId/v1":"14b5054c1e0425e746f6d44ad4c16d94f5181de35cc25deabaa242ab69dfe94d"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::fact_data (cognitive 47): windows_clang::extract::fact_data has cognitive complexity 47 (threshold 15). Drivers by points: if/else 21 (36 pts), match/switch 3 (6 pts), boolean chains 5 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":2007}}}],"partialFingerprints":{"codehealthFindingId/v1":"25239340a8b72310df231d92ea69167c00bb89e254dab23a62813c8ccacc2a7d"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::recover_midl_artifacts (cognitive 46): windows_clang::extract::recover_midl_artifacts has cognitive complexity 46 (threshold 15). Drivers by points: if/else 17 (31 pts), boolean chains 9, loops 6 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":189}}}],"partialFingerprints":{"codehealthFindingId/v1":"02e75422eaee892fb5305c94b4e507fdaab1a1bacaf8c24346d1bf09065ef4c8"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugControl6_Vtbl::new (cognitive 45): IDebugControl6_Vtbl::new has cognitive complexity 45 (threshold 15). Drivers by points: match/switch 45. Most of this is not in the body itself: 0 of the 45 points are its own statements and the rest belongs to 45 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugControl7_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":27822}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbd57ce41ad5a92b5073b4ef3f156277b67ef55615ab50061a11d91bccee6eac"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugControl7_Vtbl::new (cognitive 45): IDebugControl7_Vtbl::new has cognitive complexity 45 (threshold 15). Drivers by points: match/switch 45. Most of this is not in the body itself: 0 of the 45 points are its own statements and the rest belongs to 45 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugControl6_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":30901}}}],"partialFingerprints":{"codehealthFindingId/v1":"49763a076873e1769b09881f36da8e032257daf782903a00df473dda2369ce5a"}},{"ruleId":"D2","level":"warning","message":{"text":"Reader::write (cognitive 44): Reader::write has cognitive complexity 44 (threshold 15). Drivers by points: loops 11 (25 pts), if/else 5 (14 pts), match/switch 1 (4 pts), boolean chains 1 (nesting depth added 26). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8a380889e535fda9a68e35d8f44b34119e413ddf58a43bdc750942b22ebdc6c"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugControl5_Vtbl::new (cognitive 44): IDebugControl5_Vtbl::new has cognitive complexity 44 (threshold 15). Drivers by points: match/switch 44. Most of this is not in the body itself: 0 of the 44 points are its own statements and the rest belongs to 44 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":24772}}}],"partialFingerprints":{"codehealthFindingId/v1":"0875c6ef42a9938ea6d6a6f8d6f2c498a57ae04e36355bc438357eddf5f67c40"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::inline_record (cognitive 43): windows_clang::extract::inline_record has cognitive complexity 43 (threshold 15). Drivers by points: if/else 19 (39 pts), boolean chains 3, loops 1 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":3110}}}],"partialFingerprints":{"codehealthFindingId/v1":"aae70e73fcbfa1e9a0f5a3b0e5d0c45056c77445e785a4ed66e95d570881d32a"}},{"ruleId":"D2","level":"warning","message":{"text":"Encoder::encode_path (cognitive 43): Encoder::encode_path has cognitive complexity 43 (threshold 15). Drivers by points: if/else 18 (28 pts), loops 4 (8 pts), match/switch 2 (4 pts), boolean chains 3 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":1041}}}],"partialFingerprints":{"codehealthFindingId/v1":"5df8c2d22f287b7703036c5bbc4c91953c88f7aa48627ac4c217738ac2256b10"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_window::window::wndproc (cognitive 43): windows_window::window::wndproc has cognitive complexity 43 (threshold 15). Drivers by points: if/else 16 (30 pts), boolean chains 8, match/switch 2 (5 pts) (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/window/src/window.rs"},"region":{"startLine":393}}}],"partialFingerprints":{"codehealthFindingId/v1":"30114db5cf04f1d29d9e9ba94a03eed1cb2aff928e609fdee71376e85d126437"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugControl4_Vtbl::new (cognitive 43): IDebugControl4_Vtbl::new has cognitive complexity 43 (threshold 15). Drivers by points: match/switch 43. Most of this is not in the body itself: 0 of the 43 points are its own statements and the rest belongs to 43 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":21784}}}],"partialFingerprints":{"codehealthFindingId/v1":"9dfa8eb03f72f8eb34538cee01b90be1d482c0b3035d821a8bb870bdca0b5b04"}},{"ruleId":"D2","level":"warning","message":{"text":"IUIAutomation_Vtbl::new (cognitive 43): IUIAutomation_Vtbl::new has cognitive complexity 43 (threshold 15). Drivers by points: match/switch 43. Most of this is not in the body itself: 0 of the 43 points are its own statements and the rest belongs to 43 function items inside it that branch (CompareElements, CompareRuntimeIds, GetRootElement, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/uiautomationclient/mod.rs"},"region":{"startLine":613}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cf70874f83ea595a09ccff783eb4626a065772f5ccaae475c8b3395b5256b3e"}},{"ruleId":"D2","level":"warning","message":{"text":"IUpdate_Vtbl::new (cognitive 42): IUpdate_Vtbl::new has cognitive complexity 42 (threshold 15). Drivers by points: match/switch 42. Most of this is not in the body itself: 0 of the 42 points are its own statements and the rest belongs to 42 function items inside it that branch (Title, AutoSelectOnWebSites, BundledUpdates, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wuapi/mod.rs"},"region":{"startLine":3676}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b43af462911d1a18a16b20e17bf65c0a983e257cf59f56c0623faa55c202ab6"}},{"ruleId":"D2","level":"warning","message":{"text":"Config::write_package (cognitive 41): Config::write_package has cognitive complexity 41 (threshold 15). Drivers by points: if/else 17 (27 pts), loops 9 (13 pts), boolean chains 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/package_writer.rs"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b789e3d0264cc9229d6956b81fdd349fb2a926f10d95a391dcc2833dac5fa10"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_reactor::generate_winui::generate_control_bindings_filter (cognitive 41): tool_reactor::generate_winui::generate_control_bindings_filter has cognitive complexity 41 (threshold 15). Drivers by points: if/else 10 (23 pts), match/switch 4 (11 pts), loops 4 (7 pts) (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_winui.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"700c8a26a5f9c2dd58251a452c4a35a36298ecd174d41382d0400143d66de366"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_reactor::generate_surface::generate (cognitive 39): tool_reactor::generate_surface::generate has cognitive complexity 39 (threshold 15). Drivers by points: if/else 9 (17 pts), match/switch 4 (14 pts), loops 4 (8 pts) (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_surface.rs"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"28cbcdef1b2d888f19dfe00a11b17935a3c67f1daff848641ef9fa58ea9ee29b"}},{"ruleId":"D2","level":"warning","message":{"text":"TypeMap::filter (cognitive 38): TypeMap::filter has cognitive complexity 38 (threshold 15). Drivers by points: if/else 6 (23 pts), loops 4 (14 pts), boolean chains 1 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/type_map.rs"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"96a8761a72b9c62533dc04075724984b517a4cd83cd7e08202c213cecb2a07b7"}},{"ruleId":"D2","level":"warning","message":{"text":"CppMethod::write_params (cognitive 38): CppMethod::write_params has cognitive complexity 38 (threshold 15). Drivers by points: if/else 16 (32 pts), match/switch 2 (4 pts), boolean chains 1, loops 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_method.rs"},"region":{"startLine":578}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ac763dff6ee255eb4d5b0d16785e065752d6d22a47dd460b47b0d9d2973e850"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::native_attachment (cognitive 38): Pump::native_attachment has cognitive complexity 38 (threshold 15). Drivers by points: if/else 12 (32 pts), loops 2 (3 pts), match/switch 1 (2 pts), boolean chains 1 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/topology.rs"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"a536cbc959cf4ee9afcf15a7b2b386fee22345cba359aea86e8b76b7f13d9e6a"}},{"ruleId":"D2","level":"warning","message":{"text":"IXpsOMObjectFactory_Vtbl::new (cognitive 37): IXpsOMObjectFactory_Vtbl::new has cognitive complexity 37 (threshold 15). Drivers by points: match/switch 37. Most of this is not in the body itself: 0 of the 37 points are its own statements and the rest belongs to 37 function items inside it that branch (CreatePackage, CreatePackageFromFile, CreatePackageFromStream, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/xps/mod.rs"},"region":{"startLine":5322}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff19fda33a171089f8ea2aaa091d09a566bc3a7c9516ac0331165a1e6cb5cb3f"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::evaluate_parsed_probe (cognitive 36): windows_clang::extract::evaluate_parsed_probe has cognitive complexity 36 (threshold 15). Drivers by points: if/else 13 (29 pts), loops 3 (5 pts), boolean chains 2 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":1834}}}],"partialFingerprints":{"codehealthFindingId/v1":"53b0d9bac1ee39f7d457f8a00d9748918f4a7e046d6eaf3a4e20233708f18664"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_metadata::merge::write_enum_union (cognitive 36): windows_metadata::merge::write_enum_union has cognitive complexity 36 (threshold 15). Drivers by points: if/else 7 (26 pts), loops 4 (5 pts), match/switch 1 (3 pts), boolean chains 2 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/merge/mod.rs"},"region":{"startLine":504}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca78294305b641cd15efc3ace68f0c5c2d2b8d0c420e74c7d030e10b1325046d"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugControl3_Vtbl::new (cognitive 36): IDebugControl3_Vtbl::new has cognitive complexity 36 (threshold 15). Drivers by points: match/switch 36. Most of this is not in the body itself: 0 of the 36 points are its own statements and the rest belongs to 36 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":19249}}}],"partialFingerprints":{"codehealthFindingId/v1":"b68f6fde3ebc9406e186965814c025fa26798823a8e0105da1547d65aee2f5a0"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_reactor::generate::generate_element (cognitive 36): tool_reactor::generate::generate_element has cognitive complexity 36 (threshold 15). Drivers by points: if/else 29 (30 pts), match/switch 4, boolean chains 2 (nesting depth added 1). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate.rs"},"region":{"startLine":1363}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0ed74c2ab1a0ac2c1d66c1af4b85dc08dd264ac76da524b6a2d12a4e40d627d"}},{"ruleId":"D2","level":"warning","message":{"text":"Bindgen::write (cognitive 35): Bindgen::write has cognitive complexity 35 (threshold 15). Drivers by points: if/else 15 (25 pts), loops 6 (8 pts), boolean chains 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/lib.rs"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1cbf79ee8a8fd24dddd05559604784ff98950d554a63a8bf23c0edff5c7655d"}},{"ruleId":"D2","level":"warning","message":{"text":"CppStruct::write_with_cfg (cognitive 35): CppStruct::write_with_cfg has cognitive complexity 35 (threshold 15). Drivers by points: if/else 24 (29 pts), boolean chains 5, loops 1 (nesting depth added 5). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition, and where an else follows a branch that already returns, drop the trailing else and let the rest of the body continue at one level."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_struct.rs"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"994cd6accdf28b0d8fa31364478879b2da8f58b66bb5b8f33899e8c4b46ca859"}},{"ruleId":"D2","level":"warning","message":{"text":"Records::into_stream (cognitive 35): Records::into_stream has cognitive complexity 35 (threshold 15). Drivers by points: loops 24, if/else 11. To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/writer/file/rec.rs"},"region":{"startLine":197}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c8f8d5bb3494ded18eacf3d4f785c3a51ac6a5c43bad1f43169f38b15f093f8"}},{"ruleId":"D2","level":"warning","message":{"text":"ITextRange_Vtbl::new (cognitive 35): ITextRange_Vtbl::new has cognitive complexity 35 (threshold 15). Drivers by points: match/switch 35. Most of this is not in the body itself: 0 of the 35 points are its own statements and the rest belongs to 35 function items inside it that branch (GetText, GetChar, GetDuplicate, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":4981}}}],"partialFingerprints":{"codehealthFindingId/v1":"9517f0ddbb07a347c808c09454bb39ba4c27b7d4ff9dcbfc1b4c45f51392d80d"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_bindgen::filter_parser::parse_tree (cognitive 34): windows_bindgen::filter_parser::parse_tree has cognitive complexity 34 (threshold 15). Drivers by points: loops 7 (26 pts), if/else 4 (7 pts), boolean chains 1 (nesting depth added 22). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter_parser.rs"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"072010a153bd89c3184dc9daacdf827012c38dc559e823c05fce1fcbeab5525c"}},{"ruleId":"D2","level":"warning","message":{"text":"Encoder::find_enum_variant_value (cognitive 34): Encoder::find_enum_variant_value has cognitive complexity 34 (threshold 15). Drivers by points: if/else 5 (13 pts), match/switch 2 (10 pts), loops 3 (8 pts), boolean chains 3 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/attribute_ref.rs"},"region":{"startLine":341}}}],"partialFingerprints":{"codehealthFindingId/v1":"757d10513468696eaf30301726a8f539f56faf251f71b3e944e80c5305c0f73d"}},{"ruleId":"D2","level":"warning","message":{"text":"IDataCollectorSet_Vtbl::new (cognitive 34): IDataCollectorSet_Vtbl::new has cognitive complexity 34 (threshold 15). Drivers by points: match/switch 34. Most of this is not in the body itself: 0 of the 34 points are its own statements and the rest belongs to 34 function items inside it that branch (DataCollectors, Duration, Description, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/pla/mod.rs"},"region":{"startLine":2125}}}],"partialFingerprints":{"codehealthFindingId/v1":"b114262d11158101a512222561c0baae637f6d2cfa54a9468736f133bf6f006f"}},{"ruleId":"D2","level":"warning","message":{"text":"Method::write_abi (cognitive 33): Method::write_abi has cognitive complexity 33 (threshold 15). Drivers by points: if/else 23 (32 pts), match/switch 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/method.rs"},"region":{"startLine":273}}}],"partialFingerprints":{"codehealthFindingId/v1":"bef1df7447463a1ea66d43bccbe235dfc0cc12f447a5a930882e2bce643909e7"}},{"ruleId":"D2","level":"warning","message":{"text":"UseTree2::parse (cognitive 33): UseTree2::parse has cognitive complexity 33 (threshold 15). Drivers by points: if/else 12 (21 pts), match/switch 2 (8 pts), loops 1 (4 pts) (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/implement/src/lib.rs"},"region":{"startLine":307}}}],"partialFingerprints":{"codehealthFindingId/v1":"165c7194a1023806514bd09dd292056cef4eff139e720fc45d44355d9c8cf64b"}},{"ruleId":"D2","level":"warning","message":{"text":"Layout::to_module (cognitive 33): Layout::to_module has cognitive complexity 33 (threshold 15). Drivers by points: loops 11 (26 pts), if/else 5, boolean chains 2 (nesting depth added 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/layout.rs"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"60820a7eb84356bf56a938fabdd2ab608aeec35a90cfaa69e81eda0869a05b68"}},{"ruleId":"D2","level":"warning","message":{"text":"Snapshot::emit_items (cognitive 32): Snapshot::emit_items has cognitive complexity 32 (threshold 15). Drivers by points: if/else 13 (22 pts), loops 4 (6 pts), match/switch 2 (4 pts) (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":497}}}],"partialFingerprints":{"codehealthFindingId/v1":"d69f6e3bb4ac2c5371c93f9e8d9a844b91321ceab66aec1e40f24bfbe4b690b3"}},{"ruleId":"D2","level":"warning","message":{"text":"IFileSystemImage_Vtbl::new (cognitive 32): IFileSystemImage_Vtbl::new has cognitive complexity 32 (threshold 15). Drivers by points: match/switch 32. Most of this is not in the body itself: 0 of the 32 points are its own statements and the rest belongs to 32 function items inside it that branch (Root, SessionStartBlock, FreeMediaBlocks, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/imapi2fs/mod.rs"},"region":{"startLine":920}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f9267784f26e0a96b26d0bb65dbe29b8a4654b00c6d6bd984dd7c6f7a3b91b6"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::evaluate_constants (cognitive 31): windows_clang::extract::evaluate_constants has cognitive complexity 31 (threshold 15). Drivers by points: if/else 7 (14 pts), loops 10, match/switch 1 (4 pts), boolean chains 3 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":1352}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed65c898ce9eca8fa5b0005217e44532640dd557a41da0742af8f1ab50491c8d"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_rdl::expand_input_paths (cognitive 31): windows_rdl::expand_input_paths has cognitive complexity 31 (threshold 15). Drivers by points: if/else 12 (27 pts), loops 2 (4 pts) (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/lib.rs"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b3fd4ca1c8b147bbac9c7d88aa1c3083e3e6e04f1b80a1f9ef50b001a64afa1"}},{"ruleId":"D2","level":"warning","message":{"text":"ComponentStore::drain (cognitive 31): ComponentStore::drain has cognitive complexity 31 (threshold 15). Drivers by points: if/else 8 (17 pts), match/switch 5 (12 pts), boolean chains 1, loops 1 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/component/mod.rs"},"region":{"startLine":1912}}}],"partialFingerprints":{"codehealthFindingId/v1":"eff219946c09e008007fe55dc1ef070646600c40dfeef36fb039476b325f56d7"}},{"ruleId":"D2","level":"warning","message":{"text":"TimeSpan::fmt (cognitive 31): TimeSpan::fmt has cognitive complexity 31 (threshold 15). Drivers by points: if/else 10 (15 pts), loops 3 (12 pts), boolean chains 4 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/time/src/timespan.rs"},"region":{"startLine":300}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab345c0e31b5020515d2e5f615b551860e0ca6d7d4e2b99ce59610fd306a13cc"}},{"ruleId":"D2","level":"warning","message":{"text":"IDirect3DDevice9_Vtbl::new (cognitive 31): IDirect3DDevice9_Vtbl::new has cognitive complexity 31 (threshold 15). Drivers by points: match/switch 31. Most of this is not in the body itself: 0 of the 31 points are its own statements and the rest belongs to 31 function items inside it that branch (GetDirect3D, GetDisplayMode, GetCreationParameters, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":3875}}}],"partialFingerprints":{"codehealthFindingId/v1":"972d0778c1b24af66ece92081216f21645439f35f9e9255d8c21ed2c6c18a663"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugSystemObjects3_Vtbl::new (cognitive 31): IDebugSystemObjects3_Vtbl::new has cognitive complexity 31 (threshold 15). Drivers by points: match/switch 31. Most of this is not in the body itself: 0 of the 31 points are its own statements and the rest belongs to 31 function items inside it that branch (GetEventThread, GetEventProcess, GetCurrentThreadId, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugSystemObjects4_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":47790}}}],"partialFingerprints":{"codehealthFindingId/v1":"981b20e02305910ee18991fe30be1ea3ae6101f1434596c192eee819092b6920"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugSystemObjects4_Vtbl::new (cognitive 31): IDebugSystemObjects4_Vtbl::new has cognitive complexity 31 (threshold 15). Drivers by points: match/switch 31. Most of this is not in the body itself: 0 of the 31 points are its own statements and the rest belongs to 31 function items inside it that branch (GetEventThread, GetEventProcess, GetCurrentThreadId, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugSystemObjects3_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":48780}}}],"partialFingerprints":{"codehealthFindingId/v1":"073c94331404898cc063c010cefb6b5697985c3fdddf73564b345b63ccde17ea"}},{"ruleId":"D2","level":"warning","message":{"text":"IXMLDOMNode_Vtbl::new (cognitive 31): IXMLDOMNode_Vtbl::new has cognitive complexity 31 (threshold 15). Drivers by points: match/switch 31. Most of this is not in the body itself: 0 of the 31 points are its own statements and the rest belongs to 31 function items inside it that branch (nodeName, nodeValue, nodeType, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msxml/mod.rs"},"region":{"startLine":9425}}}],"partialFingerprints":{"codehealthFindingId/v1":"b24ec17822467c9610b2ff9eece7115fff8dc03cedd5428fab4952945461be52"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_reactor::generate_winui::generate_set_property (cognitive 31): tool_reactor::generate_winui::generate_set_property has cognitive complexity 31 (threshold 15). Drivers by points: if/else 29 (31 pts) (nesting depth added 2). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition, and where an else follows a branch that already returns, drop the trailing else and let the rest of the body continue at one level."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_winui.rs"},"region":{"startLine":1819}}}],"partialFingerprints":{"codehealthFindingId/v1":"091be088d305750364be308dcb0bf0387339da851f85300bf1e513771cc6ffa3"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::replace_planned_view (cognitive 30): Pump::replace_planned_view has cognitive complexity 30 (threshold 15). Drivers by points: if/else 17 (22 pts), match/switch 3 (4 pts), boolean chains 2, loops 1 (2 pts) (nesting depth added 7). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition, and where an else follows a branch that already returns, drop the trailing else and let the rest of the body continue at one level."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1537}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fd7c85f8984aefe2fe1cd0101ee73bbd1f837d0725363edf4c357b66a099390"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugControl2_Vtbl::new (cognitive 30): IDebugControl2_Vtbl::new has cognitive complexity 30 (threshold 15). Drivers by points: match/switch 30. Most of this is not in the body itself: 0 of the 30 points are its own statements and the rest belongs to 30 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":17334}}}],"partialFingerprints":{"codehealthFindingId/v1":"51327abbda2894aef18dbd8a5ff5c46367548e5e1f025f5338d02a5b9e0cd8e6"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::write_record_fields (cognitive 29): windows_clang::write_record_fields has cognitive complexity 29 (threshold 15). Drivers by points: if/else 12 (26 pts), loops 2 (3 pts) (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":3584}}}],"partialFingerprints":{"codehealthFindingId/v1":"a51d811c0dad9136b6a62b94d5c7321694f157f6464dc2e316c2eaf4441acd79"}},{"ruleId":"D2","level":"warning","message":{"text":"Encoder::encode_attr_value (cognitive 29): Encoder::encode_attr_value has cognitive complexity 29 (threshold 15). Drivers by points: if/else 5 (15 pts), match/switch 4 (8 pts), loops 1 (4 pts), boolean chains 2 (nesting depth added 17). The drivers above price the dispatch low by construction \u2014 a dispatch is charged once however many cases it lists, while each branch inside an arm is charged in full \u2014 so most of this count is what the case bodies hold, and the arms are where it can be reduced. To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Keep every case explicit, and make the behaviour for cases you do not list a deliberate choice rather than an accident."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/attribute_ref.rs"},"region":{"startLine":253}}}],"partialFingerprints":{"codehealthFindingId/v1":"78c6ca45250e8d9d88be07ec87f5f70dd977f0fb93502746e0b732547cdac572"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_rdl::emit::write_type (cognitive 29): windows_rdl::emit::write_type has cognitive complexity 29 (threshold 15). Drivers by points: loops 5 (14 pts), if/else 6 (13 pts), boolean chains 1, match/switch 1 (nesting depth added 16). The drivers above price the dispatch low by construction \u2014 a dispatch is charged once however many cases it lists, while each branch inside an arm is charged in full \u2014 so most of this count is what the case bodies hold, and the arms are where it can be reduced. To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Keep every case explicit, and make the behaviour for cases you do not list a deliberate choice rather than an accident."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/emit.rs"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebfb411f23ce76fcf589e0af3c4b331a978067b4173914bb5166ac367a11d666"}},{"ruleId":"D2","level":"warning","message":{"text":"IWebViewControl_Vtbl::new (cognitive 29): IWebViewControl_Vtbl::new has cognitive complexity 29 (threshold 15). Drivers by points: match/switch 29. Most of this is not in the body itself: 0 of the 29 points are its own statements and the rest belongs to 29 function items inside it that branch (Source, DocumentTitle, CanGoBack, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/mod.rs"},"region":{"startLine":444}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3ff0326d4e0b906f4a1cb0c3b451593bf32e5a399b00d647a986c0f6445245e"}},{"ruleId":"D2","level":"warning","message":{"text":"IInkPicture_Vtbl::new (cognitive 29): IInkPicture_Vtbl::new has cognitive complexity 29 (threshold 15). Drivers by points: match/switch 29. Most of this is not in the body itself: 0 of the 29 points are its own statements and the rest belongs to 29 function items inside it that branch (hWnd, DefaultDrawingAttributes, Renderer, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msinkaut/mod.rs"},"region":{"startLine":4982}}}],"partialFingerprints":{"codehealthFindingId/v1":"d7d2b9af69d941f7eaa7ae5345e74e462d7f1dc08ba218259a800965f09e3514"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::interface_fact (cognitive 28): windows_clang::extract::interface_fact has cognitive complexity 28 (threshold 15). Drivers by points: if/else 6 (14 pts), boolean chains 6, match/switch 3 (6 pts), loops 2 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":2349}}}],"partialFingerprints":{"codehealthFindingId/v1":"dad041fc46b99ea1cc4b2315a82cb7c7ea1ebd8713def5d9b9a338ef61bc2f7a"}},{"ruleId":"D2","level":"warning","message":{"text":"Encoder::find_in_reference (cognitive 28): Encoder::find_in_reference has cognitive complexity 28 (threshold 15). Drivers by points: if/else 6 (16 pts), loops 3 (10 pts), boolean chains 2 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/attribute_ref.rs"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3262fdbc34d8ef44aa8e61e0c8aa1f09cd637687da29625a78e17bec93e1ed0"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_rdl::writer::write_enum_value (cognitive 28): windows_rdl::writer::write_enum_value has cognitive complexity 28 (threshold 15). Drivers by points: if/else 5 (15 pts), match/switch 2 (6 pts), loops 2 (4 pts), boolean chains 3 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/mod.rs"},"region":{"startLine":696}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bfb0599dc0d408a9b1eafe9134648d69aa209f3c8fc5d42aa9a7e94367a7bc6"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_strings::literals::decode_utf8_char (cognitive 28): windows_strings::literals::decode_utf8_char has cognitive complexity 28 (threshold 15). Drivers by points: if/else 14 (23 pts), boolean chains 5 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/strings/src/literals.rs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"277bc1a8e16b73983182fe9c173ac1a607e8affaa90dfe37a1a3348fcefbc2b3"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_sys::core::literals::decode_utf8_char (cognitive 28): windows_sys::core::literals::decode_utf8_char has cognitive complexity 28 (threshold 15). Drivers by points: if/else 14 (23 pts), boolean chains 5 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/core/literals.rs"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa3a42db865f9fe4f0e14e164be33305c65c4bfa644d9b770af39630871214ca"}},{"ruleId":"D2","level":"warning","message":{"text":"ICoreWindow_Vtbl::new (cognitive 28): ICoreWindow_Vtbl::new has cognitive complexity 28 (threshold 15). Drivers by points: match/switch 28. Most of this is not in the body itself: 0 of the 28 points are its own statements and the rest belongs to 28 function items inside it that branch (AutomationHostProvider, Bounds, CustomProperties, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":3745}}}],"partialFingerprints":{"codehealthFindingId/v1":"459ef2b81f67186895f16309489f364da653c3a470e6ac639b1c3f6e502c8150"}},{"ruleId":"D2","level":"warning","message":{"text":"IX509PrivateKey_Vtbl::new (cognitive 28): IX509PrivateKey_Vtbl::new has cognitive complexity 28 (threshold 15). Drivers by points: match/switch 28. Most of this is not in the body itself: 0 of the 28 points are its own statements and the rest belongs to 28 function items inside it that branch (Export, ExportPublicKey, ContainerName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":15087}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fe61c2edddb8f4c549d558f31bee387b67d63f48a896802d359a93e64e28760"}},{"ruleId":"D2","level":"warning","message":{"text":"ITextFont_Vtbl::new (cognitive 28): ITextFont_Vtbl::new has cognitive complexity 28 (threshold 15). Drivers by points: match/switch 28. Most of this is not in the body itself: 0 of the 28 points are its own statements and the rest belongs to 28 function items inside it that branch (GetDuplicate, CanChange, IsEqual, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":2042}}}],"partialFingerprints":{"codehealthFindingId/v1":"819e35cdfa46a0bd1557482740316e781197376d96d66539a97c9bbbc67ef0e9"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_bindgen::filter_parser::resolve_one (cognitive 27): windows_bindgen::filter_parser::resolve_one has cognitive complexity 27 (threshold 15). Drivers by points: if/else 12 (21 pts), loops 3 (4 pts), boolean chains 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter_parser.rs"},"region":{"startLine":171}}}],"partialFingerprints":{"codehealthFindingId/v1":"81894922076543d6ae053725407d1e9224e8b6b79d525b05e5091836da2e01da"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::parameter_annotation (cognitive 27): windows_clang::extract::parameter_annotation has cognitive complexity 27 (threshold 15). Drivers by points: if/else 12 (18 pts), boolean chains 8, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":2839}}}],"partialFingerprints":{"codehealthFindingId/v1":"fed5c2931e21123336bb442a2ff25e7d29c99067b7ad18e394fb50f79edfc1dd"}},{"ruleId":"D2","level":"warning","message":{"text":"WinUiRuntime::synchronize_slot_children (cognitive 27): WinUiRuntime::synchronize_slot_children has cognitive complexity 27 (threshold 15). Drivers by points: if/else 7 (13 pts), boolean chains 8, loops 4 (6 pts) (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":3166}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c62d42c43bd40bac6785922f3d2223bdd93bc2d15beb73ddb0158aacee51974"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_bindgen::compute_event_only_delegates (cognitive 26): windows_bindgen::compute_event_only_delegates has cognitive complexity 26 (threshold 15). Drivers by points: if/else 3 (12 pts), loops 4 (10 pts), match/switch 1 (3 pts), boolean chains 1 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/lib.rs"},"region":{"startLine":787}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ddc36f3248461f17410a45299c89bbf2db580f975d1cd49752f78f632ee806d"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::callable_params (cognitive 26): windows_clang::extract::callable_params has cognitive complexity 26 (threshold 15). Drivers by points: if/else 10 (21 pts), match/switch 1 (3 pts), loops 2 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":2620}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d3ef8ee481aa578a8aa97aee2fef3c95900b78519c2230897e0b974829c418d"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::try_local_component_update (cognitive 26): Pump::try_local_component_update has cognitive complexity 26 (threshold 15). Drivers by points: if/else 14 (18 pts), match/switch 5, boolean chains 3 (nesting depth added 4). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/turn.rs"},"region":{"startLine":223}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a26027f6de34d3f793fea3c6ada390fd8ebb52569d040d6a3dbec98cd89c0d8"}},{"ruleId":"D2","level":"warning","message":{"text":"ITextCharacterFormat_Vtbl::new (cognitive 26): ITextCharacterFormat_Vtbl::new has cognitive complexity 26 (threshold 15). Drivers by points: match/switch 26. Most of this is not in the body itself: 0 of the 26 points are its own statements and the rest belongs to 26 function items inside it that branch (AllCaps, BackgroundColor, Bold, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":667}}}],"partialFingerprints":{"codehealthFindingId/v1":"edf99062c4f4aabba10dea0df14859095bc4677ea66fec19a4cee89e9cf23f98"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugControl_Vtbl::new (cognitive 26): IDebugControl_Vtbl::new has cognitive complexity 26 (threshold 15). Drivers by points: match/switch 26. Most of this is not in the body itself: 0 of the 26 points are its own statements and the rest belongs to 26 function items inside it that branch (GetInterruptTimeout, GetLogMask, GetNotifyEventHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugSystemObjects2_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15620}}}],"partialFingerprints":{"codehealthFindingId/v1":"e60e8e748f7e5ac264f09278c4563c7c7dbe132823851b52eab28318e37cf39f"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugSystemObjects2_Vtbl::new (cognitive 26): IDebugSystemObjects2_Vtbl::new has cognitive complexity 26 (threshold 15). Drivers by points: match/switch 26. Most of this is not in the body itself: 0 of the 26 points are its own statements and the rest belongs to 26 function items inside it that branch (GetEventThread, GetEventProcess, GetCurrentThreadId, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IDebugControl_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":46911}}}],"partialFingerprints":{"codehealthFindingId/v1":"311286ec17420a045e47c939d673a74fea367d56213fba91785a635a3f970085"}},{"ruleId":"D2","level":"warning","message":{"text":"IInkOverlay_Vtbl::new (cognitive 26): IInkOverlay_Vtbl::new has cognitive complexity 26 (threshold 15). Drivers by points: match/switch 26. Most of this is not in the body itself: 0 of the 26 points are its own statements and the rest belongs to 26 function items inside it that branch (hWnd, Enabled, DefaultDrawingAttributes, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msinkaut/mod.rs"},"region":{"startLine":3888}}}],"partialFingerprints":{"codehealthFindingId/v1":"57646060fdc1f44a7b500ce66828ca8e631e9785b1839c7c3cc15de7e7e4c3e7"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::observe_selection (cognitive 25): Pump::observe_selection has cognitive complexity 25 (threshold 15). Drivers by points: if/else 7 (17 pts), loops 4 (7 pts), boolean chains 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/native_work.rs"},"region":{"startLine":340}}}],"partialFingerprints":{"codehealthFindingId/v1":"e819bec5350dd00317d16ff7110d812f202cc9f54aed9219b30d8701f66f99db"}},{"ruleId":"D2","level":"warning","message":{"text":"ITextRange_Vtbl::new (cognitive 25): ITextRange_Vtbl::new has cognitive complexity 25 (threshold 15). Drivers by points: match/switch 25. Most of this is not in the body itself: 0 of the 25 points are its own statements and the rest belongs to 25 function items inside it that branch (Character, CharacterFormat, FormattedText, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":2959}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4c89790162bcc484abbe2b9413ad7a09ffdf1e782e5d048ace7cc3b63115f3d"}},{"ruleId":"D2","level":"warning","message":{"text":"ITextDocument2_Vtbl::new (cognitive 25): ITextDocument2_Vtbl::new has cognitive complexity 25 (threshold 15). Drivers by points: match/switch 25. Most of this is not in the body itself: 0 of the 25 points are its own statements and the rest belongs to 25 function items inside it that branch (GetCaretType, GetDisplays, GetDocumentFont, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":746}}}],"partialFingerprints":{"codehealthFindingId/v1":"27888cbf28d94847798ce213fc7a940952b2e970b44fbb2c2d110c9e1f57554a"}},{"ruleId":"D2","level":"warning","message":{"text":"IWICImagingFactory_Vtbl::new (cognitive 25): IWICImagingFactory_Vtbl::new has cognitive complexity 25 (threshold 15). Drivers by points: match/switch 25. Most of this is not in the body itself: 0 of the 25 points are its own statements and the rest belongs to 25 function items inside it that branch (CreateDecoderFromFilename, CreateDecoderFromStream, CreateDecoderFromFileHandle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wincodec/mod.rs"},"region":{"startLine":4010}}}],"partialFingerprints":{"codehealthFindingId/v1":"0668fc7e1bcf40c0da578a6ae4c8f1518130f5160fcd8b7c4079dc82ea13d6f5"}},{"ruleId":"D2","level":"warning","message":{"text":"Class::required_interfaces (cognitive 24): Class::required_interfaces has cognitive complexity 24 (threshold 15). Drivers by points: if/else 8 (15 pts), loops 4 (5 pts), boolean chains 2, match/switch 1 (2 pts) (nesting depth added 9). Most of this is not in the body itself: 10 of the 24 points are its own statements and the rest belongs to one function item inside it that branches (walk). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/class.rs"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a1a55145b8f869fc6505277999dbc4456dcdd86505048fee5c629f28438967e"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::choose_type_root_cached::resolved_type_shape::write (cognitive 24): windows_clang::choose_type_root_cached::resolved_type_shape::write has cognitive complexity 24 (threshold 15). Drivers by points: if/else 8 (19 pts), match/switch 2 (4 pts), boolean chains 1 (nesting depth added 13). The drivers above price the dispatch low by construction \u2014 a dispatch is charged once however many cases it lists, while each branch inside an arm is charged in full \u2014 so most of this count is what the case bodies hold, and the arms are where it can be reduced. To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Keep every case explicit, and make the behaviour for cases you do not list a deliberate choice rather than an accident. This shape REPEATS in the file: one other method here (windows_clang::choose_type_root_cached) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":2195}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2be2ecbbb5eff2dc03770c514ea6b7f328c650a352639d4a6edd609e953aacb"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_metadata::merge::write_type_arch_merged (cognitive 24): windows_metadata::merge::write_type_arch_merged has cognitive complexity 24 (threshold 15). Drivers by points: loops 9 (14 pts), if/else 6 (9 pts), boolean chains 1 (nesting depth added 8). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/merge/mod.rs"},"region":{"startLine":828}}}],"partialFingerprints":{"codehealthFindingId/v1":"021863667fa95bc168eedc0a98959279a8a3a53dec43b58b58e2bd9efa478588"}},{"ruleId":"D2","level":"warning","message":{"text":"App::run_host (cognitive 24): App::run_host has cognitive complexity 24 (threshold 15). Drivers by points: if/else 12 (19 pts), loops 2 (3 pts), boolean chains 1, match/switch 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":1020}}}],"partialFingerprints":{"codehealthFindingId/v1":"7db1eca2c421f0ce5005fa8368d6beff5a93fda06b0d3497ec8788c721ebcfce"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::reconcile_keyed_child_list (cognitive 24): Pump::reconcile_keyed_child_list has cognitive complexity 24 (threshold 15). Drivers by points: if/else 8 (16 pts), boolean chains 6, loops 2 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":677}}}],"partialFingerprints":{"codehealthFindingId/v1":"969ec549659eefef62636f854d25690cc2e0bd3e28cac5d1f24a68cab54c52da"}},{"ruleId":"D2","level":"warning","message":{"text":"ITextParagraphFormat_Vtbl::new (cognitive 24): ITextParagraphFormat_Vtbl::new has cognitive complexity 24 (threshold 15). Drivers by points: match/switch 24. Most of this is not in the body itself: 0 of the 24 points are its own statements and the rest belongs to 24 function items inside it that branch (Alignment, FirstLineIndent, KeepTogether, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":2086}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f2e9720870216cd6c3ea115a51f8e2235442cbda0374f9779781947a563511a"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugSymbols5_Vtbl::new (cognitive 24): IDebugSymbols5_Vtbl::new has cognitive complexity 24 (threshold 15). Drivers by points: match/switch 24. Most of this is not in the body itself: 0 of the 24 points are its own statements and the rest belongs to 24 function items inside it that branch (GetSymbolOptions, GetOffsetByName, GetOffsetByLine, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":44748}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d03ce787f25a22d9092bf34a8782f98e00fabb1d8c7e286250d6e2c05fade5c"}},{"ruleId":"D2","level":"warning","message":{"text":"IInkStrokeDisp_Vtbl::new (cognitive 24): IInkStrokeDisp_Vtbl::new has cognitive complexity 24 (threshold 15). Drivers by points: match/switch 24. Most of this is not in the body itself: 0 of the 24 points are its own statements and the rest belongs to 24 function items inside it that branch (ID, BezierPoints, DrawingAttributes, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msinkaut/mod.rs"},"region":{"startLine":8256}}}],"partialFingerprints":{"codehealthFindingId/v1":"2320e5303098b359be192955f53afd8165d3ce94341fa5cc9807f8e86973319f"}},{"ruleId":"D2","level":"warning","message":{"text":"ITextPara_Vtbl::new (cognitive 24): ITextPara_Vtbl::new has cognitive complexity 24 (threshold 15). Drivers by points: match/switch 24. Most of this is not in the body itself: 0 of the 24 points are its own statements and the rest belongs to 24 function items inside it that branch (GetDuplicate, CanChange, IsEqual, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":3741}}}],"partialFingerprints":{"codehealthFindingId/v1":"f842226749b5e220df69695ba7182f5891d24f11629ffc8e890f798107961fb6"}},{"ruleId":"D2","level":"warning","message":{"text":"IVssComponent_Vtbl::new (cognitive 24): IVssComponent_Vtbl::new has cognitive complexity 24 (threshold 15). Drivers by points: match/switch 24. Most of this is not in the body itself: 0 of the 24 points are its own statements and the rest belongs to 24 function items inside it that branch (GetLogicalPath, GetComponentType, GetComponentName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/vswriter/mod.rs"},"region":{"startLine":346}}}],"partialFingerprints":{"codehealthFindingId/v1":"503dd5e9dc59ec7a2d2053e7612031fa9daf856d64432f71af17390c1ad41990"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_reactor::schema::resolve_slot_item_controls (cognitive 24): tool_reactor::schema::resolve_slot_item_controls has cognitive complexity 24 (threshold 15). Drivers by points: if/else 5 (17 pts), loops 3 (7 pts) (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/schema.rs"},"region":{"startLine":1937}}}],"partialFingerprints":{"codehealthFindingId/v1":"44baa3cb46ae1b8f92da26d733969dba984893e58de712302568ebd155872072"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_bindgen::format::replace_outside_strings (cognitive 23): windows_bindgen::format::replace_outside_strings has cognitive complexity 23 (threshold 15). Drivers by points: if/else 4 (11 pts), loops 4 (10 pts), boolean chains 2 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/format.rs"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0ea13f3097495778accaf9a6a78f9a069811646eb3d359ded84fbd30abd56d2"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_bindgen::method_names::method_def_special_name (cognitive 23): windows_bindgen::method_names::method_def_special_name has cognitive complexity 23 (threshold 15). Drivers by points: if/else 10 (19 pts), loops 1 (3 pts), boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/method_names.rs"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"7599b4fbfd9e3c02d0f0c5484e3b3b7146bb3911065279dbf99f185a88181c8f"}},{"ruleId":"D2","level":"warning","message":{"text":"ComponentLoop::live_content_dialog_lifecycle_step_impl (cognitive 23): ComponentLoop::live_content_dialog_lifecycle_step_impl has cognitive complexity 23 (threshold 15). Drivers by points: if/else 10 (18 pts), boolean chains 4, match/switch 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":350}}}],"partialFingerprints":{"codehealthFindingId/v1":"5763737128f7a7b53c29c86b02f8e91a37e286e0c8bbc5b09417be5bacdc81f3"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::node_matches_element (cognitive 23): Pump::node_matches_element has cognitive complexity 23 (threshold 15). Drivers by points: if/else 10 (14 pts), match/switch 3 (4 pts), boolean chains 3, loops 1 (2 pts) (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/element.rs"},"region":{"startLine":321}}}],"partialFingerprints":{"codehealthFindingId/v1":"daa3e91d29f4728a334814d560a9d0eaa5b3a1a737b2409085d8a4c99fe43ac0"}},{"ruleId":"D2","level":"warning","message":{"text":"IImageScannerSourceConfiguration_Vtbl::new (cognitive 23): IImageScannerSourceConfiguration_Vtbl::new has cognitive complexity 23 (threshold 15). Drivers by points: match/switch 23. Most of this is not in the body itself: 0 of the 23 points are its own statements and the rest belongs to 23 function items inside it that branch (MinScanArea, MaxScanArea, SelectedScanRegion, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"565bf7e938e3e8e0d18e58ffca85ad98d012f1b694faca506f1927a0c6c5b10f"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugSymbols3_Vtbl::new (cognitive 23): IDebugSymbols3_Vtbl::new has cognitive complexity 23 (threshold 15). Drivers by points: match/switch 23. Most of this is not in the body itself: 0 of the 23 points are its own statements and the rest belongs to 23 function items inside it that branch (GetSymbolOptions, GetOffsetByName, GetOffsetByLine, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 2 other methods here (IDebugSymbols4_Vtbl::new, IDebugSystemObjects_Vtbl::new) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 3 times rather than 3 independent problems. Splitting this body alone leaves the other 2 exactly as they are. Where these are variations on one operation, the change that clears all 3 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":40192}}}],"partialFingerprints":{"codehealthFindingId/v1":"e75ce8cc4790cf7af4900881926b5fddc08f7a41c394d5f1403a6ad6cbb293b0"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugSymbols4_Vtbl::new (cognitive 23): IDebugSymbols4_Vtbl::new has cognitive complexity 23 (threshold 15). Drivers by points: match/switch 23. Most of this is not in the body itself: 0 of the 23 points are its own statements and the rest belongs to 23 function items inside it that branch (GetSymbolOptions, GetOffsetByName, GetOffsetByLine, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 2 other methods here (IDebugSymbols3_Vtbl::new, IDebugSystemObjects_Vtbl::new) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 3 times rather than 3 independent problems. Splitting this body alone leaves the other 2 exactly as they are. Where these are variations on one operation, the change that clears all 3 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":42437}}}],"partialFingerprints":{"codehealthFindingId/v1":"b87eb667eeb70192b7c070c9bb8a7bb0e33aa4e76e8b6ab9ab5f787ac5195fe2"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugSystemObjects_Vtbl::new (cognitive 23): IDebugSystemObjects_Vtbl::new has cognitive complexity 23 (threshold 15). Drivers by points: match/switch 23. Most of this is not in the body itself: 0 of the 23 points are its own statements and the rest belongs to 23 function items inside it that branch (GetEventThread, GetEventProcess, GetCurrentThreadId, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 2 other methods here (IDebugSymbols3_Vtbl::new, IDebugSymbols4_Vtbl::new) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 3 times rather than 3 independent problems. Splitting this body alone leaves the other 2 exactly as they are. Where these are variations on one operation, the change that clears all 3 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":46177}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3c20ace8b82aae069efb6b7525e4d94538f94d1bdc537d9355dbab3534730c9"}},{"ruleId":"D2","level":"warning","message":{"text":"IXMLDOMDocument_Vtbl::new (cognitive 23): IXMLDOMDocument_Vtbl::new has cognitive complexity 23 (threshold 15). Drivers by points: match/switch 23. Most of this is not in the body itself: 0 of the 23 points are its own statements and the rest belongs to 23 function items inside it that branch (doctype, implementation, documentElement, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msxml/mod.rs"},"region":{"startLine":7660}}}],"partialFingerprints":{"codehealthFindingId/v1":"a40732a6c465730a5d17efe0985f9ae6c4c6138f4ba053f278d949d9561e0324"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_reactor::schema::validate_selections (cognitive 23): tool_reactor::schema::validate_selections has cognitive complexity 23 (threshold 15). Drivers by points: if/else 9 (18 pts), loops 2 (3 pts), boolean chains 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/schema.rs"},"region":{"startLine":1980}}}],"partialFingerprints":{"codehealthFindingId/v1":"fea357a5e7fe8eda66f7767b2ef9254c59dba025d869377250f545b792bf53ab"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::queue_type_edges (cognitive 22): windows_clang::queue_type_edges has cognitive complexity 22 (threshold 15). Drivers by points: if/else 8 (13 pts), loops 4 (9 pts) (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":3077}}}],"partialFingerprints":{"codehealthFindingId/v1":"334738c255bbccf8e1581b2184829f938f3fd17831ad891d2db541ea6ad0b7e1"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_reactor::native::winui::grid::set_definitions (cognitive 22): windows_reactor::native::winui::grid::set_definitions has cognitive complexity 22 (threshold 15). Drivers by points: if/else 7 (17 pts), loops 2 (4 pts), match/switch 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/grid.rs"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"46fcb7ce74ee30236128b330800e8b1f0f86333ad8359fd8334f6848795bddd7"}},{"ruleId":"D2","level":"warning","message":{"text":"IDataReader_Vtbl::new (cognitive 22): IDataReader_Vtbl::new has cognitive complexity 22 (threshold 15). Drivers by points: match/switch 22. Most of this is not in the body itself: 0 of the 22 points are its own statements and the rest belongs to 22 function items inside it that branch (UnconsumedBufferLength, UnicodeEncoding, ByteOrder, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":1021}}}],"partialFingerprints":{"codehealthFindingId/v1":"af7fb03c9932a057fe3e1a90915a36dd4b627b6830dca1becf433dc5320cb8cd"}},{"ruleId":"D2","level":"warning","message":{"text":"IDiscFormat2Data_Vtbl::new (cognitive 22): IDiscFormat2Data_Vtbl::new has cognitive complexity 22 (threshold 15). Drivers by points: match/switch 22. Most of this is not in the body itself: 0 of the 22 points are its own statements and the rest belongs to 22 function items inside it that branch (Recorder, BufferUnderrunFreeDisabled, PostgapAlreadyInImage, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/imapi2/mod.rs"},"region":{"startLine":1140}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f45e0f7305009bbd4e0bbd2969fa96b9d8ee30265d732fc8eaecb45676d6eb9"}},{"ruleId":"D2","level":"warning","message":{"text":"ITextFont2_Vtbl::new (cognitive 22): ITextFont2_Vtbl::new has cognitive complexity 22 (threshold 15). Drivers by points: match/switch 22. Most of this is not in the body itself: 0 of the 22 points are its own statements and the rest belongs to 22 function items inside it that branch (GetCount, GetAutoLigatures, GetAutospaceAlpha, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":2933}}}],"partialFingerprints":{"codehealthFindingId/v1":"a339ac40429a303407eee0452b93f9706a807a215ae6d4a83b4a5382cc4ae1e0"}},{"ruleId":"D2","level":"warning","message":{"text":"IUri_Vtbl::new (cognitive 22): IUri_Vtbl::new has cognitive complexity 22 (threshold 15). Drivers by points: match/switch 22. Most of this is not in the body itself: 0 of the 22 points are its own statements and the rest belongs to 22 function items inside it that branch (HasProperty, GetAbsoluteUri, GetAuthority, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/urlmon/mod.rs"},"region":{"startLine":4213}}}],"partialFingerprints":{"codehealthFindingId/v1":"c94d8eef368e7ea84690805f412600679822cfdf186a2414dba11ad433a69036"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::validate_complete_layout (cognitive 21): windows_clang::validate_complete_layout has cognitive complexity 21 (threshold 15). Drivers by points: if/else 9 (15 pts), match/switch 2 (3 pts), loops 1 (2 pts), boolean chains 1 (nesting depth added 8). The drivers above price the dispatch low by construction \u2014 a dispatch is charged once however many cases it lists, while each branch inside an arm is charged in full \u2014 so most of this count is what the case bodies hold, and the arms are where it can be reduced. To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Keep every case explicit, and make the behaviour for cases you do not list a deliberate choice rather than an accident."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":2983}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5ec1ea871cc70693602732294a01e3701981424990e4bb58e9aef362204cd7c"}},{"ruleId":"D2","level":"warning","message":{"text":"File::new (cognitive 21): File::new has cognitive complexity 21 (threshold 15). Drivers by points: if/else 11 (13 pts), match/switch 3 (5 pts), loops 2, boolean chains 1 (nesting depth added 4). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition, and where an else follows a branch that already returns, drop the trailing else and let the rest of the body continue at one level."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/reader/file.rs"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d204c23a5b255dd67a46422ce05cfdde4d6dfa2a71268097409038367cd662f"}},{"ruleId":"D2","level":"warning","message":{"text":"Encoder::encode_record (cognitive 21): Encoder::encode_record has cognitive complexity 21 (threshold 15). Drivers by points: if/else 10 (15 pts), loops 3 (4 pts), match/switch 1 (2 pts) (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/struct.rs"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcbd3bc4c360ed375ed2a2c33227daa9d471feb266eab07127c428f7b78c1b46"}},{"ruleId":"D2","level":"warning","message":{"text":"ComponentLoop::live_controlled_feedback_native_finish (cognitive 21): ComponentLoop::live_controlled_feedback_native_finish has cognitive complexity 21 (threshold 15). Drivers by points: if/else 12, boolean chains 9. To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":652}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a2cf2e5ea63072247020147e4e5f5cf1eda764b13499817c663048627cee431"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugClient5_Vtbl::new (cognitive 21): IDebugClient5_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (ConnectProcessServer, GetRunningProcessSystemIdByExecutableName, GetProcessOptions, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 4 other methods here (IDebugClient6_Vtbl::new, IDebugClient7_Vtbl::new, IDebugClient8_Vtbl::new, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":7559}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e91c74d8bc4ab1b8fb8bf501b244b217eac16b8ab5ca138715ab70db29fbaad"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugClient6_Vtbl::new (cognitive 21): IDebugClient6_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (ConnectProcessServer, GetRunningProcessSystemIdByExecutableName, GetProcessOptions, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 4 other methods here (IDebugClient5_Vtbl::new, IDebugClient7_Vtbl::new, IDebugClient8_Vtbl::new, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":9142}}}],"partialFingerprints":{"codehealthFindingId/v1":"485f98f795d409a4cd9814f95dab98e19246b3620d1cfdb35c16eff83ba2a687"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugClient7_Vtbl::new (cognitive 21): IDebugClient7_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (ConnectProcessServer, GetRunningProcessSystemIdByExecutableName, GetProcessOptions, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 4 other methods here (IDebugClient5_Vtbl::new, IDebugClient6_Vtbl::new, IDebugClient8_Vtbl::new, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":10737}}}],"partialFingerprints":{"codehealthFindingId/v1":"49f7585c69ced96d58c3fcb3b259ad5c1bc69b49dfbe3cb936872285f88371dc"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugClient8_Vtbl::new (cognitive 21): IDebugClient8_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (ConnectProcessServer, GetRunningProcessSystemIdByExecutableName, GetProcessOptions, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 4 other methods here (IDebugClient5_Vtbl::new, IDebugClient6_Vtbl::new, IDebugClient7_Vtbl::new, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":12347}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b8c32e8773057672df8f91f16b1484d00de87923364744fc8855f32b4db61ff"}},{"ruleId":"D2","level":"warning","message":{"text":"IDebugClient9_Vtbl::new (cognitive 21): IDebugClient9_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (ConnectProcessServer, GetRunningProcessSystemIdByExecutableName, GetProcessOptions, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: 4 other methods here (IDebugClient5_Vtbl::new, IDebugClient6_Vtbl::new, IDebugClient7_Vtbl::new, \u2026) have the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written 5 times rather than 5 independent problems. Splitting this body alone leaves the other 4 exactly as they are. Where these are variations on one operation, the change that clears all 5 is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":13980}}}],"partialFingerprints":{"codehealthFindingId/v1":"14e09a56417c1e76355f15cdb1281ea25508cfdcffdd90db2af49d6d470a1fdf"}},{"ruleId":"D2","level":"warning","message":{"text":"IDCompositionDevice_Vtbl::new (cognitive 21): IDCompositionDevice_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (CreateTargetForHwnd, CreateVisual, CreateSurface, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1353}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8306e21e8069ef58c812092338e871cc1a1a4627639aa9b3292f0dc749b1294"}},{"ruleId":"D2","level":"warning","message":{"text":"ITraceDataCollector_Vtbl::new (cognitive 21): ITraceDataCollector_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (BufferSize, BuffersLost, BuffersWritten, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/pla/mod.rs"},"region":{"startLine":4635}}}],"partialFingerprints":{"codehealthFindingId/v1":"afb88ee43256b7ed04e815c8c010cc44f2f88f338e21f2b983932442ba35fa52"}},{"ruleId":"D2","level":"warning","message":{"text":"IDvdControl2_Vtbl::new (cognitive 21): IDvdControl2_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (PlayTitle, PlayChapterInTitle, PlayAtTimeInTitle, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/strmif/mod.rs"},"region":{"startLine":8079}}}],"partialFingerprints":{"codehealthFindingId/v1":"c869ce2b2cc1ffe724a24c11ed1350b3894fb64e7d216f9ec781eeb92b7e4c88"}},{"ruleId":"D2","level":"warning","message":{"text":"ITextRow_Vtbl::new (cognitive 21): ITextRow_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (GetAlignment, GetCellCount, GetCellCountCache, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":6568}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ab01b662bb4558ba2159193936243788ae8c1cf28f11d2aba37012578f66ac1"}},{"ruleId":"D2","level":"warning","message":{"text":"IUIAutomationLegacyIAccessiblePattern_Vtbl::new (cognitive 21): IUIAutomationLegacyIAccessiblePattern_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (CurrentChildId, CurrentName, CurrentValue, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/uiautomationclient/mod.rs"},"region":{"startLine":6718}}}],"partialFingerprints":{"codehealthFindingId/v1":"c33f6d0c831c594772e97204e03405217106ec212dbcd0321810e554e5fb489c"}},{"ruleId":"D2","level":"warning","message":{"text":"IWMPNetwork_Vtbl::new (cognitive 21): IWMPNetwork_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (bandWidth, recoveredPackets, sourceProtocol, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wmp/mod.rs"},"region":{"startLine":5470}}}],"partialFingerprints":{"codehealthFindingId/v1":"711d0a475c304b5109e77304e1b0ea65d85175b37dcfe179e8f500ba6adae5d0"}},{"ruleId":"D2","level":"warning","message":{"text":"IXpsOMPath_Vtbl::new (cognitive 21): IXpsOMPath_Vtbl::new has cognitive complexity 21 (threshold 15). Drivers by points: match/switch 21. Most of this is not in the body itself: 0 of the 21 points are its own statements and the rest belongs to 21 function items inside it that branch (GetGeometry, GetGeometryLocal, GetGeometryLookup, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/xps/mod.rs"},"region":{"startLine":7692}}}],"partialFingerprints":{"codehealthFindingId/v1":"21a17cddfffbb873857bac527d2ae8b267bc068e3c8c12531c75f38c01f66dcb"}},{"ruleId":"D2","level":"warning","message":{"text":"BitfieldBacking::write_accessor (cognitive 20): BitfieldBacking::write_accessor has cognitive complexity 20 (threshold 15). Drivers by points: if/else 15 (19 pts), match/switch 1 (nesting depth added 4). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition, and where an else follows a branch that already returns, drop the trailing else and let the rest of the body continue at one level."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_struct.rs"},"region":{"startLine":566}}}],"partialFingerprints":{"codehealthFindingId/v1":"b97c50829dfe3d4a1d45f0272351b751b189f11de3bd5818a6acb0b73a865e73"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_bindgen::format::tighten_macro_segment (cognitive 20): windows_bindgen::format::tighten_macro_segment has cognitive complexity 20 (threshold 15). Drivers by points: if/else 4 (11 pts), loops 3 (7 pts), boolean chains 2 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/format.rs"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"6281e3b26ab5b8596230a3044f33ab92dd8d7566e4b0dac45fb896c9b9935aee"}},{"ruleId":"D2","level":"warning","message":{"text":"Pump::compose_dirty_components (cognitive 20): Pump::compose_dirty_components has cognitive complexity 20 (threshold 15). Drivers by points: if/else 10 (17 pts), match/switch 1 (2 pts), loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/turn.rs"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cc721a2cbee6b7717c69ec4be46f297e846f85070ea37247a42c1bec5ed5243"}},{"ruleId":"D2","level":"warning","message":{"text":"WinUiRuntime::apply_window_visuals (cognitive 20): WinUiRuntime::apply_window_visuals has cognitive complexity 20 (threshold 15). Drivers by points: if/else 9 (11 pts), match/switch 3 (7 pts), boolean chains 2 (nesting depth added 6). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition, and where an else follows a branch that already returns, drop the trailing else and let the rest of the body continue at one level."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":1109}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecc7b14caea978a0bb1008b7412f8b71db526333a72823aaa5308878b1082168"}},{"ruleId":"D2","level":"warning","message":{"text":"IPropertyValue_Vtbl::new (cognitive 20): IPropertyValue_Vtbl::new has cognitive complexity 20 (threshold 15). Drivers by points: match/switch 20. Most of this is not in the body itself: 0 of the 20 points are its own statements and the rest belongs to 20 function items inside it that branch (Type, IsNumericScalar, GetUInt8, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2e14821b79a12ef0c90f349274fff0473e1ad771f620eb31d0c25b497735e1f"}},{"ruleId":"D2","level":"warning","message":{"text":"WebViewWindowBuilder::create_with_status (cognitive 20): WebViewWindowBuilder::create_with_status has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14 (17 pts), boolean chains 2, match/switch 1 (nesting depth added 3). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/window.rs"},"region":{"startLine":141}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9abd6ae8ac0de699c5931a6c2dc57c80e29e875165e5ebb7e14dc9aca85304e"}},{"ruleId":"D2","level":"warning","message":{"text":"IXmlNode_Vtbl::new (cognitive 20): IXmlNode_Vtbl::new has cognitive complexity 20 (threshold 15). Drivers by points: match/switch 20. Most of this is not in the body itself: 0 of the 20 points are its own statements and the rest belongs to 20 function items inside it that branch (NodeValue, NodeType, NodeName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1379}}}],"partialFingerprints":{"codehealthFindingId/v1":"a899be1eb03c5bfde2d39d8a52bc1d3b9de33c802fbee3c847b43f0af9f1befe"}},{"ruleId":"D2","level":"warning","message":{"text":"IPropertyValue_Vtbl::new (cognitive 20): IPropertyValue_Vtbl::new has cognitive complexity 20 (threshold 15). Drivers by points: match/switch 20. Most of this is not in the body itself: 0 of the 20 points are its own statements and the rest belongs to 20 function items inside it that branch (Type, IsNumericScalar, GetUInt8, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":674}}}],"partialFingerprints":{"codehealthFindingId/v1":"3be0a98e6fbef957acabdcc40ea58d0f7649c42893c6c9562e866f0fc210e10d"}},{"ruleId":"D2","level":"warning","message":{"text":"ITaskSettings_Vtbl::new (cognitive 20): ITaskSettings_Vtbl::new has cognitive complexity 20 (threshold 15). Drivers by points: match/switch 20. Most of this is not in the body itself: 0 of the 20 points are its own statements and the rest belongs to 20 function items inside it that branch (AllowDemandStart, RestartInterval, RestartCount, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/taskschd/mod.rs"},"region":{"startLine":5831}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ec41b6b186e3e394ed514859e891767f8447cf1fd813c9e3fa0f9c7c74eb13b"}},{"ruleId":"D2","level":"warning","message":{"text":"ISWbemDateTime_Vtbl::new (cognitive 20): ISWbemDateTime_Vtbl::new has cognitive complexity 20 (threshold 15). Drivers by points: match/switch 20. Most of this is not in the body itself: 0 of the 20 points are its own statements and the rest belongs to 20 function items inside it that branch (Value, Year, YearSpecified, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wbemdisp/mod.rs"},"region":{"startLine":374}}}],"partialFingerprints":{"codehealthFindingId/v1":"98b314350ae9ac65cb950a2442874280738d150d3d8685574cb0466f5b885b70"}},{"ruleId":"D2","level":"warning","message":{"text":"IWSManEx_Vtbl::new (cognitive 20): IWSManEx_Vtbl::new has cognitive complexity 20 (threshold 15). Drivers by points: match/switch 20. Most of this is not in the body itself: 0 of the 20 points are its own statements and the rest belongs to 20 function items inside it that branch (CreateResourceLocator, SessionFlagUTF8, SessionFlagCredUsernamePassword, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wsmandisp/mod.rs"},"region":{"startLine":757}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbd8fdf1c7ae658ab5ff31df3bb8e8aab03c3a5625a62532e68ea582c132c03f"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_reactor::generate_winui::generate (cognitive 20): tool_reactor::generate_winui::generate has cognitive complexity 20 (threshold 15). Drivers by points: if/else 15 (18 pts), match/switch 2 (nesting depth added 3). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition, and where an else follows a branch that already returns, drop the trailing else and let the rest of the body continue at one level."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_winui.rs"},"region":{"startLine":246}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4acbf0817cf5956e52fdde925e70d1dc5b067c3e198367f40b0c05aa45a4700"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_win32::scrape_um_arch (cognitive 20): tool_win32::scrape_um_arch has cognitive complexity 20 (threshold 15). Drivers by points: if/else 7 (10 pts), loops 5 (7 pts), boolean chains 3 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/win32/src/main.rs"},"region":{"startLine":1164}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a6f27802ab77b927530c0a7963de1cd7f56a8ab575dd63eb0f155db73afd527"}},{"ruleId":"D2","level":"warning","message":{"text":"Cfg::write (cognitive 19): Cfg::write has cognitive complexity 19 (threshold 15). Drivers by points: if/else 7 (13 pts), loops 3 (4 pts), boolean chains 1, match/switch 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/package_writer.rs"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b73a99727351bb440e6e8f0fd546a4a5c1ae73a73f1645da036c45b0af3c95b"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_bindgen::expand_input (cognitive 19): windows_bindgen::expand_input has cognitive complexity 19 (threshold 15). Drivers by points: if/else 7 (11 pts), loops 3 (5 pts), match/switch 1 (2 pts), boolean chains 1 (nesting depth added 7). Most of this is not in the body itself: 5 of the 19 points are its own statements and the rest belongs to one function item inside it that branches (expand_path). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/lib.rs"},"region":{"startLine":722}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce473c2d0efe5138a5146a71d467b046c377cb0cebb564fb2e7904fd16cda878"}},{"ruleId":"D2","level":"warning","message":{"text":"Index::new_for_architecture (cognitive 19): Index::new_for_architecture has cognitive complexity 19 (threshold 15). Drivers by points: loops 6 (12 pts), if/else 3 (6 pts), boolean chains 1 (nesting depth added 9). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/reader/index.rs"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"41c4b97b7a44ba52f1bebcbee6263a8fe6ed2e5460bd09c5f1c2a1c01da79389"}},{"ruleId":"D2","level":"warning","message":{"text":"Encoder::encode_type_in_attr_ns (cognitive 19): Encoder::encode_type_in_attr_ns has cognitive complexity 19 (threshold 15). Drivers by points: if/else 8 (16 pts), boolean chains 3 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":601}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fa34b7e9c3c384d1c417d83395d1038afb3401add33c857c8af64b10e31ce69"}},{"ruleId":"D2","level":"warning","message":{"text":"Encoder::parse_param_attributes (cognitive 19): Encoder::parse_param_attributes has cognitive complexity 19 (threshold 15). Drivers by points: if/else 9 (17 pts), boolean chains 1, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/param.rs"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fff14c7b4e0916dbfc53ea3e7b701ca903401ad137cbb88d3918f7904b0d1c1"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_rdl::writer::write_custom_attributes_except (cognitive 19): windows_rdl::writer::write_custom_attributes_except has cognitive complexity 19 (threshold 15). Drivers by points: if/else 10 (11 pts), boolean chains 4, loops 1 (3 pts), match/switch 1 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/mod.rs"},"region":{"startLine":615}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4f78b2bb08338be979b165ea44c60c8e6299edb52562f0341be6ecbac98817e"}},{"ruleId":"D2","level":"warning","message":{"text":"WinUiRuntime::insert_child (cognitive 19): WinUiRuntime::insert_child has cognitive complexity 19 (threshold 15). Drivers by points: if/else 11 (19 pts) (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":2969}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fe083596329343b12689f9be06394afdd717cf650016b3db05545589e669eb3"}},{"ruleId":"D2","level":"warning","message":{"text":"IX509CertificateRequestPkcs10_Vtbl::new (cognitive 19): IX509CertificateRequestPkcs10_Vtbl::new has cognitive complexity 19 (threshold 15). Drivers by points: match/switch 19. Most of this is not in the body itself: 0 of the 19 points are its own statements and the rest belongs to 19 function items inside it that branch (IsSmartCard, TemplateObjectId, PublicKey, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":8514}}}],"partialFingerprints":{"codehealthFindingId/v1":"a77cebeeb09572cb5f229f230ff35607009123795cfebd73a1d783635e8ddf0c"}},{"ruleId":"D2","level":"warning","message":{"text":"IFsrmClassificationManager_Vtbl::new (cognitive 19): IFsrmClassificationManager_Vtbl::new has cognitive complexity 19 (threshold 15). Drivers by points: match/switch 19. Most of this is not in the body itself: 0 of the 19 points are its own statements and the rest belongs to 19 function items inside it that branch (ClassificationReportFormats, Logging, ClassificationReportMailTo, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IFsrmPropertyBag_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs"},"region":{"startLine":304}}}],"partialFingerprints":{"codehealthFindingId/v1":"659b4fca1978dbca041f7f98fcec100247661375604df6f142df9863ffcacc48"}},{"ruleId":"D2","level":"warning","message":{"text":"IFsrmPropertyBag_Vtbl::new (cognitive 19): IFsrmPropertyBag_Vtbl::new has cognitive complexity 19 (threshold 15). Drivers by points: match/switch 19. Most of this is not in the body itself: 0 of the 19 points are its own statements and the rest belongs to 19 function items inside it that branch (Name, RelativePath, VolumeName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IFsrmClassificationManager_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs"},"region":{"startLine":2026}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba928c284c59db540e5da1813fa981613677d673fbf4be03188bfa16c6b7d5c3"}},{"ruleId":"D2","level":"warning","message":{"text":"IInkCollector_Vtbl::new (cognitive 19): IInkCollector_Vtbl::new has cognitive complexity 19 (threshold 15). Drivers by points: match/switch 19. Most of this is not in the body itself: 0 of the 19 points are its own statements and the rest belongs to 19 function items inside it that branch (hWnd, Enabled, DefaultDrawingAttributes, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IInkDisp_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msinkaut/mod.rs"},"region":{"startLine":903}}}],"partialFingerprints":{"codehealthFindingId/v1":"623a963c6a1fc35f0ce31afbdef536254fd1c9b612dbf1b55d3894d7a3c78f8d"}},{"ruleId":"D2","level":"warning","message":{"text":"IInkDisp_Vtbl::new (cognitive 19): IInkDisp_Vtbl::new has cognitive complexity 19 (threshold 15). Drivers by points: match/switch 19. Most of this is not in the body itself: 0 of the 19 points are its own statements and the rest belongs to 19 function items inside it that branch (Strokes, ExtendedProperties, Dirty, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IInkCollector_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msinkaut/mod.rs"},"region":{"startLine":2221}}}],"partialFingerprints":{"codehealthFindingId/v1":"a926ac8614128a00dd1fbd1e638a25e4688fefa3d9c6fa91e2a2b982f8d2bcc3"}},{"ruleId":"D2","level":"warning","message":{"text":"ISpeechVoice_Vtbl::new (cognitive 19): ISpeechVoice_Vtbl::new has cognitive complexity 19 (threshold 15). Drivers by points: match/switch 19. Most of this is not in the body itself: 0 of the 19 points are its own statements and the rest belongs to 19 function items inside it that branch (Status, Voice, AudioOutput, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/sapi/mod.rs"},"region":{"startLine":14062}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8c4fed68944e5b4b3b1a30d4cfc812c1e874fd3744c152a1a71ba1210cdf02e"}},{"ruleId":"D2","level":"warning","message":{"text":"CppFn::write (cognitive 18): CppFn::write has cognitive complexity 18 (threshold 15). Drivers by points: if/else 9 (13 pts), boolean chains 4, match/switch 1 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_fn.rs"},"region":{"startLine":151}}}],"partialFingerprints":{"codehealthFindingId/v1":"43dbba16402075afbaa45c3e4cf8dcfc7ad09def41336516c958a0ef1a002e97"}},{"ruleId":"D2","level":"warning","message":{"text":"Method::write_upcall (cognitive 18): Method::write_upcall has cognitive complexity 18 (threshold 15). Drivers by points: if/else 12 (17 pts), match/switch 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/method.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"90db9a5fd0951d937f477c43904a6aa277e1a499e6652c38711ea6ba3edaa038"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_bindgen::cli::read_tokens (cognitive 18): windows_bindgen::cli::read_tokens has cognitive complexity 18 (threshold 15). Drivers by points: if/else 7 (14 pts), loops 2 (3 pts), boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/cli.rs"},"region":{"startLine":226}}}],"partialFingerprints":{"codehealthFindingId/v1":"cebefd90336562a0c6636fae5712fdf69ca13b4c432fda95ff31134de0f29a09"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::param_attributes (cognitive 18): windows_clang::param_attributes has cognitive complexity 18 (threshold 15). Drivers by points: if/else 10 (12 pts), boolean chains 4, match/switch 1 (2 pts) (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":3221}}}],"partialFingerprints":{"codehealthFindingId/v1":"565b81307c8e98b3c349267529baf552d8e376ae5243d3ff2854bb1918c58e1c"}},{"ruleId":"D2","level":"warning","message":{"text":"IX509EnrollmentPolicyServer_Vtbl::new (cognitive 18): IX509EnrollmentPolicyServer_Vtbl::new has cognitive complexity 18 (threshold 15). Drivers by points: match/switch 18. Most of this is not in the body itself: 0 of the 18 points are its own statements and the rest belongs to 18 function items inside it that branch (GetTemplates, GetCAsForTemplate, GetCAs, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":12055}}}],"partialFingerprints":{"codehealthFindingId/v1":"527562b7447445822462058dfe85a115a6c5620b16b43d39ce9f4b1a07e91024"}},{"ruleId":"D2","level":"warning","message":{"text":"IDCompositionDevice2_Vtbl::new (cognitive 18): IDCompositionDevice2_Vtbl::new has cognitive complexity 18 (threshold 15). Drivers by points: match/switch 18. Most of this is not in the body itself: 0 of the 18 points are its own statements and the rest belongs to 18 function items inside it that branch (CreateVisual, CreateSurfaceFactory, CreateSurface, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1846}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a7e59da41a581e9595394ad5e6cc4c3ac16038a3f2cb4ca255dbecefca13314"}},{"ruleId":"D2","level":"warning","message":{"text":"INetFwRule_Vtbl::new (cognitive 18): INetFwRule_Vtbl::new has cognitive complexity 18 (threshold 15). Drivers by points: match/switch 18. Most of this is not in the body itself: 0 of the 18 points are its own statements and the rest belongs to 18 function items inside it that branch (Name, Description, ApplicationName, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/netfw/mod.rs"},"region":{"startLine":3209}}}],"partialFingerprints":{"codehealthFindingId/v1":"be7ada88486d66c1207b1c116d68112893c65fb5c6bd4d2d968d756fe60daea8"}},{"ruleId":"D2","level":"warning","message":{"text":"ISpeechRecognizer_Vtbl::new (cognitive 18): ISpeechRecognizer_Vtbl::new has cognitive complexity 18 (threshold 15). Drivers by points: match/switch 18. Most of this is not in the body itself: 0 of the 18 points are its own statements and the rest belongs to 18 function items inside it that branch (Recognizer, AllowAudioInputFormatChangesOnNextSet, AudioInput, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/sapi/mod.rs"},"region":{"startLine":13073}}}],"partialFingerprints":{"codehealthFindingId/v1":"156dc2a99498fa1b3e3c6a64f6ad07e65afa3d028a240155f901cd1f2e2c748d"}},{"ruleId":"D2","level":"warning","message":{"text":"IXpsOMCoreProperties_Vtbl::new (cognitive 18): IXpsOMCoreProperties_Vtbl::new has cognitive complexity 18 (threshold 15). Drivers by points: match/switch 18. Most of this is not in the body itself: 0 of the 18 points are its own statements and the rest belongs to 18 function items inside it that branch (GetOwner, GetCategory, GetContentStatus, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/xps/mod.rs"},"region":{"startLine":882}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e86beba433d08afcdd9ae19764eb773855412380f8e2e880a598595f43ced7c"}},{"ruleId":"D2","level":"warning","message":{"text":"MetadataResolver::collect_methods_for_class (cognitive 18): MetadataResolver::collect_methods_for_class has cognitive complexity 18 (threshold 15). Drivers by points: if/else 5 (8 pts), loops 3 (5 pts), match/switch 2 (3 pts), boolean chains 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/metadata.rs"},"region":{"startLine":330}}}],"partialFingerprints":{"codehealthFindingId/v1":"14b1676901b264a3d751712b28ce4e2ed7cc520d90dce375a3fd5d82fbaa1620"}},{"ruleId":"D2","level":"warning","message":{"text":"Config::write_namespace (cognitive 17): Config::write_namespace has cognitive complexity 17 (threshold 15). Drivers by points: if/else 7 (10 pts), loops 3 (6 pts), boolean chains 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/paths.rs"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"da2eb841a11c820c8e27c012813a807a383fc08053591c74f7163666c049f713"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_bindgen::cli::bindgen (cognitive 17): windows_bindgen::cli::bindgen has cognitive complexity 17 (threshold 15). Drivers by points: if/else 7 (11 pts), match/switch 2 (5 pts), loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/cli.rs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"a94ebfcf7eb153fac86a8361516e2efb6d440e4ca040b8ea5f67bc0af4d0f66b"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_bindgen::format::find_matching_delim (cognitive 17): windows_bindgen::format::find_matching_delim has cognitive complexity 17 (threshold 15). Drivers by points: if/else 7 (14 pts), boolean chains 2, loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/format.rs"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"345fa446daf1ceb86f2cc25051ff39cee5860780a22002141abaec4ebbb1837a"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::decode_reachable_structs (cognitive 17): windows_clang::extract::decode_reachable_structs has cognitive complexity 17 (threshold 15). Drivers by points: loops 7 (11 pts), if/else 2 (6 pts) (nesting depth added 8). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":1013}}}],"partialFingerprints":{"codehealthFindingId/v1":"20ceb4bab6d2fa179cb2830108fa3ba59aac183b9a1439d6e750b747ffbeb633"}},{"ruleId":"D2","level":"warning","message":{"text":"Blob::read_type_signature (cognitive 17): Blob::read_type_signature has cognitive complexity 17 (threshold 15). Drivers by points: if/else 12 (15 pts), boolean chains 1, loops 1 (nesting depth added 3). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition, and where an else follows a branch that already returns, drop the trailing else and let the rest of the body continue at one level."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/reader/blob.rs"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"f402a41306ba8d18414dce702134601e06ce8bca18a98626efa46be6d3ac9edd"}},{"ruleId":"D2","level":"warning","message":{"text":"Blob::read_type_code (cognitive 17): Blob::read_type_code has cognitive complexity 17 (threshold 15). Drivers by points: if/else 8 (12 pts), loops 2 (4 pts), match/switch 1 (nesting depth added 6). The drivers above price the dispatch low by construction \u2014 a dispatch is charged once however many cases it lists, while each branch inside an arm is charged in full \u2014 so most of this count is what the case bodies hold, and the arms are where it can be reduced. To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Keep every case explicit, and make the behaviour for cases you do not list a deliberate choice rather than an accident."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/reader/blob.rs"},"region":{"startLine":150}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cbd7a44755a01591f7ab8163a7f719c70d285630ef396eb1edae5e018311cb2"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_reactor::native::winui::pointer_event_handler (cognitive 17): windows_reactor::native::winui::pointer_event_handler has cognitive complexity 17 (threshold 15). Drivers by points: if/else 7 (13 pts), boolean chains 2, match/switch 1 (2 pts) (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab1a4cfbac829eea28e9ad1c2acf5d017201318245ddced10f5f2f5bd2227edb"}},{"ruleId":"D2","level":"warning","message":{"text":"IStorageFolderQueryOperations_Vtbl::new (cognitive 17): IStorageFolderQueryOperations_Vtbl::new has cognitive complexity 17 (threshold 15). Drivers by points: match/switch 17. Most of this is not in the body itself: 0 of the 17 points are its own statements and the rest belongs to 17 function items inside it that branch (GetIndexedStateAsync, CreateFileQueryOverloadDefault, CreateFileQuery, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Search/mod.rs"},"region":{"startLine":724}}}],"partialFingerprints":{"codehealthFindingId/v1":"946640c4e367151ee89b5d0df802ae7f4adb7c23fed5c5bed72d271ed6df87cd"}},{"ruleId":"D2","level":"warning","message":{"text":"IX509CertificateRevocationList_Vtbl::new (cognitive 17): IX509CertificateRevocationList_Vtbl::new has cognitive complexity 17 (threshold 15). Drivers by points: match/switch 17. Most of this is not in the body itself: 0 of the 17 points are its own statements and the rest belongs to 17 function items inside it that branch (Issuer, ThisUpdate, NextUpdate, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":9851}}}],"partialFingerprints":{"codehealthFindingId/v1":"02a3c162cc1a181b6417678da4273582d6386dca6f3802c8a6f673fd90a7feb6"}},{"ruleId":"D2","level":"warning","message":{"text":"IADsComputer_Vtbl::new (cognitive 17): IADsComputer_Vtbl::new has cognitive complexity 17 (threshold 15). Drivers by points: match/switch 17. Most of this is not in the body itself: 0 of the 17 points are its own statements and the rest belongs to 17 function items inside it that branch (ComputerID, Site, Description, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":3035}}}],"partialFingerprints":{"codehealthFindingId/v1":"11210aa23007b9aee8252491ce9de5aaa37138727f994540560c1f1c71c85c73"}},{"ruleId":"D2","level":"warning","message":{"text":"ISchemaType_Vtbl::new (cognitive 17): ISchemaType_Vtbl::new has cognitive complexity 17 (threshold 15). Drivers by points: match/switch 17. Most of this is not in the body itself: 0 of the 17 points are its own statements and the rest belongs to 17 function items inside it that branch (baseTypes, r#final, variety, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/msxml/mod.rs"},"region":{"startLine":4889}}}],"partialFingerprints":{"codehealthFindingId/v1":"caf0bb13b642f9c9245999d918209de5f7791fdc9963196e9ee16cd58c06183f"}},{"ruleId":"D2","level":"warning","message":{"text":"IDvdInfo2_Vtbl::new (cognitive 17): IDvdInfo2_Vtbl::new has cognitive complexity 17 (threshold 15). Drivers by points: match/switch 17. Most of this is not in the body itself: 0 of the 17 points are its own statements and the rest belongs to 17 function items inside it that branch (GetCurrentDomain, GetCurrentLocation, GetCurrentUOPS, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/strmif/mod.rs"},"region":{"startLine":9289}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e839566ad877eada646b4f2c8c623de9330af94d5d6339b0e08f868a4ee67c1"}},{"ruleId":"D2","level":"warning","message":{"text":"ITextRange2_Vtbl::new (cognitive 17): ITextRange2_Vtbl::new has cognitive complexity 17 (threshold 15). Drivers by points: match/switch 17. Most of this is not in the body itself: 0 of the 17 points are its own statements and the rest belongs to 17 function items inside it that branch (GetCch, GetCells, GetColumn, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":5854}}}],"partialFingerprints":{"codehealthFindingId/v1":"52a9de4a0c64ec2038458a9d36784c2a6a641baa56f65e37e38d87e857602582"}},{"ruleId":"D2","level":"warning","message":{"text":"ISWbemObject_Vtbl::new (cognitive 17): ISWbemObject_Vtbl::new has cognitive complexity 17 (threshold 15). Drivers by points: match/switch 17. Most of this is not in the body itself: 0 of the 17 points are its own statements and the rest belongs to 17 function items inside it that branch (Put_, Instances_, Subclasses_, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wbemdisp/mod.rs"},"region":{"startLine":1763}}}],"partialFingerprints":{"codehealthFindingId/v1":"08317459eb79c5b43b0a37e35d2c7c10cb32f5d80d6083fbe28b203bc1898a10"}},{"ruleId":"D2","level":"warning","message":{"text":"IXpsOMGlyphs_Vtbl::new (cognitive 17): IXpsOMGlyphs_Vtbl::new has cognitive complexity 17 (threshold 15). Drivers by points: match/switch 17. Most of this is not in the body itself: 0 of the 17 points are its own statements and the rest belongs to 17 function items inside it that branch (GetUnicodeString, GetGlyphIndexCount, GetGlyphMappingCount, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/xps/mod.rs"},"region":{"startLine":3135}}}],"partialFingerprints":{"codehealthFindingId/v1":"7348431fcd35f5b86f7675c703a9c3e6129d20d68ce429ce573e4dd2c4533a47"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_features::load (cognitive 17): tool_features::load has cognitive complexity 17 (threshold 15). Drivers by points: if/else 3 (9 pts), loops 2 (5 pts), match/switch 1 (2 pts), boolean chains 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/features/src/main.rs"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"542901a786c531ce1c83e2454047cadff96ce00ec11a87363c07ffe6f436bd5e"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_win32::replace_rdl (cognitive 17): tool_win32::replace_rdl has cognitive complexity 17 (threshold 15). Drivers by points: if/else 9 (12 pts), loops 2 (3 pts), boolean chains 2 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/win32/src/main.rs"},"region":{"startLine":871}}}],"partialFingerprints":{"codehealthFindingId/v1":"19d12d39dff42f1adc364d166591ecbe54e1d852823cad122ce5367fe7b521c7"}},{"ruleId":"D2","level":"warning","message":{"text":"Delegate::write (cognitive 16): Delegate::write has cognitive complexity 16 (threshold 15). Drivers by points: if/else 14, boolean chains 2. To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/delegate.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2b238defc9de89d0bb92a4471ed445981ba4c4008c045652486014dac036b90"}},{"ruleId":"D2","level":"warning","message":{"text":"Type::combine_sys (cognitive 16): Type::combine_sys has cognitive complexity 16 (threshold 15). Drivers by points: loops 4 (7 pts), if/else 4 (5 pts), boolean chains 2, match/switch 2 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/mod.rs"},"region":{"startLine":113}}}],"partialFingerprints":{"codehealthFindingId/v1":"65ac0604aafa8bb5d9d781f65b0efcd0e3bb40ee8aa904299019f7a2ca555aa8"}},{"ruleId":"D2","level":"warning","message":{"text":"Struct::write (cognitive 16): Struct::write has cognitive complexity 16 (threshold 15). Drivers by points: if/else 13 (16 pts) (nesting depth added 3). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition, and where an else follows a branch that already returns, drop the trailing else and let the rest of the body continue at one level."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/struct.rs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"4fa016dfbeec969ec8086b3367bef9de78d5d66ee76a7d4d75dcc57fc20aa4a0"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::extract (cognitive 16): windows_clang::extract::extract has cognitive complexity 16 (threshold 15). Drivers by points: if/else 9 (11 pts), loops 5 (nesting depth added 2). To reduce it, split the body: most of this score is breadth rather than depth \u2014 checks laid out side by side rather than stacked \u2014 so group the statements between the checks into named steps and move each step into its own function. Some of it IS depth: where a check sits inside another whose only job is to reach it, merge the two into one condition."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6381cd538ee8acef3db50767950cc5f8f278345c7186be7f33962fbeede4a9c"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_clang::extract::apply_source_annotations (cognitive 16): windows_clang::extract::apply_source_annotations has cognitive complexity 16 (threshold 15). Drivers by points: boolean chains 6, match/switch 2 (5 pts), if/else 2 (4 pts), loops 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":2774}}}],"partialFingerprints":{"codehealthFindingId/v1":"71af89d59a1384b0c08014edcbeb400107aa773fc89218adafd4afc4451c3e18"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_rdl::merge_arch_rdl (cognitive 16): windows_rdl::merge_arch_rdl has cognitive complexity 16 (threshold 15). Drivers by points: if/else 4 (8 pts), loops 4 (7 pts), boolean chains 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/lib.rs"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"979fe3cf984579376426f576ccc9002915cb69fb04328cd6735c56824fd2f7f4"}},{"ruleId":"D2","level":"warning","message":{"text":"windows_rdl::writer::resolve_filter (cognitive 16): windows_rdl::writer::resolve_filter has cognitive complexity 16 (threshold 15). Drivers by points: if/else 6 (12 pts), loops 2 (3 pts), boolean chains 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/mod.rs"},"region":{"startLine":278}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ee12c58d8cabcf3e3376bbb00affcdeaa4f67d4ca891c67143e4c27bec89b92"}},{"ruleId":"D2","level":"warning","message":{"text":"WinUiRuntime::move_child (cognitive 16): WinUiRuntime::move_child has cognitive complexity 16 (threshold 15). Drivers by points: if/else 10 (16 pts) (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":3405}}}],"partialFingerprints":{"codehealthFindingId/v1":"c47132df0f9b3231b184d623036c581d205069bd1b0c6854343f561623cb4df0"}},{"ruleId":"D2","level":"warning","message":{"text":"IX509CertificateRequestCmc_Vtbl::new (cognitive 16): IX509CertificateRequestCmc_Vtbl::new has cognitive complexity 16 (threshold 15). Drivers by points: match/switch 16. Most of this is not in the body itself: 0 of the 16 points are its own statements and the rest belongs to 16 function items inside it that branch (TemplateObjectId, NullSigned, CryptAttributes, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":7853}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac9a6c10fa2f9cdd9f9f144e32134261bf75bdbdd34e327b65983010de96c63f"}},{"ruleId":"D2","level":"warning","message":{"text":"IVideoWindow_Vtbl::new (cognitive 16): IVideoWindow_Vtbl::new has cognitive complexity 16 (threshold 15). Drivers by points: match/switch 16. Most of this is not in the body itself: 0 of the 16 points are its own statements and the rest belongs to 16 function items inside it that branch (Caption, WindowStyle, WindowStyleEx, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/control/mod.rs"},"region":{"startLine":2599}}}],"partialFingerprints":{"codehealthFindingId/v1":"820bfabea7fde5eda546fc93dfbdd0eb8d5a0137c92e4e7d389cb158b7c4f78d"}},{"ruleId":"D2","level":"warning","message":{"text":"IDWriteFactory_Vtbl::new (cognitive 16): IDWriteFactory_Vtbl::new has cognitive complexity 16 (threshold 15). Drivers by points: match/switch 16. Most of this is not in the body itself: 0 of the 16 points are its own statements and the rest belongs to 16 function items inside it that branch (CreateCustomFontCollection, CreateFontFileReference, CreateCustomFontFileReference, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":2042}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b87a993377bf326fa9e46f595396f78d095aa9b739b7c39362b8f516ad0ab62"}},{"ruleId":"D2","level":"warning","message":{"text":"IADsClass_Vtbl::new (cognitive 16): IADsClass_Vtbl::new has cognitive complexity 16 (threshold 15). Drivers by points: match/switch 16. Most of this is not in the body itself: 0 of the 16 points are its own statements and the rest belongs to 16 function items inside it that branch (PrimaryInterface, CLSID, OID, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":2364}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ec4d7e89e79386bb3a5a67c9fcb63327b8bbc0d2a0adc7b47d3f5b538f2419b"}},{"ruleId":"D2","level":"warning","message":{"text":"IDiscFormat2TrackAtOnce_Vtbl::new (cognitive 16): IDiscFormat2TrackAtOnce_Vtbl::new has cognitive complexity 16 (threshold 15). Drivers by points: match/switch 16. Most of this is not in the body itself: 0 of the 16 points are its own statements and the rest belongs to 16 function items inside it that branch (Recorder, BufferUnderrunFreeDisabled, NumberOfExistingTracks, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/imapi2/mod.rs"},"region":{"startLine":2628}}}],"partialFingerprints":{"codehealthFindingId/v1":"8998412d9fa29cec6990a94e505c083b24f8bf2e084fd855356bbf8429765823"}},{"ruleId":"D2","level":"warning","message":{"text":"IAccessible_Vtbl::new (cognitive 16): IAccessible_Vtbl::new has cognitive complexity 16 (threshold 15). Drivers by points: match/switch 16. Most of this is not in the body itself: 0 of the 16 points are its own statements and the rest belongs to 16 function items inside it that branch (accParent, accChildCount, accChild, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/oleacc/mod.rs"},"region":{"startLine":737}}}],"partialFingerprints":{"codehealthFindingId/v1":"aefa3c445ad0cefb40d91902c744f201404dd1565e9fc8dcd1b16d4c1c0884e8"}},{"ruleId":"D2","level":"warning","message":{"text":"ISpeechPhraseInfo_Vtbl::new (cognitive 16): ISpeechPhraseInfo_Vtbl::new has cognitive complexity 16 (threshold 15). Drivers by points: match/switch 16. Most of this is not in the body itself: 0 of the 16 points are its own statements and the rest belongs to 16 function items inside it that branch (LanguageId, GrammarId, StartTime, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/sapi/mod.rs"},"region":{"startLine":10162}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad239116dedb3772c1ecd00f1499ea1fcdd8fc1bc5067e17779691344e9358e7"}},{"ruleId":"D2","level":"warning","message":{"text":"IVssBackupComponents_Vtbl::new (cognitive 16): IVssBackupComponents_Vtbl::new has cognitive complexity 16 (threshold 15). Drivers by points: match/switch 16. Most of this is not in the body itself: 0 of the 16 points are its own statements and the rest belongs to 16 function items inside it that branch (GetWriterComponentsCount, GetWriterComponents, GatherWriterMetadata, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/vsbackup/mod.rs"},"region":{"startLine":563}}}],"partialFingerprints":{"codehealthFindingId/v1":"e02632d975cac7622ab030eeb782ff6420cc65ccc53548730a1ee83c1995ba10"}},{"ruleId":"D2","level":"warning","message":{"text":"IWMPCore_Vtbl::new (cognitive 16): IWMPCore_Vtbl::new has cognitive complexity 16 (threshold 15). Drivers by points: match/switch 16. Most of this is not in the body itself: 0 of the 16 points are its own statements and the rest belongs to 16 function items inside it that branch (URL, openState, playState, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IWMPMedia_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wmp/mod.rs"},"region":{"startLine":1593}}}],"partialFingerprints":{"codehealthFindingId/v1":"80a5958bee450711ba33df551e1bda8d9e0ad1c683dad963e7d91634257d982b"}},{"ruleId":"D2","level":"warning","message":{"text":"IWMPMedia_Vtbl::new (cognitive 16): IWMPMedia_Vtbl::new has cognitive complexity 16 (threshold 15). Drivers by points: match/switch 16. Most of this is not in the body itself: 0 of the 16 points are its own statements and the rest belongs to 16 function items inside it that branch (isIdentical, sourceURL, name, \u2026). Those helpers are already separate functions, so extracting the branching again is not available. To reduce it, move them out of the body to the enclosing scope, where each is measured, reviewed and tested on its own, and reduce whichever one then reads as the largest. This shape REPEATS in the file: one other method here (IWMPCore_Vtbl::new) has the same decision points, in the same order, at the same nesting depths \u2014 so this is one pattern written twice rather than two separate problems. Splitting this body alone leaves the other exactly as it is. Where these are variations on one operation, the change that clears both is the shared one: lift the common shape into a single routine the variants call, parameterised by whatever genuinely differs between them, and keep in each method only the part that is not shared."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wmp/mod.rs"},"region":{"startLine":4246}}}],"partialFingerprints":{"codehealthFindingId/v1":"159d39f5e34d139149b4b0ca86934f23a4caef894afdb40fe34889e2890efb5a"}},{"ruleId":"D2","level":"warning","message":{"text":"tool_yml::msrv::yml (cognitive 16): tool_yml::msrv::yml has cognitive complexity 16 (threshold 15). Drivers by points: if/else 7 (14 pts), loops 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/yml/src/msrv.rs"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2b18ffe43e14f1dcd502734bc4f4a61bbffe2f73447b1859576e8a02370fb58"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member family (22 members, 8 shared lines): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2825-2909 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:361-484 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:631-713 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:547-590 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9357-9413 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4589-4718 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5700-5874 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10779-10896 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:9592-9682 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14670-14847 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:296-353 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2042-2289 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2428-2497 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2607-2722 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3050-3145 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6795-6905 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7018-7161 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8528-8571 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2267-2396 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:1211-1289 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3136-3253 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:187-263 \u2014 These 22 members are variants of one another: a block of 8 lines reported below appears in every one of them, and the pairwise near-duplicate rows they would otherwise produce are collapsed into this row. Read them as one construct written 22 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 22 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":2825}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d88635243464d27d105359d9f8b221963fe9efe16270277f1622e5765849a41"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member family (9 members, 17 shared lines): crates/libs/reactor/src/native/winui/bindings.rs:6237-6259 | crates/libs/reactor/src/native/winui/bindings.rs:9915-9937 | crates/libs/reactor/src/native/winui/bindings.rs:10622-10644 | crates/libs/reactor/src/native/winui/bindings.rs:12196-12218 | crates/libs/reactor/src/native/winui/bindings.rs:13704-13726 | crates/libs/reactor/src/native/winui/bindings.rs:15586-15608 | crates/libs/reactor/src/native/winui/bindings.rs:19535-19557 | crates/libs/reactor/src/native/winui/bindings.rs:20135-20157 | crates/libs/reactor/src/native/winui/bindings.rs:20165-20187 \u2014 These 9 members are variants of one another: a block of 17 lines reported below appears in every one of them, and the pairwise near-duplicate rows they would otherwise produce are collapsed into this row. Read them as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":6237}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8a8cf6445f967089778a5539ae6c8f60f494c3d6d0e36a5307c2b6a1be8ceeb"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member family (9 members, 14 shared lines): crates/libs/reactor/src/native/winui/bindings.rs:9497-9520 | crates/libs/reactor/src/native/winui/bindings.rs:9527-9550 | crates/libs/reactor/src/native/winui/bindings.rs:9977-10002 | crates/libs/reactor/src/native/winui/bindings.rs:15107-15132 | crates/libs/reactor/src/native/winui/bindings.rs:17480-17505 | crates/libs/reactor/src/native/winui/bindings.rs:17683-17708 | crates/libs/reactor/src/native/winui/bindings.rs:18156-18181 | crates/libs/reactor/src/native/winui/bindings.rs:19219-19244 | crates/libs/reactor/src/native/winui/bindings.rs:19251-19276 \u2014 These 9 members are variants of one another: a block of 14 lines reported below appears in every one of them, and the pairwise near-duplicate rows they would otherwise produce are collapsed into this row. Read them as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":9497}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7c2535d5605b2e805b532e61951df2c643e3e941b036b551baaa9afce4ea26b"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member family (7 members, 17 shared lines): crates/libs/reactor/src/native/winui/bindings.rs:20344-20366 | crates/libs/reactor/src/native/winui/bindings.rs:20376-20398 | crates/libs/reactor/src/native/winui/bindings.rs:20408-20430 | crates/libs/reactor/src/native/winui/bindings.rs:20440-20462 | crates/libs/reactor/src/native/winui/bindings.rs:20472-20494 | crates/libs/reactor/src/native/winui/bindings.rs:20504-20526 | crates/libs/reactor/src/native/winui/bindings.rs:20536-20558 \u2014 These 7 members are variants of one another: a block of 17 lines reported below appears in every one of them, and the pairwise near-duplicate rows they would otherwise produce are collapsed into this row. Read them as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":20344}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b84c6d55fba94f87fb74dd776758b1a347bf6d1a3ed531af6fa3eaa9c7b5bc8"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member family (4 members, 17 shared lines): crates/libs/reactor/src/native/winui/bindings.rs:20228-20250 | crates/libs/reactor/src/native/winui/bindings.rs:20258-20280 | crates/libs/reactor/src/native/winui/bindings.rs:20285-20307 | crates/libs/reactor/src/native/winui/bindings.rs:20312-20334 \u2014 These 4 members are variants of one another: a block of 17 lines reported below appears in every one of them, and the pairwise near-duplicate rows they would otherwise produce are collapsed into this row. Read them as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":20228}}}],"partialFingerprints":{"codehealthFindingId/v1":"83fa2e41b39655c18dc2a226a1aa88d8f930eeecd878a6a3bbe4066b630adf72"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member family (4 members, 17 shared lines): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3179-3209 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3553-3596 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1473-1537 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3561-3690 \u2014 These 4 members are variants of one another: a block of 17 lines reported below appears in every one of them, and the pairwise near-duplicate rows they would otherwise produce are collapsed into this row. Read them as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":3179}}}],"partialFingerprints":{"codehealthFindingId/v1":"450d57f580353ed96ee99d69f6bcdf378cb2a75d1e1dbd253a462422e1af2cb7"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member pair (262 shared lines): crates/libs/reference/src/bindings.rs:78-850 | crates/libs/windows/src/Windows/Foundation/mod.rs:674-1072 \u2014 These two members are variants of one another: 262 of their lines are already reported as duplicated blocks below, spread through both bodies rather than gathered into one. Read them as a single construct written twice. The repair is at the members\u0027 grain \u2014 factor the shared pipeline into one implementation the two call with their differences as parameters or as an injected step, or, where the difference is systematic (sync against async, one transport against another), generate one from the other. Extracting the individual blocks below is not the same fix: it leaves the two bodies in place and the next edit still has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad7d4b7170149c8f313d4cc5500b71c583fd6ad2cb858505ae05ce09e8f04d10"}},{"ruleId":"D4","level":"warning","message":{"text":"Near-duplicate member pair (54 shared lines): crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1353-1651 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1846-2105 \u2014 These two members are variants of one another: 54 of their lines are already reported as duplicated blocks below, spread through both bodies rather than gathered into one. Read them as a single construct written twice. The repair is at the members\u0027 grain \u2014 factor the shared pipeline into one implementation the two call with their differences as parameters or as an injected step, or, where the difference is systematic (sync against async, one transport against another), generate one from the other. Extracting the individual blocks below is not the same fix: it leaves the two bodies in place and the next edit still has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1353}}}],"partialFingerprints":{"codehealthFindingId/v1":"36321e8a92e31d5b161ef53710e917bc568f5aab2e3602b35eb26868d67f8cca"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (356 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:16-26 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:457-468 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7787-7797 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:724-734 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:812-822 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2346-2356 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2791-2801 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1496-1506 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1656-1666 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1670-1680 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1684-1694 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2903-2913 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3292-3303 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3314-3325 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3417-3427 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3431-3441 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2485-2495 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:321-331 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:443-453 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:463-473 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:347-357 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:445-456 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2850-2860 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2864-2874 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2878-2888 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2892-2902 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2906-2916 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2042-2052 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:197-207 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:218-228 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:238-248 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:258-268 | crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs:211-221 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:737-747 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/System/mod.rs:108-119 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:493-503 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:925-935 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1389-1399 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2219-2229 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2438-2448 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2841-2851 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2855-2865 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2972-2982 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:3074-3084 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:301-311 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:315-325 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:329-339 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1091-1101 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1105-1115 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1119-1129 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1241-1252 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1256-1267 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:380-390 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:883-893 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1356-1367 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:290-300 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:304-314 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:318-328 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:332-342 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:346-356 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1022-1032 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1443-1453 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1457-1467 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1471-1481 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1485-1495 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1499-1509 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:127-137 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:147-157 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:507-517 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:521-531 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:112-122 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:126-136 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:140-150 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:154-164 | crates/libs/windows/src/Windows/Devices/Input/mod.rs:433-443 | crates/libs/windows/src/Windows/Devices/Input/mod.rs:565-575 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:427-438 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:182-192 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1276-1286 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1572-1582 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1586-1596 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1600-1610 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1628-1638 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1815-1825 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2077-2087 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2471-2481 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2485-2495 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2652-2662 | crates/libs/windows/src/Windows/Devices/Power/mod.rs:21-31 | crates/libs/windows/src/Windows/Devices/Radios/mod.rs:45-55 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:6302-6312 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1805-1815 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:239-249 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:497-507 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:757-767 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:351-361 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:646-656 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:649-659 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1644-1654 | crates/libs/windows/src/Windows/Foundation/mod.rs:369-379 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:90-100 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:223-233 | crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs:109-119 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:146-156 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:160-170 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:174-184 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:456-466 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:470-480 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:598-608 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:636-646 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:656-666 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:677-687 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:726-737 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:1003-1014 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2642-2652 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1541-1551 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1555-1565 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1583-1593 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:666-676 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:680-690 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:147-157 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1871-1881 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2861-2871 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2875-2885 | crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:22-32 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:285-295 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:410-420 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:737-747 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1092-1102 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1106-1116 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1966-1976 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2078-2088 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4705-4715 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:5123-5133 | crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:129-139 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:718-728 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:922-932 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1285-1295 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:87-97 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:228-239 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:243-254 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:258-269 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:349-360 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:433-443 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:447-457 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1110-1120 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1641-1651 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1803-1813 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1817-1827 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2075-2085 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2466-2476 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2581-2591 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3063-3073 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6529-6540 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6569-6580 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7247-7257 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:34-44 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:48-58 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:283-293 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2894-2904 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3790-3800 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4342-4352 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4597-4607 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4611-4621 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4625-4635 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5253-5263 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5267-5277 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5281-5291 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5295-5305 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5309-5319 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5418-5428 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5432-5442 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5478-5488 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5492-5502 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5506-5516 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:536-546 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:266-276 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:30-40 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:252-262 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:381-391 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:642-652 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:656-666 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:800-810 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:897-907 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:344-354 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:601-611 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:615-625 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:699-709 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:713-723 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1550-1560 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2182-2192 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3037-3047 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3051-3061 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3065-3075 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3079-3089 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3093-3103 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3107-3117 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3121-3131 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3135-3145 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3149-3159 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3163-3173 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3275-3286 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3290-3301 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3305-3316 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3320-3331 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3886-3896 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3900-3910 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3928-3938 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3970-3980 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3984-3994 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3998-4008 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4012-4022 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4067-4078 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4082-4093 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4212-4223 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4263-4274 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3141-3151 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:163-173 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:614-624 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1356-1366 | crates/libs/windows/src/Windows/Media/mod.rs:1765-1775 | crates/libs/windows/src/Windows/Media/mod.rs:1779-1789 | crates/libs/windows/src/Windows/Media/mod.rs:1831-1842 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:131-141 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:659-669 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:869-879 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:883-893 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:897-907 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:911-921 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:925-935 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3138-3148 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3152-3162 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4339-4350 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:653-663 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:667-677 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:681-691 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:695-705 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:709-719 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:278-288 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:292-302 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:306-316 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1499-1509 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2660-2670 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2783-2793 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:238-248 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:351-361 | crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs:428-438 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1110-1120 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1124-1134 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1138-1148 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1152-1162 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1302-1312 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:466-476 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:480-490 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:494-504 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:508-519 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:491-501 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:505-515 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:533-543 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:547-557 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:561-571 | crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs:95-105 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1006-1016 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1538-1548 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2153-2163 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2167-2177 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:761-771 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:288-298 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:302-312 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:864-874 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:878-888 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1072-1082 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1086-1096 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:180-190 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:118-128 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:570-580 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1309-1319 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1066-1076 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1080-1090 | crates/libs/windows/src/Windows/Storage/mod.rs:178-188 | crates/libs/windows/src/Windows/Storage/mod.rs:5175-5185 | crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs:9-19 | crates/libs/windows/src/Windows/System/Power/Thermal/mod.rs:232-242 | crates/libs/windows/src/Windows/System/Power/Thermal/mod.rs:309-319 | crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs:193-203 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2329-2339 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2343-2353 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2357-2367 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2498-2508 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2512-2522 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2526-2536 | crates/libs/windows/src/Windows/System/mod.rs:151-161 | crates/libs/windows/src/Windows/System/mod.rs:165-175 | crates/libs/windows/src/Windows/System/mod.rs:179-189 | crates/libs/windows/src/Windows/System/mod.rs:193-203 | crates/libs/windows/src/Windows/System/mod.rs:548-558 | crates/libs/windows/src/Windows/System/mod.rs:562-572 | crates/libs/windows/src/Windows/System/mod.rs:576-586 | crates/libs/windows/src/Windows/System/mod.rs:590-600 | crates/libs/windows/src/Windows/System/mod.rs:1076-1086 | crates/libs/windows/src/Windows/System/mod.rs:1270-1280 | crates/libs/windows/src/Windows/System/mod.rs:4190-4200 | crates/libs/windows/src/Windows/System/mod.rs:4204-4214 | crates/libs/windows/src/Windows/System/mod.rs:4218-4228 | crates/libs/windows/src/Windows/System/mod.rs:4232-4242 | crates/libs/windows/src/Windows/System/mod.rs:4260-4270 | crates/libs/windows/src/Windows/System/mod.rs:4274-4284 | crates/libs/windows/src/Windows/UI/Core/mod.rs:304-315 | crates/libs/windows/src/Windows/UI/Core/mod.rs:319-330 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1445-1455 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1487-1497 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1709-1720 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1724-1735 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3448-3458 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3490-3500 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:548-558 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:562-572 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:604-614 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:660-670 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1356-1366 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1398-1408 | crates/libs/windows/src/Windows/UI/Input/mod.rs:173-183 | crates/libs/windows/src/Windows/UI/Input/mod.rs:187-197 | crates/libs/windows/src/Windows/UI/Input/mod.rs:201-211 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3110-3120 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3138-3148 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3599-3609 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2872-2882 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2886-2896 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:3272-3283 | crates/libs/windows/src/Windows/UI/Shell/CompanionWindows/mod.rs:24-34 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:83-93 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:253-263 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:282-293 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:784-794 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:187-198 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:267-278 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:30-40 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:184-195 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1944-1955 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1966-1977 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1988-1999 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:2134-2145 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4458-4468 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4473-4483 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:135-145 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:149-159 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:816-826 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:1271-1281 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:395-405 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:465-475 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:575-586 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:590-601 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:764-774 | crates/libs/windows/src/Windows/Web/UI/mod.rs:282-292 | crates/libs/windows/src/Windows/Web/UI/mod.rs:352-362 \u2014 These 356 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 356 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 356 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"23b04b148609d022f4f3ae6d1badd19c481d2dbf17688d8938359f2177be97c4"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (246 members, 50\u002B identical tokens): crates/libs/collections/src/bindings.rs:74-101 | crates/libs/collections/src/bindings.rs:449-501 | crates/libs/collections/src/bindings.rs:711-868 | crates/libs/collections/src/bindings.rs:975-1024 | crates/libs/collections/src/bindings.rs:1201-1298 | crates/libs/collections/src/bindings.rs:2165-2407 | crates/libs/collections/src/bindings.rs:2704-2811 | crates/libs/future/src/bindings.rs:1515-1583 | crates/libs/future/src/bindings.rs:1812-1931 | crates/libs/reactor/src/native/winui/bindings.rs:9147-9187 | crates/libs/reactor/src/native/winui/bindings.rs:21849-21924 | crates/libs/reference/src/bindings.rs:1045-1072 | crates/libs/windows/src/Windows/AI/Actions/Provider/mod.rs:26-44 | crates/libs/windows/src/Windows/AI/Actions/Provider/mod.rs:79-94 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:204-262 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:518-549 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1779-1823 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1883-1898 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2026-2041 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2106-2124 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2192-2210 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2278-2296 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2374-2420 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2557-2575 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2632-2650 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2708-2726 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2790-2822 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2877-2892 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2961-2976 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3055-3101 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3179-3211 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3297-3343 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3392-3424 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3489-3507 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3589-3635 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3719-3765 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3824-3839 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3897-3915 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3979-4011 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4070-4088 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4159-4174 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4239-4271 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4329-4347 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4420-4438 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4499-4517 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4552-4570 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4636-4651 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4712-4730 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4772-4804 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4871-4886 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4955-4970 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5034-5066 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5135-5153 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5207-5222 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5294-5309 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5434-5452 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5581-5596 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5657-5675 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5732-5747 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5812-5844 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5906-5924 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5981-5999 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6060-6092 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6129-6147 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6208-6226 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6296-6311 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6390-6422 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6484-6502 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6563-6578 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6639-6654 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6729-6774 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6837-6855 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6924-6942 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:2560-2606 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2385-2497 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2714-2729 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2819-2897 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2984-2999 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:3080-3095 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs:172-204 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4326-4384 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4433-4479 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4575-4621 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4893-4939 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:959-974 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:478-538 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:92-138 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:164-179 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:858-873 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:974-989 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1322-1337 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1648-1666 | crates/libs/windows/src/Windows/Data/Json/mod.rs:147-246 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:846-926 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1379-1682 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1775-1835 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2233-2248 | crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:233-248 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:63-94 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:377-392 | crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:25-43 | crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:229-244 | crates/libs/windows/src/Windows/Devices/I2c/mod.rs:359-405 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:275-307 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3498-3513 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4458-4632 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4824-4947 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:5611-5650 | crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs:215-230 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:3270-3330 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:284-409 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:680-751 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:989-1142 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:56-74 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:231-246 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:135-195 | crates/libs/windows/src/Windows/Devices/mod.rs:116-190 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:452-525 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:680-772 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1067-1120 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1248-1375 | crates/libs/windows/src/Windows/Foundation/mod.rs:247-265 | crates/libs/windows/src/Windows/Foundation/mod.rs:315-330 | crates/libs/windows/src/Windows/Foundation/mod.rs:1479-1494 | crates/libs/windows/src/Windows/Foundation/mod.rs:1596-1628 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:320-352 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1039-1144 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1194-1212 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:509-582 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:574-620 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:668-714 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:824-985 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1044-1090 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:522-553 | crates/libs/windows/src/Windows/Graphics/Effects/mod.rs:27-52 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1356-1520 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1675-1721 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1769-1787 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:202-227 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:382-397 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:707-725 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:324-412 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:488-576 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:697-883 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:966-1054 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1312-1428 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1513-1614 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3376-3391 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3879-3904 | crates/libs/windows/src/Windows/Media/Core/mod.rs:1724-1789 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2102-2161 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2231-2256 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2645-2711 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3120-3138 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:2409-2455 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:429-461 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1075-1107 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1169-1201 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:922-975 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:279-371 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:514-532 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:684-702 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:755-815 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1056-1071 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1113-1128 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1189-1241 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1465-1621 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1758-1829 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2420-2438 | crates/libs/windows/src/Windows/Media/mod.rs:556-684 | crates/libs/windows/src/Windows/Media/mod.rs:743-788 | crates/libs/windows/src/Windows/Media/mod.rs:833-848 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1557-1589 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1710-1817 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:580-598 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1533-1599 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1697-1777 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1882-1900 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1963-2008 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2091-2150 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:262-322 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:443-508 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:584-649 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:781-799 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:872-890 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:978-996 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1106-1124 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1640-1655 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:432-447 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:491-506 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:44-56 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:177-195 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:303-500 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:347-393 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:496-514 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:663-681 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:839-940 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1040-1065 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1098-1116 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1208-1254 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1402-1420 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1474-1527 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1563-1581 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1749-1815 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:724-963 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1128-1235 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:811-826 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1021-1344 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1557-1808 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1915-1930 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1962-1980 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2027-2059 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2108-2133 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2254-2366 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2406-2424 | crates/libs/windows/src/Windows/Storage/mod.rs:1690-1862 | crates/libs/windows/src/Windows/Storage/mod.rs:1917-1949 | crates/libs/windows/src/Windows/Storage/mod.rs:2228-2372 | crates/libs/windows/src/Windows/Storage/mod.rs:2437-2452 | crates/libs/windows/src/Windows/Storage/mod.rs:2590-2731 | crates/libs/windows/src/Windows/Storage/mod.rs:2977-3079 | crates/libs/windows/src/Windows/Storage/mod.rs:3203-3249 | crates/libs/windows/src/Windows/Storage/mod.rs:3349-3364 | crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs:117-149 | crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs:189-207 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3159-3177 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:123-222 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:325-340 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:243-258 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:423-438 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:692-731 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:961-1133 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:301-332 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:102-169 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:144-159 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:191-209 | crates/libs/windows/src/Windows/UI/Text/mod.rs:667-1180 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1439-1721 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:393-411 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:668-686 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:509-524 | crates/libs/windows/src/Windows/Web/Http/mod.rs:2087-2188 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:152-279 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:624-775 | crates/libs/windows/src/Windows/Web/UI/mod.rs:444-1029 | crates/libs/windows/src/Windows/Web/mod.rs:37-52 \u2014 These 246 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 246 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 246 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"45b9d5f904bbdf8a25fa76c4f690c51dd834f8a382ee9250753807273bfa9f15"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (152 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1955-1972 | crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:76-192 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:63-94 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:190-313 | crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs:70-174 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:422-767 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:824-985 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1470-1494 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2925-2969 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1021-1344 | crates/libs/windows/src/Windows/UI/Text/mod.rs:667-1180 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1439-1721 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2086-2571 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:94-171 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:312-464 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:596-755 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:813-851 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:918-1000 | crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:351-381 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:3053-3127 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:3816-3840 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:125-229 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1291-1367 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1600-1696 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:205-261 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:448-543 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:81-158 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:337-387 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:581-678 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:834-898 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1046-1110 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1266-1343 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:419-483 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:759-830 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1443-1506 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2326-2390 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2570-2654 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2913-2997 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3113-3247 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3340-3430 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3634-3847 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3975-4111 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4197-4280 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4389-4505 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4755-4826 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5032-5096 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5213-5330 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5415-5492 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5583-5661 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5717-5754 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6019-6076 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6744-6808 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:7034-7291 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:7853-8114 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:9072-9189 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:9851-10174 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10264-10348 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10797-10887 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11004-11121 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11321-11570 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12988-13032 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13599-13656 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13830-13914 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14132-14196 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14275-14346 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15087-15665 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15951-16034 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:120-250 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:393-537 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:326-396 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:506-628 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:714-797 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:887-983 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:438-660 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1418-1606 | crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:269-536 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:3811-3868 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4605-4661 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4974-5069 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5139-5202 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5717-5760 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6476-6553 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6629-6698 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6775-6838 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6891-6928 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7859-7941 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7997-8040 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8100-8143 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9646-9750 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10651-10800 | crates/libs/windows/src/Windows/Win32/control/mod.rs:52-95 | crates/libs/windows/src/Windows/Win32/control/mod.rs:163-221 | crates/libs/windows/src/Windows/Win32/control/mod.rs:279-323 | crates/libs/windows/src/Windows/Win32/control/mod.rs:558-864 | crates/libs/windows/src/Windows/Win32/control/mod.rs:960-1004 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1097-1199 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1555-1586 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1722-1845 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2050-2193 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2599-2972 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5015-5136 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2666-2724 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:1542-1593 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:252-414 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:827-1038 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3136-3253 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3465-3722 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:4352-4562 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:156-213 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:360-504 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:816-840 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1153-1242 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:304-611 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1163-1226 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1744-1800 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2655-2718 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2959-3089 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1279-1423 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1513-1597 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1676-1753 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1933-1977 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:2364-2674 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3561-3690 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4095-4272 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4330-4374 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4624-4668 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4834-4931 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5128-5172 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5230-5274 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5519-5569 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5850-5894 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6686-6750 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6855-6972 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7227-7429 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7508-7585 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7818-8082 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8145-8196 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8309-8426 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8523-8614 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8723-8814 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9029-9280 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9462-9566 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9630-9686 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9894-10111 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10189-10246 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10442-10686 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10751-10803 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10883-10965 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11010-11034 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11092-11136 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11207-11271 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:12070-12999 \u2014 These 152 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 152 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 152 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1955}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3bce0841933251ce2ba5194ed258682a2c576e2699470b113698d9ef736175f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (148 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:95-101 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:157-163 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:219-225 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:281-287 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:354-360 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:446-452 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:500-506 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:555-561 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:607-613 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:706-712 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:772-778 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:833-839 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:899-905 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:961-967 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1008-1014 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1074-1080 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1140-1146 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1215-1221 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1270-1276 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1353-1359 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1444-1450 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1506-1512 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1569-1575 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1638-1644 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1701-1707 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1865-1871 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1940-1946 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2011-2017 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2081-2087 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2167-2173 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2253-2259 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2350-2356 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2467-2473 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2617-2623 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2690-2696 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2774-2780 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2862-2868 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2946-2952 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3028-3034 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3153-3159 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3270-3276 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3471-3477 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3562-3568 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3692-3698 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3809-3815 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3879-3885 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3963-3969 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4052-4058 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4130-4136 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4220-4226 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4314-4320 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4387-4393 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4481-4487 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4610-4616 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4694-4700 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4845-4851 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4929-4935 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5018-5024 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5106-5112 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5192-5198 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5262-5268 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5351-5357 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5419-5425 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5491-5497 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5563-5569 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5639-5645 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5717-5723 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5793-5799 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5888-5894 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5966-5972 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6044-6050 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6190-6196 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6281-6287 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6371-6377 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6466-6472 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6545-6551 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6621-6627 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6709-6715 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6819-6825 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6898-6904 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6976-6982 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7065-7071 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7119-7125 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7231-7237 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7285-7291 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7331-7337 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7378-7384 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7425-7431 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7509-7515 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7601-7607 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7655-7661 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7738-7744 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7829-7835 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7908-7914 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7976-7982 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8023-8029 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8078-8084 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8137-8143 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8192-8198 | crates/libs/windows/src/Windows/Gaming/UI/mod.rs:239-245 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:600-606 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1252-1258 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1073-1079 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2251-2257 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3167-3173 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1280-1286 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1354-1360 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1428-1434 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1502-1508 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1587-1593 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1776-1782 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1846-1852 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1913-1919 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1977-1983 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2047-2053 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2125-2131 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2198-2204 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2276-2282 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2354-2360 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2413-2419 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2491-2497 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2569-2575 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2648-2654 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2715-2721 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2802-2808 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2890-2896 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2964-2970 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3039-3045 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3120-3126 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3195-3201 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3270-3276 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3363-3369 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3436-3442 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3628-3634 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3698-3704 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3757-3763 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3865-3871 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3953-3959 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4049-4055 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4115-4121 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4194-4200 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4261-4267 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4331-4337 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4404-4410 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4960-4966 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5027-5033 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5098-5104 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5165-5171 \u2014 These 148 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 148 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 148 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6ed96a602850cfc4501588afa9f4ebe9650c66d86c3c766f81e64fc9c56d33b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (99 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:81-87 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:143-149 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:205-211 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:267-273 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:340-346 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:432-438 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:486-492 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:541-547 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:593-599 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:692-698 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:758-764 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:819-825 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:885-891 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:947-953 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:994-1000 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1060-1066 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1126-1132 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1201-1207 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1256-1262 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1339-1345 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1430-1436 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1492-1498 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1555-1561 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1624-1630 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1687-1693 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1851-1857 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1926-1932 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1997-2003 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2067-2073 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2153-2159 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2239-2245 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2336-2342 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2453-2459 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2603-2609 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2676-2682 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2760-2766 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2848-2854 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2932-2938 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3014-3020 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3139-3145 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3256-3262 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3457-3463 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3548-3554 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3678-3684 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3795-3801 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3865-3871 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3949-3955 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4038-4044 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4116-4122 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4206-4212 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4300-4306 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4373-4379 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4467-4473 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4596-4602 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4680-4686 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4831-4837 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4915-4921 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5004-5010 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5092-5098 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5178-5184 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5248-5254 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5337-5343 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5405-5411 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5477-5483 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5549-5555 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5625-5631 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5703-5709 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5779-5785 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5874-5880 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5952-5958 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6030-6036 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6176-6182 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6267-6273 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6357-6363 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6452-6458 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6531-6537 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6607-6613 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6695-6701 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6805-6811 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6884-6890 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6962-6968 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7051-7057 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7105-7111 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7217-7223 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7271-7277 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7317-7323 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7364-7370 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7411-7417 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7495-7501 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7587-7593 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7641-7647 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7724-7730 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7815-7821 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7894-7900 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7962-7968 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8009-8015 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8064-8070 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8123-8129 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8178-8184 \u2014 These 99 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 99 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 99 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0fa32a48b4991bb3d40ea605384396470d8216f30a25eeda94315a3dc7203e2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (99 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:88-94 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:150-156 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:212-218 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:274-280 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:347-353 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:439-445 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:493-499 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:548-554 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:600-606 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:699-705 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:765-771 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:826-832 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:892-898 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:954-960 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1001-1007 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1067-1073 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1133-1139 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1208-1214 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1263-1269 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1346-1352 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1437-1443 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1499-1505 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1562-1568 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1631-1637 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1694-1700 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1858-1864 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1933-1939 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2004-2010 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2074-2080 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2160-2166 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2246-2252 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2343-2349 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2460-2466 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2610-2616 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2683-2689 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2767-2773 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2855-2861 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2939-2945 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3021-3027 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3146-3152 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3263-3269 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3464-3470 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3555-3561 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3685-3691 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3802-3808 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3872-3878 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3956-3962 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4045-4051 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4123-4129 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4213-4219 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4307-4313 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4380-4386 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4474-4480 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4603-4609 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4687-4693 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4838-4844 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4922-4928 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5011-5017 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5099-5105 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5185-5191 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5255-5261 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5344-5350 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5412-5418 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5484-5490 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5556-5562 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5632-5638 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5710-5716 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5786-5792 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5881-5887 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5959-5965 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6037-6043 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6183-6189 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6274-6280 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6364-6370 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6459-6465 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6538-6544 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6614-6620 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6702-6708 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6812-6818 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6891-6897 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6969-6975 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7058-7064 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7112-7118 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7224-7230 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7278-7284 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7324-7330 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7371-7377 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7418-7424 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7502-7508 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7594-7600 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7648-7654 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7731-7737 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7822-7828 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7901-7907 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7969-7975 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8016-8022 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8071-8077 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8130-8136 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8185-8191 \u2014 These 99 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 99 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 99 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"88dbb808d9bf11f4398115ca758948724b0fcc221e903f4b87c693f4575e928e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (82 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:103-109 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:165-171 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:227-233 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:289-295 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:362-368 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:454-460 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:508-514 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:615-621 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:907-913 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1148-1154 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1223-1229 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1278-1284 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1361-1367 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1452-1458 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1514-1520 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1577-1583 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1646-1652 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1709-1715 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6984-6990 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7073-7079 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7239-7245 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7433-7439 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7517-7523 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7609-7615 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7663-7669 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7746-7752 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7837-7843 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7916-7922 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8031-8037 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8145-8151 | crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:144-150 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3241-3247 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:129-135 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:364-370 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:646-652 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1553-1559 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1835-1841 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2108-2114 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:608-614 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1260-1266 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1081-1087 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2259-2265 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3175-3181 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1531-1537 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1289-1295 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:179-185 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:497-503 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:605-611 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:979-985 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1142-1148 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2740-2746 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:130-136 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1295-1301 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1369-1375 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1443-1449 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1517-1523 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1602-1608 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1791-1797 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1861-1867 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1992-1998 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2291-2297 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2584-2590 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2663-2669 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2730-2736 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2817-2823 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2905-2911 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2979-2985 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3054-3060 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3135-3141 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3210-3216 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3285-3291 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3378-3384 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3643-3649 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3880-3886 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3968-3974 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4064-4070 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4209-4215 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4276-4282 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4346-4352 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4975-4981 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5113-5119 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:166-172 \u2014 These 82 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 82 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 82 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"db676bd89e410c2bb3dc2c87ba104f0c5b4bde0bc79bbcd9bc2477e319938cd2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (78 members, 50\u002B identical tokens): crates/libs/reactor/src/native/winui/bindings.rs:73-84 | crates/libs/reactor/src/native/winui/bindings.rs:145-156 | crates/libs/reactor/src/native/winui/bindings.rs:732-743 | crates/libs/reactor/src/native/winui/bindings.rs:1036-1047 | crates/libs/reactor/src/native/winui/bindings.rs:1158-1169 | crates/libs/reactor/src/native/winui/bindings.rs:1251-1262 | crates/libs/reactor/src/native/winui/bindings.rs:1382-1393 | crates/libs/reactor/src/native/winui/bindings.rs:1491-1502 | crates/libs/reactor/src/native/winui/bindings.rs:1631-1642 | crates/libs/reactor/src/native/winui/bindings.rs:1728-1739 | crates/libs/reactor/src/native/winui/bindings.rs:1920-1931 | crates/libs/reactor/src/native/winui/bindings.rs:2004-2015 | crates/libs/reactor/src/native/winui/bindings.rs:2053-2064 | crates/libs/reactor/src/native/winui/bindings.rs:2236-2247 | crates/libs/reactor/src/native/winui/bindings.rs:2292-2303 | crates/libs/reactor/src/native/winui/bindings.rs:2809-2820 | crates/libs/reactor/src/native/winui/bindings.rs:3046-3057 | crates/libs/reactor/src/native/winui/bindings.rs:3416-3427 | crates/libs/reactor/src/native/winui/bindings.rs:3813-3824 | crates/libs/reactor/src/native/winui/bindings.rs:3887-3898 | crates/libs/reactor/src/native/winui/bindings.rs:3932-3943 | crates/libs/reactor/src/native/winui/bindings.rs:4058-4069 | crates/libs/reactor/src/native/winui/bindings.rs:4369-4380 | crates/libs/reactor/src/native/winui/bindings.rs:4575-4586 | crates/libs/reactor/src/native/winui/bindings.rs:4632-4643 | crates/libs/reactor/src/native/winui/bindings.rs:4764-4775 | crates/libs/reactor/src/native/winui/bindings.rs:22215-22226 | crates/libs/reactor/src/native/winui/bindings.rs:22360-22371 | crates/libs/reactor/src/native/winui/bindings.rs:22432-22443 | crates/libs/reactor/src/native/winui/bindings.rs:22861-22872 | crates/libs/reactor/src/native/winui/bindings.rs:23016-23027 | crates/libs/reactor/src/native/winui/bindings.rs:23280-23291 | crates/libs/reactor/src/native/winui/bindings.rs:23337-23348 | crates/libs/reactor/src/native/winui/bindings.rs:23395-23406 | crates/libs/reactor/src/native/winui/bindings.rs:23527-23538 | crates/libs/reactor/src/native/winui/bindings.rs:23601-23612 | crates/libs/reactor/src/native/winui/bindings.rs:23656-23667 | crates/libs/reactor/src/native/winui/bindings.rs:23722-23733 | crates/libs/reactor/src/native/winui/bindings.rs:23778-23789 | crates/libs/reactor/src/native/winui/bindings.rs:23931-23942 | crates/libs/reactor/src/native/winui/bindings.rs:24037-24048 | crates/libs/reactor/src/native/winui/bindings.rs:24108-24119 | crates/libs/reactor/src/native/winui/bindings.rs:24325-24336 | crates/libs/reactor/src/native/winui/bindings.rs:24524-24535 | crates/libs/reactor/src/native/winui/bindings.rs:24898-24909 | crates/libs/reactor/src/native/winui/bindings.rs:24970-24981 | crates/libs/reactor/src/native/winui/bindings.rs:25049-25060 | crates/libs/reactor/src/native/winui/bindings.rs:25132-25143 | crates/libs/reactor/src/native/winui/bindings.rs:25397-25408 | crates/libs/reactor/src/native/winui/bindings.rs:25489-25500 | crates/libs/reactor/src/native/winui/bindings.rs:25605-25616 | crates/libs/reactor/src/native/winui/bindings.rs:25677-25688 | crates/libs/reactor/src/native/winui/bindings.rs:25933-25944 | crates/libs/reactor/src/native/winui/bindings.rs:26129-26140 | crates/libs/reactor/src/native/winui/bindings.rs:26490-26501 | crates/libs/reactor/src/native/winui/bindings.rs:26874-26885 | crates/libs/reactor/src/native/winui/bindings.rs:26949-26960 | crates/libs/reactor/src/native/winui/bindings.rs:27268-27279 | crates/libs/reactor/src/native/winui/bindings.rs:27324-27335 | crates/libs/reactor/src/native/winui/bindings.rs:27650-27661 | crates/libs/reactor/src/native/winui/bindings.rs:27802-27813 | crates/libs/reactor/src/native/winui/bindings.rs:27884-27895 | crates/libs/reactor/src/native/winui/bindings.rs:28003-28014 | crates/libs/reactor/src/native/winui/bindings.rs:28119-28130 | crates/libs/reactor/src/native/winui/bindings.rs:28175-28186 | crates/libs/reactor/src/native/winui/bindings.rs:28535-28546 | crates/libs/reactor/src/native/winui/bindings.rs:28630-28641 | crates/libs/reactor/src/native/winui/bindings.rs:28741-28752 | crates/libs/reactor/src/native/winui/bindings.rs:29059-29070 | crates/libs/reactor/src/native/winui/bindings.rs:29409-29420 | crates/libs/reactor/src/native/winui/bindings.rs:29521-29532 | crates/libs/reactor/src/native/winui/bindings.rs:29666-29677 | crates/libs/reactor/src/native/winui/bindings.rs:29807-29818 | crates/libs/reactor/src/native/winui/bindings.rs:30001-30012 | crates/libs/reactor/src/native/winui/bindings.rs:30094-30105 | crates/libs/reactor/src/native/winui/bindings.rs:30507-30518 | crates/libs/reactor/src/native/winui/bindings.rs:30903-30914 | crates/libs/reactor/src/native/winui/bindings.rs:30947-30958 \u2014 These 78 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 78 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 78 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"8eda13339cc77ca3af3e23acae1dd96627151f3b940a8d9a41af9d8a4a145b12"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (66 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Core/mod.rs:459-470 | crates/libs/windows/src/Windows/UI/Core/mod.rs:474-485 | crates/libs/windows/src/Windows/UI/Core/mod.rs:489-500 | crates/libs/windows/src/Windows/UI/Core/mod.rs:504-515 | crates/libs/windows/src/Windows/UI/Core/mod.rs:519-530 | crates/libs/windows/src/Windows/UI/Core/mod.rs:534-545 | crates/libs/windows/src/Windows/UI/Core/mod.rs:549-560 | crates/libs/windows/src/Windows/UI/Core/mod.rs:916-927 | crates/libs/windows/src/Windows/UI/Core/mod.rs:931-942 | crates/libs/windows/src/Windows/UI/Core/mod.rs:946-957 | crates/libs/windows/src/Windows/UI/Core/mod.rs:961-972 | crates/libs/windows/src/Windows/UI/Core/mod.rs:976-987 | crates/libs/windows/src/Windows/UI/Core/mod.rs:991-1002 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1006-1017 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1543-1553 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1557-1567 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1571-1581 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1585-1595 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1599-1609 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1613-1623 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1641-1651 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2635-2645 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2649-2659 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2663-2673 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2677-2687 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2691-2701 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2705-2715 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2719-2729 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3046-3057 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3061-3072 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3076-3087 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3091-3102 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3106-3117 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3121-3132 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3136-3147 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3201-3211 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3215-3225 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3229-3239 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3546-3556 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3560-3570 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3574-3584 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3588-3598 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3602-3612 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3616-3626 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3644-3654 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:74-84 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:89-99 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:104-114 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:119-129 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:134-144 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:149-159 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:164-174 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2911-2921 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2926-2936 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2941-2951 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2956-2966 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3124-3134 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3139-3149 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3154-3164 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3169-3179 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3184-3194 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3199-3209 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3214-3224 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4193-4203 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4208-4218 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4223-4233 \u2014 These 66 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 66 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 66 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":459}}}],"partialFingerprints":{"codehealthFindingId/v1":"194e809db240707549de6c81794e073ac33c59e1d2ae7eb14ab0338713370a69"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (61 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1375-1381 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:676-682 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:857-863 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:361-367 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:554-560 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:714-720 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:848-854 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:999-1005 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1060-1066 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1171-1177 | crates/libs/windows/src/Windows/Data/Json/mod.rs:302-308 | crates/libs/windows/src/Windows/Data/Json/mod.rs:559-565 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4747-4753 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4878-4884 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:163-169 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:429-435 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:729-735 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:9-15 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:122-128 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:230-236 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:328-334 | crates/libs/windows/src/Windows/Foundation/mod.rs:2285-2291 | crates/libs/windows/src/Windows/Globalization/Collation/mod.rs:56-62 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:841-847 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4479-4485 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2051-2057 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1787-1793 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3572-3578 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3676-3682 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4660-4666 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:209-215 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3811-3817 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:987-993 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:70-76 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:9-15 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:238-244 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:321-327 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1544-1550 | crates/libs/windows/src/Windows/Storage/mod.rs:287-293 | crates/libs/windows/src/Windows/Storage/mod.rs:456-462 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:191-197 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:948-954 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:56-62 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:263-269 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:452-458 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:641-647 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:842-848 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1189-1195 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1452-1458 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1792-1798 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1927-1933 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2135-2141 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2434-2440 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2565-2571 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2909-2915 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3193-3199 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3372-3378 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3535-3541 | crates/libs/windows/src/Windows/Web/Http/mod.rs:486-492 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1045-1051 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1183-1189 \u2014 These 61 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 61 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 61 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1375}}}],"partialFingerprints":{"codehealthFindingId/v1":"b07ee082cf1f92380c2f06a88ae52564484660d4e432eb640af964e01ddcecd5"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (58 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Json/mod.rs:400-406 | crates/libs/windows/src/Windows/Data/Json/mod.rs:766-772 | crates/libs/windows/src/Windows/Data/Json/mod.rs:888-894 | crates/libs/windows/src/Windows/Foundation/mod.rs:2108-2114 | crates/libs/windows/src/Windows/Globalization/PhoneNumberFormatting/mod.rs:248-254 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:32-38 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:179-185 | crates/libs/windows/src/Windows/Networking/mod.rs:165-171 | crates/libs/windows/src/Windows/System/Inventory/mod.rs:62-68 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:63-69 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:220-226 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:270-276 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:409-415 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:459-465 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:598-604 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:648-654 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:799-805 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:849-855 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1034-1040 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1239-1245 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1336-1342 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1409-1415 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1459-1465 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1616-1622 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1674-1680 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1749-1755 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1799-1805 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1934-1940 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2092-2098 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2142-2148 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2299-2305 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2391-2397 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2441-2447 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2572-2578 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2726-2732 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2796-2802 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2866-2872 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2916-2922 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3243-3249 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3422-3428 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3492-3498 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3542-3548 | crates/libs/windows/src/Windows/Web/Http/mod.rs:86-92 | crates/libs/windows/src/Windows/Web/Http/mod.rs:351-357 | crates/libs/windows/src/Windows/Web/Http/mod.rs:456-462 | crates/libs/windows/src/Windows/Web/Http/mod.rs:666-672 | crates/libs/windows/src/Windows/Web/Http/mod.rs:731-737 | crates/libs/windows/src/Windows/Web/Http/mod.rs:792-798 | crates/libs/windows/src/Windows/Web/Http/mod.rs:852-858 | crates/libs/windows/src/Windows/Web/Http/mod.rs:932-938 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1052-1058 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1190-1196 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1360-1366 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1418-1424 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1540-1546 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1718-1724 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1821-1827 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1879-1885 \u2014 These 58 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 58 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 58 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":400}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8d6693f13250b03deeb6ca470f2dccde84567afb4b67fe9cabf91c6626d26c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (49 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Gaming/UI/mod.rs:225-231 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:586-592 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1238-1244 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1059-1065 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2237-2243 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3153-3159 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1266-1272 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1340-1346 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1414-1420 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1488-1494 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1573-1579 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1762-1768 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1832-1838 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1899-1905 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1963-1969 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2033-2039 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2111-2117 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2184-2190 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2262-2268 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2340-2346 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2399-2405 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2477-2483 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2555-2561 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2634-2640 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2701-2707 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2788-2794 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2876-2882 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2950-2956 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3025-3031 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3106-3112 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3181-3187 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3256-3262 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3349-3355 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3422-3428 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3614-3620 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3684-3690 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3743-3749 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3851-3857 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3939-3945 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4035-4041 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4101-4107 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4180-4186 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4247-4253 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4317-4323 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4390-4396 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4946-4952 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5013-5019 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5084-5090 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5151-5157 \u2014 These 49 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 49 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 49 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/UI/mod.rs"},"region":{"startLine":225}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b13ae61253366add9c1a1166362f5067a92d08bff44139304e13e01e2930213"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (49 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Gaming/UI/mod.rs:232-238 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:593-599 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1245-1251 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1066-1072 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2244-2250 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3160-3166 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1273-1279 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1347-1353 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1421-1427 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1495-1501 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1580-1586 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1769-1775 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1839-1845 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1906-1912 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1970-1976 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2040-2046 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2118-2124 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2191-2197 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2269-2275 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2347-2353 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2406-2412 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2484-2490 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2562-2568 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2641-2647 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2708-2714 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2795-2801 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2883-2889 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2957-2963 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3032-3038 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3113-3119 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3188-3194 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3263-3269 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3356-3362 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3429-3435 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3621-3627 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3691-3697 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3750-3756 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3858-3864 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3946-3952 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4042-4048 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4108-4114 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4187-4193 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4254-4260 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4324-4330 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4397-4403 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4953-4959 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5020-5026 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5091-5097 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5158-5164 \u2014 These 49 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 49 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 49 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/UI/mod.rs"},"region":{"startLine":232}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd6d823e950d6fe8077e7b51ad56a42a44ef97ec22110dda73424d2548ceefa1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (45 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1287-1293 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1361-1367 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1435-1441 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1509-1515 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1594-1600 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1783-1789 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1853-1859 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1920-1926 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1984-1990 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2054-2060 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2132-2138 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2205-2211 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2283-2289 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2361-2367 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2420-2426 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2498-2504 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2576-2582 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2655-2661 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2722-2728 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2809-2815 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2897-2903 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2971-2977 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3046-3052 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3127-3133 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3202-3208 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3277-3283 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3370-3376 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3443-3449 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3520-3526 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3635-3641 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3705-3711 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3764-3770 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3820-3826 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3872-3878 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3960-3966 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4056-4062 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4122-4128 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4201-4207 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4268-4274 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4338-4344 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4411-4417 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4967-4973 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5034-5040 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5105-5111 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5172-5178 \u2014 These 45 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 45 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 45 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":1287}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1adf674e7e15e06266f0296ec3be0c12053c17a7d24d680979e89214e6c8ba3"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (31 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:110-116 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:172-178 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:234-240 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:296-302 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:369-375 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:713-719 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:779-785 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:840-846 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1015-1021 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1081-1087 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2088-2094 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2174-2180 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2260-2266 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2357-2363 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2474-2480 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3035-3041 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3160-3166 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3277-3283 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3569-3575 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3699-3705 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4402-4408 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1302-1308 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1376-1382 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1450-1456 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1524-1530 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1609-1615 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2061-2067 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2139-2145 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2212-2218 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2427-2433 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2505-2511 \u2014 These 31 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 31 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 31 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":110}}}],"partialFingerprints":{"codehealthFindingId/v1":"db6816b02e241d0be703b79b8f7daf66eab475bb2cd0a3090ca7fc4e2505f6b0"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (30 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:382-388 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:239-245 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:704-710 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:909-915 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1134-1140 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1438-1444 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1959-1965 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4738-4744 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4991-4997 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5296-5302 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5593-5599 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1087-1093 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2526-2532 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2654-2660 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4474-4480 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4792-4798 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7497-7503 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7559-7565 | crates/libs/windows/src/Windows/Media/Core/mod.rs:830-836 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:114-120 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:278-284 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1356-1362 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2362-2368 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1180-1186 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:359-365 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:935-941 | crates/libs/windows/src/Windows/Storage/mod.rs:3183-3189 | crates/libs/windows/src/Windows/Storage/mod.rs:3331-3337 | crates/libs/windows/src/Windows/Storage/mod.rs:4597-4603 | crates/libs/windows/src/Windows/Storage/mod.rs:5028-5034 \u2014 These 30 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 30 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 30 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs"},"region":{"startLine":382}}}],"partialFingerprints":{"codehealthFindingId/v1":"f713eeb02c5a0e4565aa3eb6a7e17b868e8732dba47337d02d76258340508964"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (29 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/Actions/mod.rs:23-29 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:643-649 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:724-730 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:787-793 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:879-885 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:941-947 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:991-997 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1041-1047 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1711-1717 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1761-1767 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1916-1922 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2060-2066 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2122-2128 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2179-2185 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:109-115 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:38-44 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2407-2413 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1198-1204 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:14-20 | crates/libs/windows/src/Windows/Media/Core/mod.rs:349-355 | crates/libs/windows/src/Windows/Media/Core/mod.rs:863-869 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3607-3613 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5900-5906 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6058-6064 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6397-6403 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4132-4138 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:588-594 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1173-1179 | crates/libs/windows/src/Windows/UI/Shell/Tasks/mod.rs:142-148 \u2014 These 29 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 29 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 29 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"82a56bc38f01450e9d24a765f6947ddb8f0faa3ddc8c01827aed7df03bbc34c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (27 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:704-710 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1088-1094 | crates/libs/windows/src/Windows/Data/Json/mod.rs:421-427 | crates/libs/windows/src/Windows/Data/Json/mod.rs:741-747 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:37-43 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:150-156 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:356-362 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1015-1021 | crates/libs/windows/src/Windows/Storage/mod.rs:315-321 | crates/libs/windows/src/Windows/Storage/mod.rs:484-490 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:969-975 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:84-90 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:291-297 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:480-486 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:669-675 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:870-876 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1217-1223 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1480-1486 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1820-1826 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1955-1961 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2163-2169 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2462-2468 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2593-2599 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2937-2943 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3221-3227 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3400-3406 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3563-3569 \u2014 These 27 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 27 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 27 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":704}}}],"partialFingerprints":{"codehealthFindingId/v1":"098d153829061dd356dbb236bbaab0fc5ea2777a9120630054bf3b49852d0e8f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (27 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1291-1367 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1600-1696 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:419-483 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:759-830 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2326-2390 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2570-2654 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2913-2997 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3340-3430 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3975-4111 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4389-4505 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4755-4826 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5032-5096 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5415-5492 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5583-5661 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6744-6808 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10264-10348 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10797-10887 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13830-13914 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14132-14196 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14275-14346 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1418-1606 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6891-6928 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7997-8040 | crates/libs/windows/src/Windows/Win32/control/mod.rs:52-95 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1153-1242 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:544-621 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:842-919 \u2014 These 27 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 27 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 27 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":1291}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1a9143261b3e1aa8a19ef98b1b647ebebe9eb046f571b4cf21d040855023d64"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (26 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:46-52 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:301-307 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:628-634 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2022-2028 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2332-2338 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2616-2622 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2907-2913 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3347-3353 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3594-3600 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3855-3861 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4212-4218 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4455-4461 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4982-4988 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5281-5287 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:356-362 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:470-476 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:578-584 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:880-886 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1204-1210 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1447-1453 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1798-1804 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1962-1968 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2239-2245 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2424-2430 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2636-2642 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2791-2797 \u2014 These 26 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 26 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 26 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"b16566c88e16e67d394d804c4e72a48835e3f37a5dc4dbc78d1fbce4aa190e14"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (26 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:645-733 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:1458-1466 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:1806-1831 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:1949-1957 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:2262-2294 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:2360-2399 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:2483-2536 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:2602-2641 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8322-8340 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:473-504 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:2965-2973 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6914-7051 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:8586-8594 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:11656-11681 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:18873-18912 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32592-32748 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33004-33208 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33508-33753 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:34149-34476 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1121-1146 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:213-227 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:10889-10921 | crates/libs/windows/src/Windows/Win32/dxcore_interface/mod.rs:465-473 | crates/libs/windows/src/Windows/Win32/dxcore_interface/mod.rs:617-625 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:1043-1107 | crates/libs/windows/src/Windows/Win32/filtereg/mod.rs:124-135 \u2014 These 26 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 26 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 26 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs"},"region":{"startLine":645}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b8864785c0d4e834a87d3eb55d913e783984f49b06597331a81a6459c8b704a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (22 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1128-1134 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1781-1787 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1840-1846 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2123-2129 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2935-2941 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:3031-3037 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1680-1686 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2560-2566 | crates/libs/windows/src/Windows/Media/Core/mod.rs:99-105 | crates/libs/windows/src/Windows/Media/Core/mod.rs:181-187 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2204-2210 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6176-6182 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7504-7510 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7637-7643 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:796-802 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:190-196 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:767-773 | crates/libs/windows/src/Windows/Storage/mod.rs:1633-1639 | crates/libs/windows/src/Windows/Storage/mod.rs:2173-2179 | crates/libs/windows/src/Windows/Storage/mod.rs:2814-2820 | crates/libs/windows/src/Windows/Storage/mod.rs:4498-4504 | crates/libs/windows/src/Windows/Storage/mod.rs:4930-4936 \u2014 These 22 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 22 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 22 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1128}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f074a4fe9a6a11a6a3754057a5a8c8b780eb2349005684b947973ffac854deb"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (22 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1135-1141 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1788-1794 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1847-1853 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2130-2136 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1884-1890 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1075-1081 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:971-977 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1064-1070 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1157-1163 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1250-1256 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1343-1349 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1488-1494 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1614-1620 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1711-1717 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1797-1803 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1890-1896 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1990-1996 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2083-2089 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2286-2292 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2371-2377 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2464-2470 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2557-2563 \u2014 These 22 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 22 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 22 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1135}}}],"partialFingerprints":{"codehealthFindingId/v1":"769648197071628adfd70f958ba375aa778959eda57ba810b13428bf4ebaf9f0"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (22 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2385-2497 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2819-2897 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:657-681 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:190-313 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:284-409 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:452-525 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:680-772 | crates/libs/windows/src/Windows/Foundation/mod.rs:394-431 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1039-1144 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2925-2969 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1533-1599 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1117-1245 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:591-629 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1330-1368 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1128-1235 | crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs:53-77 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2289-2313 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2491-2549 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2757-2962 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3253-3317 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3745-4285 | crates/libs/windows/src/Windows/Web/UI/mod.rs:444-1029 \u2014 These 22 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 22 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 22 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2385}}}],"partialFingerprints":{"codehealthFindingId/v1":"20340afe101f9e61841a4515711035d752fbe8b81bce022ac486c42db6f4ff9a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (21 members, 50\u002B identical tokens): crates/libs/webview/src/bindings.rs:825-849 | crates/libs/webview/src/bindings.rs:948-972 | crates/libs/webview/src/bindings.rs:1122-1146 | crates/libs/webview/src/bindings.rs:1222-1246 | crates/libs/webview/src/bindings.rs:2157-2181 | crates/libs/webview/src/bindings.rs:2218-2242 | crates/libs/webview/src/bindings.rs:2326-2350 | crates/libs/webview/src/bindings.rs:2435-2459 | crates/libs/webview/src/bindings.rs:2838-2862 | crates/libs/webview/src/bindings.rs:3712-3736 | crates/libs/webview/src/bindings.rs:3771-3795 | crates/libs/webview/src/bindings.rs:4005-4029 | crates/libs/webview/src/bindings.rs:4106-4130 | crates/libs/webview/src/bindings.rs:4261-4285 | crates/libs/webview/src/bindings.rs:4420-4444 | crates/libs/webview/src/bindings.rs:4581-4605 | crates/libs/webview/src/bindings.rs:4669-4693 | crates/libs/webview/src/bindings.rs:5557-5581 | crates/libs/webview/src/bindings.rs:5675-5699 | crates/libs/webview/src/bindings.rs:5839-5863 | crates/libs/webview/src/bindings.rs:5915-5939 \u2014 These 21 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 21 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 21 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":825}}}],"partialFingerprints":{"codehealthFindingId/v1":"abe373a6098fe26aaabaf2aa0327fe69757a41d648d5e4c575e1d8439faacf30"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (20 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Json/mod.rs:407-413 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4754-4760 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4885-4891 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:799-805 | crates/libs/windows/src/Windows/Foundation/mod.rs:2292-2298 | crates/libs/windows/src/Windows/Globalization/Collation/mod.rs:63-69 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:955-961 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:70-76 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:277-283 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:466-472 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:655-661 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:856-862 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1466-1472 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1806-1812 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1941-1947 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2149-2155 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2448-2454 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2579-2585 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2923-2929 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3549-3555 \u2014 These 20 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 20 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 20 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":407}}}],"partialFingerprints":{"codehealthFindingId/v1":"83fd0a43c552c12bce762b055a8a4766ba2c90cd1ece2e2b0a7feb1d55c00f4f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (20 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Json/mod.rs:431-437 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4771-4777 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4902-4908 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:816-822 | crates/libs/windows/src/Windows/Foundation/mod.rs:2309-2315 | crates/libs/windows/src/Windows/Globalization/Collation/mod.rs:80-86 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:979-985 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:94-100 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:301-307 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:490-496 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:679-685 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:880-886 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1490-1496 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1830-1836 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1965-1971 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2173-2179 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2472-2478 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2603-2609 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2947-2953 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3573-3579 \u2014 These 20 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 20 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 20 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":431}}}],"partialFingerprints":{"codehealthFindingId/v1":"13e172c966e3e14df0762ac232c734cc43df8a627b82b9909145dd34fe434f79"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (19 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:958-964 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Provider/mod.rs:121-127 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:426-432 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:299-305 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1870-1876 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1920-1926 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1499-1505 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1581-1587 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1689-1695 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2666-2672 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2725-2731 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2796-2802 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2864-2870 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:337-343 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:913-919 | crates/libs/windows/src/Windows/Storage/mod.rs:3161-3167 | crates/libs/windows/src/Windows/Storage/mod.rs:3309-3315 | crates/libs/windows/src/Windows/Storage/mod.rs:4575-4581 | crates/libs/windows/src/Windows/Storage/mod.rs:5006-5012 \u2014 These 19 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 19 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 19 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":958}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e7df21f1dddcec2a490b07cb2096a0774ce27677581da2ccba2e03d4f963c76"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (19 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:277-320 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:548-591 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1045-1088 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1443-1486 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2137-2180 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2350-2393 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3869-3912 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4021-4064 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4106-4149 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4191-4234 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4361-4404 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4446-4489 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4571-4614 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4781-4824 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4951-4994 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5160-5203 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5810-5853 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6455-6498 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6540-6583 \u2014 These 19 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 19 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 19 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":277}}}],"partialFingerprints":{"codehealthFindingId/v1":"1847de3d8ec0c9aa741bf67db23c909697043358776618f66b5b62c40d326aea"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (18 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:365-370 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:696-701 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2272-2277 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2503-2508 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2840-2845 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3267-3272 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3867-3872 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4300-4305 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4693-4698 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4978-4983 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5350-5355 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5512-5517 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6690-6695 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10194-10199 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10724-10729 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13757-13762 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14078-14083 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14216-14221 \u2014 These 18 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 18 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 18 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":365}}}],"partialFingerprints":{"codehealthFindingId/v1":"f138bfaf9a35abe4757b50cf748f307389d0d2881fcb5ed37f4fa8fdd11cf6d8"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (17 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:764-770 | crates/libs/windows/src/Windows/Media/Core/mod.rs:110-116 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2215-2221 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6065-6071 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7515-7521 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:389-395 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:503-509 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:611-617 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:913-919 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1237-1243 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1480-1486 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1831-1837 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1995-2001 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2272-2278 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2457-2463 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2669-2675 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2824-2830 \u2014 These 17 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 17 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 17 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs"},"region":{"startLine":764}}}],"partialFingerprints":{"codehealthFindingId/v1":"79065643af7821ae37c34bed9deb98c604a54fba00020d92ecd847790b34b04f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (17 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1474-1480 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:102-108 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1031-1037 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1311-1317 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4591-4597 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4861-4867 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5147-5153 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5485-5491 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:6326-6332 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1365-1371 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1537-1543 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2567-2573 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2795-2801 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2927-2933 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3005-3011 | crates/libs/windows/src/Windows/UI/Core/mod.rs:30-36 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4953-4959 \u2014 These 17 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 17 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 17 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":1474}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ab05bc746c4699cef5cf366737e46b76256b257dd58a662789266d2ae91ac30"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (17 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:606-611 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1024-1029 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1117-1122 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1210-1215 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1303-1308 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1403-1408 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1552-1557 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1660-1665 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1757-1762 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1850-1855 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1943-1948 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2036-2041 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2129-2134 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2265-2270 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2350-2355 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2443-2448 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2536-2541 \u2014 These 17 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 17 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 17 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":606}}}],"partialFingerprints":{"codehealthFindingId/v1":"94acd7ba8b15e928dfe477ab2fa9485bc6340dc87b69ef414fd1fa9c68c84554"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (17 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/certcli/mod.rs:448-543 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:631-713 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10264-10348 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:123-207 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15620-16424 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17334-18218 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19249-20260 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:21784-23208 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:24772-26237 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:27822-29307 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30901-32393 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37556-37983 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38530-39019 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40192-41209 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42437-43503 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:44748-45834 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2781-2824 \u2014 These 17 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 17 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 17 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certcli/mod.rs"},"region":{"startLine":448}}}],"partialFingerprints":{"codehealthFindingId/v1":"0698eedef80d8474aeb85eab7c86caa5a1cc6137c05f7131939255436470a1fb"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (16 members, 50\u002B identical tokens): crates/libs/collections/src/bindings.rs:2083-2095 | crates/libs/collections/src/bindings.rs:2646-2658 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:389-394 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:579-584 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1199-1204 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:191-196 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:457-462 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1841-1846 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3626-3631 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3730-3735 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:237-242 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:95-100 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:58-63 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:349-354 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1593-1598 | crates/libs/windows/src/Windows/Web/Http/mod.rs:514-519 \u2014 These 16 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 16 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 16 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2083}}}],"partialFingerprints":{"codehealthFindingId/v1":"b201b49ec2b7c039c251787bcb75ff5a6e561ff2ee06e0d14b23a57a5802d5dd"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (16 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1422-1428 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:697-703 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:878-884 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:735-741 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1081-1087 | crates/libs/windows/src/Windows/Data/Json/mod.rs:734-740 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:30-36 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:143-149 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:349-355 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1008-1014 | crates/libs/windows/src/Windows/Storage/mod.rs:308-314 | crates/libs/windows/src/Windows/Storage/mod.rs:477-483 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:212-218 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1210-1216 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3214-3220 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3393-3399 \u2014 These 16 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 16 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 16 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1422}}}],"partialFingerprints":{"codehealthFindingId/v1":"2657322ade73164171122bb1e550578f6d8804c1013b39c67bde81bb792b42bd"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (16 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:960-966 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1053-1059 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1146-1152 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1239-1245 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1332-1338 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1477-1483 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1603-1609 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1700-1706 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1786-1792 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1879-1885 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1979-1985 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2072-2078 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2275-2281 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2360-2366 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2453-2459 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2546-2552 \u2014 These 16 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 16 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 16 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":960}}}],"partialFingerprints":{"codehealthFindingId/v1":"031317e0930cba14c7360bd1fff9afad3eadbc924155d4689a0e2ca63aaba84c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (15 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:502-508 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1192-1198 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1897-1903 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2012-2018 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2186-2192 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2301-2307 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2416-2422 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2531-2537 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2646-2652 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2761-2767 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2904-2910 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3009-3015 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3124-3130 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3239-3245 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3354-3360 \u2014 These 15 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 15 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 15 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":502}}}],"partialFingerprints":{"codehealthFindingId/v1":"65454cc3e984e2eec04c6c42d8246d6185c8cdbb4364654b1b45c401a1541513"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (15 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1904-1910 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2019-2025 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2193-2199 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2308-2314 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2423-2429 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2538-2544 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2653-2659 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2768-2774 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2911-2917 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3016-3022 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3131-3137 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3246-3252 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3361-3367 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:53-59 | crates/libs/windows/src/Windows/Media/mod.rs:80-86 \u2014 These 15 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 15 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 15 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1904}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5ad70f8266b7e64cf641572580c23e1839c046c7ea5aba032e3bb149aaa59a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (15 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1522-1528 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1654-1660 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1717-1723 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4618-4624 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4853-4859 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4937-4943 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6906-6912 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8200-8206 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:163-169 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:474-480 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:593-599 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2987-2993 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3143-3149 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3218-3224 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5180-5186 \u2014 These 15 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 15 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 15 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1522}}}],"partialFingerprints":{"codehealthFindingId/v1":"e211483cd6b29f042ee8ce2728d38946988813331962a9dae1339f9aa22ef44b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (15 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:231-237 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:486-492 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:813-819 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1331-1337 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2207-2213 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2517-2523 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2801-2807 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3092-3098 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3532-3538 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3779-3785 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4040-4046 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4397-4403 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4640-4646 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5167-5173 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5466-5472 \u2014 These 15 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 15 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 15 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":231}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a7288a5e20695f1f1f4a909ab442aa33b468661a4d878a75112f346eb34cd34"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (15 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:238-244 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:493-499 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:820-826 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1338-1344 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2214-2220 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2524-2530 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2808-2814 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3099-3105 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3539-3545 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3786-3792 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4047-4053 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4404-4410 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4647-4653 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5174-5180 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5473-5479 \u2014 These 15 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 15 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 15 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":238}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8e1169039fdce69992b6a0d9f4c1b15bff92e3b1ec5ef3e8072721b6060127f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (15 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs:36-46 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:32-42 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:366-376 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:628-638 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:783-793 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:982-992 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1262-1272 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1619-1629 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1819-1829 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4535-4545 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4818-4828 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5098-5108 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5436-5446 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5679-5689 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5901-5911 \u2014 These 15 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 15 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 15 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"52912d105ededc4199cb138f72bf69a34dc43d3e98d582e28a0704c046173dbe"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:25-31 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:280-286 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:607-613 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2001-2007 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2311-2317 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2595-2601 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2886-2892 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3326-3332 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3573-3579 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3834-3840 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4191-4197 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4434-4440 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4961-4967 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5260-5266 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"76a898751b3f2f16172eae1a63cef18cd062526a05ba9546facc60559ba737d3"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:39-45 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:294-300 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:621-627 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2015-2021 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2325-2331 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2609-2615 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2900-2906 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3340-3346 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3587-3593 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3848-3854 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4205-4211 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4448-4454 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4975-4981 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5274-5280 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"74ddbb081074eab96e9f2ef57389d557edd44b53116e6f5d91c798e6a85d87a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:53-59 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:308-314 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:635-641 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2029-2035 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2339-2345 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2623-2629 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2914-2920 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3354-3360 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3601-3607 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3862-3868 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4219-4225 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4462-4468 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4989-4995 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5288-5294 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"59e743c22dfbae00d96a018fc7f67a87935e0d18b6117f0eca3cc36b0fd97a19"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:60-66 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:315-321 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:642-648 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2036-2042 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2346-2352 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2630-2636 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2921-2927 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3361-3367 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3608-3614 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3869-3875 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4226-4232 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4469-4475 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4996-5002 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5295-5301 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"39252e89a4976ec74dc13776dbf098d6c4ce50744c503915e9a1f47a4796e25d"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:67-73 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:322-328 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:649-655 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2043-2049 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2353-2359 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2637-2643 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2928-2934 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3368-3374 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3615-3621 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3876-3882 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4233-4239 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4476-4482 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5003-5009 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5302-5308 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":67}}}],"partialFingerprints":{"codehealthFindingId/v1":"27341a67845d98ad35b9a0ff456f4d9412bd2c726c8dd00620e3a8aaf8595d36"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:74-80 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:329-335 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:656-662 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2050-2056 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2360-2366 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2644-2650 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2935-2941 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3375-3381 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3622-3628 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3883-3889 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4240-4246 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4483-4489 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5010-5016 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5309-5315 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"2054632b69f26b76df7700d90682b585cae4e135613820636ca21e0951803bb7"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:81-87 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:336-342 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:663-669 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2057-2063 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2367-2373 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2651-2657 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2942-2948 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3382-3388 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3629-3635 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3890-3896 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4247-4253 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4490-4496 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5017-5023 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5316-5322 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"f99a28d1196a07111d79d2973cec17cf431b27b63a24aed7cfa7423c73ac6ba3"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:88-94 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:343-349 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:670-676 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2064-2070 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2374-2380 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2658-2664 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2949-2955 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3389-3395 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3636-3642 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3897-3903 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4254-4260 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4497-4503 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5024-5030 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5323-5329 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"71bbf1573eb799133323a1b43b3bdcf5ac9bb0544d14cbf7a0f65d968bb3a5e8"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:95-101 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:350-356 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:677-683 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2071-2077 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2381-2387 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2665-2671 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2956-2962 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3396-3402 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3643-3649 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3904-3910 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4261-4267 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4504-4510 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5031-5037 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5330-5336 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"055e1ef0a0c43187e443b5ecde95355d3c3009ea5506ca16e8577a5c65c4c726"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:102-108 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:357-363 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:684-690 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2078-2084 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2388-2394 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2672-2678 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2963-2969 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3403-3409 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3650-3656 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3911-3917 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4268-4274 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4511-4517 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5038-5044 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5337-5343 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c86fad1456c748d2aba37dcd9afd200f37705e68a4dd6174ebf00e1c9a3cc91"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:109-115 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:364-370 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:691-697 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2085-2091 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2395-2401 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2679-2685 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2970-2976 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3410-3416 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3657-3663 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3918-3924 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4275-4281 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4518-4524 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5045-5051 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5344-5350 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":109}}}],"partialFingerprints":{"codehealthFindingId/v1":"d54a87fdd6423072ac39e42b1660ceed5ee35ed9bf061c88d60003cfad18eb6a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:158-164 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:413-419 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:740-746 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2134-2140 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2444-2450 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2728-2734 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3019-3025 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3459-3465 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3706-3712 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3967-3973 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4324-4330 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4567-4573 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5094-5100 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5393-5399 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"88f8d8f8e9813a200edd0ea4f07139243be0c1e0a4983554215fdffd22c21a78"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:165-171 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:420-426 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:747-753 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2141-2147 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2451-2457 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2735-2741 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3026-3032 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3466-3472 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3713-3719 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3974-3980 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4331-4337 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4574-4580 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5101-5107 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5400-5406 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"eecedce64b46d18e08ed9886d6f201e7f4c31779e4ff62e4f7abcdc0c09ed760"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:172-178 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:427-433 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:754-760 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2148-2154 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2458-2464 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2742-2748 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3033-3039 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3473-3479 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3720-3726 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3981-3987 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4338-4344 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4581-4587 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5108-5114 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5407-5413 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"133d7ed02e1246d3b5eb17416004aa93c73e01e2be8633577b0d18662f57be79"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (14 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:179-185 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:434-440 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:761-767 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2155-2161 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2465-2471 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2749-2755 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3040-3046 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3480-3486 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3727-3733 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3988-3994 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4345-4351 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4588-4594 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5115-5121 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5414-5420 \u2014 These 14 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 14 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 14 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":179}}}],"partialFingerprints":{"codehealthFindingId/v1":"14ca1422f866bf02dc38cef108a4605a15f988c4f47b92d83746fe342674c92c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (13 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/Actions/mod.rs:629-635 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:710-716 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:773-779 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:865-871 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:927-933 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:977-983 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1027-1033 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1697-1703 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1747-1753 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1902-1908 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2046-2052 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2108-2114 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2165-2171 \u2014 These 13 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 13 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 13 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":629}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f8ff590f80d1c3bba341529a6fae68a0bd7b57d90d9eb941b88deeffd0bc935"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (13 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/Actions/mod.rs:636-642 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:717-723 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:780-786 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:872-878 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:934-940 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:984-990 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1034-1040 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1704-1710 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1754-1760 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1909-1915 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2053-2059 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2115-2121 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2172-2178 \u2014 These 13 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 13 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 13 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":636}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f559ada366b7562b920fd162d22e584c5e0cb668a51a308d6f3b0f910c9ff70"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (13 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1911-1917 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2026-2032 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2200-2206 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2315-2321 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2430-2436 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2545-2551 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2660-2666 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2775-2781 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2918-2924 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3023-3029 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3138-3144 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3253-3259 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3368-3374 \u2014 These 13 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 13 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 13 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1911}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1546c4601889abac4714c692a50e06178a5c5b8a8dbf928585a0372275b5721"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (13 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1918-1924 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2033-2039 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2207-2213 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2322-2328 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2437-2443 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2552-2558 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2667-2673 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2782-2788 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2925-2931 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3030-3036 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3145-3151 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3260-3266 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3375-3381 \u2014 These 13 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 13 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 13 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1918}}}],"partialFingerprints":{"codehealthFindingId/v1":"b560f68b45dadc3d5e38c0a24fd8972f66728eeaae76599fc349831d29de8b5e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7531-7537 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4017-4023 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2142-2148 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2548-2554 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3919-3925 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4035-4041 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4213-4219 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4435-4441 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4710-4716 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4808-4814 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5027-5033 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3982-3988 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":7531}}}],"partialFingerprints":{"codehealthFindingId/v1":"11d9a3530ef5dfd333cb6f141e2c7b05d785c0d8329168d935a3e3ecb12b4801"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:71-82 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:86-97 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:306-317 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:321-332 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:588-599 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:603-614 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1495-1506 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1510-1521 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1777-1788 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1792-1803 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2050-2061 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2065-2076 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f615f2a934727f3665c8453d5686142a92aef20d740cf74dc34f5be65b43f06"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:978-984 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1071-1077 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1164-1170 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1257-1263 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1506-1512 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1804-1810 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1897-1903 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1968-1974 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2061-2067 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2219-2225 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2397-2403 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2490-2496 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":978}}}],"partialFingerprints":{"codehealthFindingId/v1":"828024c972a1e11ea03f188881a6879b327bdc4dfd18d9f55e23c2ee8e7da0a0"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Audio/mod.rs:69-75 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:182-188 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:476-482 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:603-609 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:803-809 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:898-904 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2223-2229 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3136-3142 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3315-3321 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3817-3823 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4591-4597 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6011-6017 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"362641ae8b685ca0424fec24149318e478a7da25a58d555a1979148a323b1244"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/mod.rs:1303-1313 | crates/libs/windows/src/Windows/Media/mod.rs:1317-1327 | crates/libs/windows/src/Windows/Media/mod.rs:1331-1341 | crates/libs/windows/src/Windows/Media/mod.rs:1345-1355 | crates/libs/windows/src/Windows/Media/mod.rs:1359-1369 | crates/libs/windows/src/Windows/Media/mod.rs:1373-1383 | crates/libs/windows/src/Windows/Media/mod.rs:1387-1397 | crates/libs/windows/src/Windows/Media/mod.rs:1401-1411 | crates/libs/windows/src/Windows/Media/mod.rs:1415-1425 | crates/libs/windows/src/Windows/Media/mod.rs:1429-1439 | crates/libs/windows/src/Windows/Media/mod.rs:1443-1453 | crates/libs/windows/src/Windows/Media/mod.rs:1457-1467 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/mod.rs"},"region":{"startLine":1303}}}],"partialFingerprints":{"codehealthFindingId/v1":"f918ef013f4aaa0476d04d52a1f8edbbb62923c010e3186ae9750e8350a8e272"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:367-373 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:481-487 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:589-595 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:891-897 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1215-1221 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1458-1464 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1809-1815 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1973-1979 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2250-2256 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2435-2441 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2647-2653 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2802-2808 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":367}}}],"partialFingerprints":{"codehealthFindingId/v1":"21bae433252061d2791393d6b9a7793f2763dd7f3658a939e43c17dea9325790"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:378-384 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:492-498 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:600-606 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:902-908 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1226-1232 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1469-1475 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1820-1826 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1984-1990 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2261-2267 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2446-2452 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2658-2664 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2813-2819 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":378}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b8bd26ed7b4a3954fdc2a670d414c76481e4d5f662bfd91a1ebe1ebd1f3b5a5"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:400-406 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:514-520 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:622-628 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:924-930 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1248-1254 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1491-1497 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1842-1848 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2006-2012 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2283-2289 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2468-2474 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2680-2686 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2835-2841 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":400}}}],"partialFingerprints":{"codehealthFindingId/v1":"9208d0e797b642ab3dd7e9eb3c20dce9cc9067a5acd53641d318e03efb2c1af6"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:414-420 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:528-534 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:636-642 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:938-944 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1262-1268 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1505-1511 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1856-1862 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2020-2026 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2297-2303 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2482-2488 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2694-2700 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2849-2855 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":414}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa87d9edb6fb87cc7c74cca4d8c6bf97686176a7d28d018d4a80dce7ae71c6c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:421-427 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:535-541 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:643-649 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:945-951 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1269-1275 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1512-1518 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1863-1869 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2027-2033 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2304-2310 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2489-2495 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2701-2707 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2856-2862 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":421}}}],"partialFingerprints":{"codehealthFindingId/v1":"99b676430c4bea5a23dfd34060638611b3b1da2fc3362eb5a94aa66c27c2b30b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (12 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:429-435 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:543-549 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:651-657 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:953-959 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1277-1283 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1520-1526 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1871-1877 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2035-2041 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2312-2318 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2497-2503 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2709-2715 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2864-2870 \u2014 These 12 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 12 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 12 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":429}}}],"partialFingerprints":{"codehealthFindingId/v1":"01031ec2e12b0b3bf7e8840458975adafe9c114d9c6e927ca464052634e84e44"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (11 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:368-373 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1178-1183 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:170-175 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:436-441 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1820-1825 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3605-3610 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3709-3714 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:216-221 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:328-333 | crates/libs/windows/src/Windows/Web/Http/mod.rs:493-498 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:1226-1231 \u2014 These 11 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 11 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 11 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":368}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bb5bdcd5dd27c752b4671bd50431f0a8e4ccc0d00d859e0339b58c9fc86783a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (11 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1312-1318 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1966-1972 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3460-3466 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:197-203 | crates/libs/windows/src/Windows/Storage/Compression/mod.rs:73-79 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:930-936 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:613-619 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2231-2237 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2500-2506 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2619-2625 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2875-2881 \u2014 These 11 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 11 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 11 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1312}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a53a3a3e481df4ecefbd1bc4e402a062cbfa43341764e9bea9cfe8392449e32"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (11 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:597-603 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:710-716 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:870-876 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:939-945 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1066-1072 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1129-1135 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1198-1204 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1261-1267 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1318-1324 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1649-1655 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:486-492 \u2014 These 11 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 11 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 11 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":597}}}],"partialFingerprints":{"codehealthFindingId/v1":"7db49c8460f56cf85fe9535443c4258443a781e91255ecca76052d2485d8e3cb"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (11 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Audio/mod.rs:50-56 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:163-169 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:457-463 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:584-590 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:784-790 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:879-885 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2204-2210 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3117-3123 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3296-3302 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3798-3804 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4572-4578 \u2014 These 11 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 11 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 11 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"623a80ea65a0dfa52d7d7047f37b7ab386eaba07edde46a18b43c2003508afb7"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (11 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Audio/mod.rs:61-67 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:174-180 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:468-474 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:595-601 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:795-801 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:890-896 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2215-2221 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3128-3134 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3307-3313 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3809-3815 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4583-4589 \u2014 These 11 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 11 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 11 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":61}}}],"partialFingerprints":{"codehealthFindingId/v1":"691cb0b0a7495cf4c316105e2a3e5e9e3f36017cef684c8980ff7f97c2ba7160"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (11 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Audio/mod.rs:76-82 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:189-195 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:483-489 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:610-616 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:810-816 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:905-911 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2230-2236 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3143-3149 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3322-3328 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3824-3830 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4598-4604 \u2014 These 11 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 11 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 11 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"b407f29fdd8a1eb21e82370941a5e5308e7cdac16f847106660e6da9e899d703"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (10 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1415-1421 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:690-696 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:871-877 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:23-29 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:136-142 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:342-348 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1001-1007 | crates/libs/windows/src/Windows/Storage/mod.rs:301-307 | crates/libs/windows/src/Windows/Storage/mod.rs:470-476 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:205-211 \u2014 These 10 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 10 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 10 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1415}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b193acfe659f8eab73e19e2ca430766a54f0eaad14f8a98d30880e824bcc41e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (10 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:383-388 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1193-1198 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:185-190 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:451-456 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1835-1840 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3620-3625 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3724-3729 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:231-236 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:343-348 | crates/libs/windows/src/Windows/Web/Http/mod.rs:508-513 \u2014 These 10 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 10 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 10 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":383}}}],"partialFingerprints":{"codehealthFindingId/v1":"deffb26b10d2fc033ae77ef4ca8e09ed7cb7524dd357ee92ba801693e5315eb8"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (10 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:589-595 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:702-708 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:862-868 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:931-937 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1058-1064 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1121-1127 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1190-1196 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1253-1259 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1310-1316 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1641-1647 \u2014 These 10 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 10 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 10 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":589}}}],"partialFingerprints":{"codehealthFindingId/v1":"3377396ebd0b75b42ceb19cde11907762355cf52e2f1d6579f2e6bff770ddeaa"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (10 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:604-610 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:717-723 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:877-883 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:946-952 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1073-1079 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1136-1142 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1205-1211 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1268-1274 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1325-1331 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1656-1662 \u2014 These 10 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 10 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 10 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":604}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e64c713cc8d3d90b8f18c47a0bac88be666715bcc1077cfe04e240db18627e8"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (10 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2128-2134 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2534-2540 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2777-2783 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3878-3884 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4003-4009 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4199-4205 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4383-4389 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4687-4693 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4794-4800 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4971-4977 \u2014 These 10 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 10 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 10 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2128}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a995cd64ab884673c554f06141eedd36f7b3fcc2c65ba24a6dd00f70d07d2d4"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (10 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2135-2141 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2541-2547 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2784-2790 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3885-3891 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4010-4016 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4206-4212 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4390-4396 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4694-4700 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4801-4807 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4978-4984 \u2014 These 10 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 10 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 10 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2135}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7de02082f639215935461d74b842faf79b01a0e9d737a3bf6f9271b7e730135"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (10 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Core/mod.rs:37-43 | crates/libs/windows/src/Windows/UI/Core/mod.rs:94-100 | crates/libs/windows/src/Windows/UI/Core/mod.rs:161-167 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4895-4901 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4929-4935 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4977-4983 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5079-5085 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5140-5146 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5174-5180 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5208-5214 \u2014 These 10 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 10 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 10 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"2008a92e67b84f358979f30332f8b21fd40aadfcab2864011b2cd876997518ab"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1155-1161 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1285-1291 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1368-1374 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6991-6997 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7126-7132 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7440-7446 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7524-7530 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7670-7676 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7923-7929 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1155}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa9a1fb2f42963193ebd286aa191f76bd5fafb6db7dacd4782d97ce8e88fac59"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1388-1394 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1466-1472 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1591-1597 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7453-7459 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7538-7544 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2919-2925 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3068-3074 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3900-3906 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3989-3995 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1388}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d363c4db1965deaccf97a6da1ba74913d347482c21baa4e1471f78c0fba9f3d"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Core/mod.rs:121-127 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6003-6009 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6083-6089 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7526-7532 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2373-2379 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2450-2456 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2533-2539 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2592-2598 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2947-2953 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"d12684cb474d836f2983d2e65b984f8ff0e5bf920289a58dfa911f1e28e4d44b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Core/mod.rs:1051-1057 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5720-5726 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:121-127 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:285-291 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1363-1369 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2369-2375 | crates/libs/windows/src/Windows/Media/mod.rs:137-143 | crates/libs/windows/src/Windows/Media/mod.rs:2650-2656 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1538-1544 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":1051}}}],"partialFingerprints":{"codehealthFindingId/v1":"5cfa39308961fbfb948880426b0347c0753ff3f3c26225fe44a80becb2c805b6"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2156-2162 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2562-2568 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3933-3939 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4049-4055 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4227-4233 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4449-4455 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4724-4730 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4822-4828 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5041-5047 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2156}}}],"partialFingerprints":{"codehealthFindingId/v1":"f349c079acae98ede459d34c3e3fc29c90f2f70f7dd9f8fb0de9e926f9ef0eae"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2163-2169 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2569-2575 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3940-3946 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4056-4062 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4234-4240 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4456-4462 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4731-4737 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4829-4835 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5048-5054 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2163}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1078d7a7d90cb8fba9475e421e0c3778d52b7b6ad9025cb87b4f7dec427e598"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2174-2180 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2580-2586 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3951-3957 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4067-4073 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4245-4251 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4467-4473 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4742-4748 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4840-4846 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5059-5065 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2174}}}],"partialFingerprints":{"codehealthFindingId/v1":"b385c99eade549ac2156a8476a16dcbc6480844cfc35c10f1b4f31c244334961"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2181-2187 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2587-2593 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3958-3964 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4074-4080 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4252-4258 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4474-4480 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4749-4755 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4847-4853 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5066-5072 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2181}}}],"partialFingerprints":{"codehealthFindingId/v1":"df935b8ddf4538857a51c8d50ff2229774a89503cfb8b6b7c2103fa01d504f16"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2188-2194 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2594-2600 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3965-3971 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4081-4087 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4259-4265 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4481-4487 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4756-4762 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4854-4860 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5073-5079 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2188}}}],"partialFingerprints":{"codehealthFindingId/v1":"891366ae466818e6cf388fff4657c3d25b04b063c2e7ad4ead84c119223a9abb"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2591-2597 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2737-2743 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2824-2830 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3292-3298 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3385-3391 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3450-3456 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3887-3893 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3975-3981 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4129-4135 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":2591}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d4936da940b000b023572d5a9f92b2e2529598554ef14dbc7911fc9264313a7"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:1497-1558 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:35040-35164 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37556-37983 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38530-39019 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40192-41209 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42437-43503 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:44748-45834 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9309-9450 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9535-9636 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs"},"region":{"startLine":1497}}}],"partialFingerprints":{"codehealthFindingId/v1":"0442128832039f8e952b8a3636bfc7c2f7ef55d2ca87ebbccbec0e33d368dfe8"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1098-1122 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1167-1191 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1354-1374 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1443-1506 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1779-1803 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1851-1871 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1925-1956 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2006-2037 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2082-2102 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":1098}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ad85952f4ecf12695f4ac2c1aaf99923ff15a36e2fadee285f0f6ec95fdb018"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3158-3163 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3927-3932 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4799-4804 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5745-5750 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6794-6799 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8369-8374 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9959-9964 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11561-11566 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13178-13183 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":3158}}}],"partialFingerprints":{"codehealthFindingId/v1":"d716bb7bbd09ccd49eae7eea1c148a93c7393c74c6fc53c962099a19147cb426"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3175-3180 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3944-3949 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4816-4821 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5762-5767 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6811-6816 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8386-8391 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9976-9981 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11578-11583 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13195-13200 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":3175}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0899e77e3e4a2f86c593493dcc88ec9422b7ff10397194676ca5c2ab02e8a28"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3312-3317 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4081-4086 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4953-4958 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5899-5904 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6948-6953 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8523-8528 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10113-10118 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11715-11720 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13332-13337 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":3312}}}],"partialFingerprints":{"codehealthFindingId/v1":"007e09d421fa10b150548fee5c7b974892f3d27bdd16cb0f2efd09197072b696"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (9 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3506-3891 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4322-4763 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5234-5709 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6235-6758 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7559-8333 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9142-9923 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10737-11525 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:12347-13142 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13980-14789 \u2014 These 9 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 9 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 9 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":3506}}}],"partialFingerprints":{"codehealthFindingId/v1":"15fad908ff15fe6f1df6a96d82a2297bb6e3f11815581cc07e6342ea88cab28e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1175-1181 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1313-1319 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1404-1410 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7025-7031 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7155-7161 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7469-7475 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7561-7567 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7698-7704 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1175}}}],"partialFingerprints":{"codehealthFindingId/v1":"bcaf6db82e08e280ca28ec3c7d74db634d81ab65cf36842a1513776fa4a29275"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4791-4796 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4922-4927 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1280-1285 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6864-6869 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7967-7972 | crates/libs/windows/src/Windows/Win32/control/mod.rs:22-27 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:481-486 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:776-781 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":4791}}}],"partialFingerprints":{"codehealthFindingId/v1":"719f5af09eaac11fe8e3c199de20abe4298f7ee55d2e0c61b86187bf0efeff59"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1769-1774 | crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs:181-186 | crates/libs/windows/src/Windows/Networking/mod.rs:147-152 | crates/libs/windows/src/Windows/Storage/mod.rs:2772-2777 | crates/libs/windows/src/Windows/UI/Text/mod.rs:604-609 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2013-2018 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2839-2844 | crates/libs/windows/src/Windows/UI/Text/mod.rs:4758-4763 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":1769}}}],"partialFingerprints":{"codehealthFindingId/v1":"45464eea7931c8827b1579ca7bc8d92ca8f3694ab3eeaf007ce37c254b4ad37c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:18-24 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:92-98 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:260-266 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:334-340 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:678-684 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:764-770 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:838-844 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:912-918 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"418358abc82acd9d1e6b8369bfc2fb50179c83950405386a6fae9c77fbef3b5c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:137-143 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:372-378 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:654-660 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:852-858 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1561-1567 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1843-1849 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2116-2122 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1137-1143 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":137}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a554bdbaa5abed8fb233d4b7fbc42ccab91633c1dba4410aa02b827c63cbeb4"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Core/mod.rs:71-77 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6018-6024 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7540-7546 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:57-63 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:271-277 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1313-1319 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2301-2307 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2459-2465 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c5fa7926ae3ac87f3c2b09c6203ca5337519e5183f8a505d84d147fb495764e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Import/mod.rs:893-899 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:197-203 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:774-780 | crates/libs/windows/src/Windows/Storage/mod.rs:1640-1646 | crates/libs/windows/src/Windows/Storage/mod.rs:2180-2186 | crates/libs/windows/src/Windows/Storage/mod.rs:2821-2827 | crates/libs/windows/src/Windows/Storage/mod.rs:4505-4511 | crates/libs/windows/src/Windows/Storage/mod.rs:4937-4943 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Import/mod.rs"},"region":{"startLine":893}}}],"partialFingerprints":{"codehealthFindingId/v1":"182edb4dc76db8fb611917c8463dfe9fbaee2457424b873fcfc088a700312aa4"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:549-555 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1138-1144 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1183-1189 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1221-1227 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1290-1296 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1347-1353 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1410-1416 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1479-1485 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs"},"region":{"startLine":549}}}],"partialFingerprints":{"codehealthFindingId/v1":"95cc67413a5233f5aca77dc26222e161009692f9d559a11bf67ec418165dee5a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:390-396 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:476-482 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:556-562 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:636-642 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:710-716 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:859-865 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:957-963 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1066-1072 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"c02a781b66df70e89f4dbff5f684c4aae5dd4a0e0ee114553f243b165dacebaa"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:397-403 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:483-489 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:563-569 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:643-649 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:717-723 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:866-872 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:964-970 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1073-1079 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":397}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e6e4de9d52c35578f8584414092532ef730a0a2b49cd41d64f5a6c61c9a2d37"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:404-410 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:490-496 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:570-576 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:650-656 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:724-730 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:873-879 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:971-977 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1080-1086 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":404}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2ff65c851de0068c87431f4f20fe6f9a16d1efbd328fe2375861793ee54c5e2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:411-417 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:497-503 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:577-583 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:657-663 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:731-737 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:880-886 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:978-984 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1087-1093 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":411}}}],"partialFingerprints":{"codehealthFindingId/v1":"033fd692b9bae0c3521eddcfb5b77f4ea11f383233b9bb25fd06f9c33edd68a2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:418-424 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:504-510 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:584-590 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:664-670 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:738-744 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:887-893 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:985-991 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1094-1100 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":418}}}],"partialFingerprints":{"codehealthFindingId/v1":"05ec90a1d999c3bb656eefc3236d9ed8b8ab6c70e4b0a3c26f932043d8c75b66"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:425-431 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:511-517 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:591-597 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:671-677 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:745-751 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:894-900 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:992-998 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1101-1107 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":425}}}],"partialFingerprints":{"codehealthFindingId/v1":"33711c31e574b7ef5faea08c6cbf2dbf28857409fd180c31e4987aedbd9a0901"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:432-438 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:518-524 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:598-604 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:678-684 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:752-758 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:901-907 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:999-1005 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1108-1114 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":432}}}],"partialFingerprints":{"codehealthFindingId/v1":"494b20c5f71733af3708ad9419b5b35fe3b62d834cc7a56fad6d1522013660dc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4276-4319 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4656-4699 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4866-4909 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5028-5054 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5245-5288 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5459-5567 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6625-6668 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:785-811 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":4276}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8c2e05029ff23dee3f9a99bb4fb81a9a605a3f53c6a5532f17bff9ee455a003"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12810-12841 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12891-12922 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13085-13116 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13169-13200 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13334-13365 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13418-13449 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13499-13530 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13706-13737 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":12810}}}],"partialFingerprints":{"codehealthFindingId/v1":"c650c50621b5225c13e5342ca7919a81264ed19d92aa2be1d2252ea5fffe2e6c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (8 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3033-3038 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3161-3166 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3231-3236 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3325-3330 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3374-3379 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3452-3457 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3501-3506 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3550-3555 \u2014 These 8 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 8 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 8 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":3033}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fd506729701a43f52760ece672611a2d0ba261df9901e35201df2f568f02c2b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1298-1304 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4137-4143 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5113-5119 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5269-5275 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7133-7139 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2750-2756 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3457-3463 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1298}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab438164db0eb4673008c3f3c29307f114a8f4f509cf6a49e9037fb63e6059c3"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1305-1311 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4144-4150 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5120-5126 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5276-5282 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7140-7146 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2757-2763 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3464-3470 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1305}}}],"partialFingerprints":{"codehealthFindingId/v1":"761625402373b0c0c5189dfa895d5417ca44791910c62ce3e52a714a1bd1b033"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1285-1291 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1939-1945 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3433-3439 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:170-176 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:32-38 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:903-909 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2473-2479 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1285}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e3d89facdf7d7203961d420fd1bab78db69abd13c3882005e451e2c48d5b722"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1695-1706 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1829-1840 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2229-2240 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2499-2510 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2666-2677 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2303-2314 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3854-3865 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1695}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c84599bbb9274f8f97de54dd92f991ba20ac5f8c8e6a213946b658e33389810"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:95-101 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:812-818 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1024-1030 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1304-1310 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4584-4590 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4847-4853 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5140-5146 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sensors/mod.rs"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"d36fcff4b7a0b65030e5f5b9f1732c381642ac74d4c3c88ded91f3caee5a9ab2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:168-174 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:745-751 | crates/libs/windows/src/Windows/Storage/mod.rs:1611-1617 | crates/libs/windows/src/Windows/Storage/mod.rs:2151-2157 | crates/libs/windows/src/Windows/Storage/mod.rs:2792-2798 | crates/libs/windows/src/Windows/Storage/mod.rs:4476-4482 | crates/libs/windows/src/Windows/Storage/mod.rs:4908-4914 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":168}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d705a43cb87f08afe3888538143e1b2acc33e528013eea8c7c08fb2e84a11f6"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:175-181 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:752-758 | crates/libs/windows/src/Windows/Storage/mod.rs:1618-1624 | crates/libs/windows/src/Windows/Storage/mod.rs:2158-2164 | crates/libs/windows/src/Windows/Storage/mod.rs:2799-2805 | crates/libs/windows/src/Windows/Storage/mod.rs:4483-4489 | crates/libs/windows/src/Windows/Storage/mod.rs:4915-4921 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":175}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1f0a6c8766e1e418b7f8e575ed17800e809121274c792eb9692ce0411890cfe"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:183-189 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:760-766 | crates/libs/windows/src/Windows/Storage/mod.rs:1626-1632 | crates/libs/windows/src/Windows/Storage/mod.rs:2166-2172 | crates/libs/windows/src/Windows/Storage/mod.rs:2807-2813 | crates/libs/windows/src/Windows/Storage/mod.rs:4491-4497 | crates/libs/windows/src/Windows/Storage/mod.rs:4923-4929 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":183}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9c29191fc971dd49347361129e8dfba0d99f59f7e72c6271a93682a5d65e66e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6108-6122 | crates/libs/windows/src/Windows/Win32/certexit/mod.rs:138-152 | crates/libs/windows/src/Windows/Win32/certpol/mod.rs:140-154 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:2026-2040 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:16132-16146 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:2523-2537 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6487-6501 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":6108}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c0cb014f58c449fbbd6cdfcdb4770e129639759c7f7f057e4478b6d3ee129bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4974-5069 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7859-7941 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8100-8143 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9473-9516 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10651-10800 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3136-3253 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8723-8814 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":4974}}}],"partialFingerprints":{"codehealthFindingId/v1":"7de1cce010e3ad099d4c5f98baa4d67d72a241f56a1f7a94e2234086c568833b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6152-6166 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6208-6222 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6264-6278 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6320-6334 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6376-6390 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6432-6446 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6488-6502 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":6152}}}],"partialFingerprints":{"codehealthFindingId/v1":"6747261f58dff05c15a556e417202cffbe6c4813394fd4122fcb8e5c8361d028"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5045-5050 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5991-5996 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7040-7045 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8615-8620 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10205-10210 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11807-11812 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13424-13429 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":5045}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fefe1cc6c6485b0554a18027d67b2ed8b20a7613ae0c1a25a76e2680da3f1bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:14911-14916 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16546-16551 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18340-18345 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20382-20387 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23330-23335 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26359-26364 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29429-29434 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":14911}}}],"partialFingerprints":{"codehealthFindingId/v1":"aac2cec50da5dc9db3eb87b10bcfef4476b7f57e2fcd9faba1f3659bc132d77b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15135-15140 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16770-16775 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18564-18569 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20606-20611 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23554-23559 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26583-26588 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29653-29658 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15135}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a2eca507619861dc4b6286c0c106932c40b48cd7bf0ea8972099b20b0ac8acc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15141-15146 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16776-16781 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18570-18575 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20612-20617 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23560-23565 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26589-26594 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29659-29664 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15141}}}],"partialFingerprints":{"codehealthFindingId/v1":"9dd56a3d1a4434fe7af83905e57aa03b49e8ba51464fa10abcc3ef38ec16545c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15151-15156 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16786-16791 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18580-18585 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20622-20627 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23570-23575 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26599-26604 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29669-29674 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15151}}}],"partialFingerprints":{"codehealthFindingId/v1":"d981644c34f8b5960e73166f8558e2a1c924d82762e2fb110db27a5a41abf0d0"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15167-15172 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16802-16807 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18596-18601 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20638-20643 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23586-23591 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26615-26620 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29685-29690 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15167}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ebdb25e36657702f156dea8f90074c6e23035e05176e3f6d5ce649337f6cf19"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15180-15185 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16815-16820 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18609-18614 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20651-20656 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23599-23604 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26628-26633 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29698-29703 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15180}}}],"partialFingerprints":{"codehealthFindingId/v1":"c29ca906a45be323d321be8c80b53038867e2dfdcdd041ebb6e6faadddcbabec"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (7 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15197-15202 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16832-16837 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18626-18631 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20668-20673 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23616-23621 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26645-26650 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29715-29720 \u2014 These 7 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 7 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 7 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15197}}}],"partialFingerprints":{"codehealthFindingId/v1":"99f22a33423b22a067d03c2903e1123f9fd0c45a3671e2c7d3b28e83cd45f348"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/collections/src/bindings.rs:654-664 | crates/libs/collections/src/bindings.rs:1147-1157 | crates/libs/collections/src/bindings.rs:1407-1417 | crates/libs/collections/src/bindings.rs:1680-1690 | crates/libs/collections/src/bindings.rs:2109-2119 | crates/libs/collections/src/bindings.rs:2659-2669 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":654}}}],"partialFingerprints":{"codehealthFindingId/v1":"87df76b3cbf647f02638a3ea611bcb25687f7d7c6488e854253eb7da65a08505"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/future/src/bindings.rs:841-884 | crates/libs/future/src/bindings.rs:1080-1179 | crates/libs/future/src/bindings.rs:1515-1583 | crates/libs/future/src/bindings.rs:1812-1931 | crates/libs/reactor/src/native/winui/bindings.rs:5316-5336 | crates/libs/reactor/src/native/winui/bindings.rs:9147-9187 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":841}}}],"partialFingerprints":{"codehealthFindingId/v1":"6484271dc58222b4d10f7c7aaa21b9c1c5f5b5bda1d2102f03287d4cfa25e463"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/reactor/src/native/winui/bindings.rs:485-494 | crates/libs/reactor/src/native/winui/bindings.rs:1273-1282 | crates/libs/reactor/src/native/winui/bindings.rs:1942-1951 | crates/libs/reactor/src/native/winui/bindings.rs:24819-24828 | crates/libs/reactor/src/native/winui/bindings.rs:26512-26521 | crates/libs/reactor/src/native/winui/bindings.rs:29101-29110 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":485}}}],"partialFingerprints":{"codehealthFindingId/v1":"e17a7114432adbe2434bbea0222fc9a6c266d7009f8960ee1be09be5b65e5712"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/reactor/src/native/winui/bindings.rs:2304-2313 | crates/libs/reactor/src/native/winui/bindings.rs:22454-22463 | crates/libs/reactor/src/native/winui/bindings.rs:23668-23677 | crates/libs/reactor/src/native/winui/bindings.rs:25061-25070 | crates/libs/reactor/src/native/winui/bindings.rs:28763-28772 | crates/libs/reactor/src/native/winui/bindings.rs:29533-29542 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":2304}}}],"partialFingerprints":{"codehealthFindingId/v1":"94e78cd5fe7638e7d63b1dd75b421292ea074a6a4939e15bc212ccc6a7fb313a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/reactor/src/native/winui/bindings.rs:11261-11270 | crates/libs/reactor/src/native/winui/bindings.rs:12004-12013 | crates/libs/reactor/src/native/winui/bindings.rs:12063-12072 | crates/libs/reactor/src/native/winui/bindings.rs:12135-12144 | crates/libs/reactor/src/native/winui/bindings.rs:12354-12363 | crates/libs/reactor/src/native/winui/bindings.rs:16395-16404 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":11261}}}],"partialFingerprints":{"codehealthFindingId/v1":"48e9fe88f3c75f5e149bc8db1eb8dd2ff84c7cc251f62e77355e27914688209f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/reactor/src/native/winui/bindings.rs:21849-21924 | crates/libs/windows/src/Windows/Foundation/mod.rs:1423-1443 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:71-116 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:157-191 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1004-1020 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2620-2691 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":21849}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b726c8f3e063acc576f66e56cb6785b6bece83a8312fa82a66eb5bd82083fa1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1598-1604 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:654-660 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:836-842 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:278-284 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:485-491 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3075-3081 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1598}}}],"partialFingerprints":{"codehealthFindingId/v1":"49870c274da20ad27b9cc3839dbe59eaae54ac5d96edad649f27404733c074f9"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6060-6092 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:92-138 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2645-2711 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1941-1972 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:367-448 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:102-169 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6060}}}],"partialFingerprints":{"codehealthFindingId/v1":"659bfbade249d28de6d5f908ddd2dba19b0c2d1814d01b58c883b1ecfa30a02a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:486-492 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:613-619 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:234-240 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2414-2420 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1960-1966 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2955-2961 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":486}}}],"partialFingerprints":{"codehealthFindingId/v1":"b68425f193316f12bca3ca2d552e4642085fdee96144022d751f628f48cd984b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1222-1227 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2375-2380 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2858-2863 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2154-2159 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:478-483 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:784-789 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1222}}}],"partialFingerprints":{"codehealthFindingId/v1":"a663ca44286cfe85e3e97cd98906a9521b0d9cdd7e7a631856f9e36a4e48c026"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2584-2590 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2696-2702 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:142-148 | crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs:191-197 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1722-1728 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1579-1585 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2584}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd2e352b1fde0077151f200ea99503264d678a2f7c7a0d2a142f7785d4ab15fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1330-1336 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1984-1990 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3478-3484 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:215-221 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:948-954 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2518-2524 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1330}}}],"partialFingerprints":{"codehealthFindingId/v1":"5de013104d453790540bdb72c800593b82e65e9f43e26748078ca6616089b1f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1337-1343 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1991-1997 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3485-3491 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:222-228 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:955-961 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2525-2531 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1337}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ad14701e5bfcccb7ee26d8288dd5606492f6bcce1a75887faf6d7c6b5f312b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1355-1361 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2009-2015 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3503-3509 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:240-246 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:973-979 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2543-2549 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1355}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d796f19f9bded5eb7bc3c75f83511b8f7466bf5d4eeb289032a0791f73bf8a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Input/mod.rs:521-527 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3277-3283 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3502-3508 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3708-3714 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3777-3783 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3847-3853 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Input/mod.rs"},"region":{"startLine":521}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5c876412d28a73e337adeff09adc017f1279a11ad6fea52481f579ddabf7cb1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:754-764 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2366-2376 | crates/libs/windows/src/Windows/Gaming/UI/mod.rs:168-178 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:270-280 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2230-2240 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2627-2637 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":754}}}],"partialFingerprints":{"codehealthFindingId/v1":"825f0b83ceb14a9c36ea2d91d47fa6d6f29bf075550a83fea8663e6f394b63aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1358-1364 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1530-1536 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2560-2566 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2788-2794 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2920-2926 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2998-3004 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":1358}}}],"partialFingerprints":{"codehealthFindingId/v1":"375202bb566b1a58ed2686d4f659034e3ed5e3af95b93fe0b52f8fedfe50d0c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1372-1378 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1544-1550 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2574-2580 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2802-2808 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2934-2940 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3012-3018 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":1372}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ad663a466f128917ebff51f3ede7b301056345b002633e77e3db9115e7fb64a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1379-1385 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1551-1557 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2581-2587 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2809-2815 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2941-2947 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3019-3025 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":1379}}}],"partialFingerprints":{"codehealthFindingId/v1":"528352a6ea6356fa789c88ecf33310c974d80e08058b32002799253f48f8ec58"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1386-1392 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1558-1564 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2588-2594 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2816-2822 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2948-2954 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3026-3032 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":1386}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca6dc3121181b24fca766ecb88ce1449c7d0f3dc19541b74e7355b25217247d4"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:102-113 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:337-348 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:619-630 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1526-1537 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1808-1819 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2081-2092 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"02ed1e5b35a79dbb196946a7706b1ae60be288804d566fdfe5ac7cf05f17edba"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:114-120 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:349-355 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:631-637 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1538-1544 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1820-1826 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2093-2099 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":114}}}],"partialFingerprints":{"codehealthFindingId/v1":"95ff5ebf0a8c1c8d69d18126802616be2b24572390ffd55b0c79e3f5f61ca0b4"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:121-127 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:356-362 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:638-644 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1545-1551 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1827-1833 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2100-2106 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"fad581feb25dfe69bd37323a6fc037ac6dacbfb6236a561d61966dcaf2bd7a7e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:759-765 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:897-903 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1150-1156 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1237-1243 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1920-1926 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2915-2921 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs"},"region":{"startLine":759}}}],"partialFingerprints":{"codehealthFindingId/v1":"85b1b40c8a8588bf0dd255af1f4dd922be25eac055c48de0521042132e6e8ad7"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:194-200 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:624-630 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1833-1839 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2413-2419 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3944-3950 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:129-135 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"2438f476f5157f82dc44018bd9e6a5213eeab8cffa94acf58187728aee965653"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:210-216 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:640-646 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1849-1855 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2429-2435 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3960-3966 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:145-151 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":210}}}],"partialFingerprints":{"codehealthFindingId/v1":"97df9c47c3ac3ae7930b9fb1a62cdced1922f881f1414734923b55c22d0ece66"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:236-242 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:666-672 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:958-964 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2307-2313 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1931-1937 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2926-2932 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":236}}}],"partialFingerprints":{"codehealthFindingId/v1":"54b3a425f36880fdf009a984e0e68b6db7da056b3fe1cfecbd5784afc44486ac"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:314-320 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:890-896 | crates/libs/windows/src/Windows/Storage/mod.rs:3138-3144 | crates/libs/windows/src/Windows/Storage/mod.rs:3286-3292 | crates/libs/windows/src/Windows/Storage/mod.rs:4552-4558 | crates/libs/windows/src/Windows/Storage/mod.rs:4983-4989 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":314}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d8b902c90eeb7a865b4354fabfffe365803f611156a9bf24657b1cf3ddd1cfd"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:322-328 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:898-904 | crates/libs/windows/src/Windows/Storage/mod.rs:3146-3152 | crates/libs/windows/src/Windows/Storage/mod.rs:3294-3300 | crates/libs/windows/src/Windows/Storage/mod.rs:4560-4566 | crates/libs/windows/src/Windows/Storage/mod.rs:4991-4997 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":322}}}],"partialFingerprints":{"codehealthFindingId/v1":"87788ed030cc16ea6334e65b03061cf2458a5542191bc1203aeb99da6a8f0fdb"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:330-336 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:906-912 | crates/libs/windows/src/Windows/Storage/mod.rs:3154-3160 | crates/libs/windows/src/Windows/Storage/mod.rs:3302-3308 | crates/libs/windows/src/Windows/Storage/mod.rs:4568-4574 | crates/libs/windows/src/Windows/Storage/mod.rs:4999-5005 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":330}}}],"partialFingerprints":{"codehealthFindingId/v1":"e734e5cdc5a64698b4e274d93011489ec8bff47a6a79ce1cbfd010983579e329"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:344-350 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:920-926 | crates/libs/windows/src/Windows/Storage/mod.rs:3168-3174 | crates/libs/windows/src/Windows/Storage/mod.rs:3316-3322 | crates/libs/windows/src/Windows/Storage/mod.rs:4582-4588 | crates/libs/windows/src/Windows/Storage/mod.rs:5013-5019 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":344}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d1370e8cf63c1d2cc2270928e7b0845de020511abd284e1a5b098d4edd3b84e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:351-357 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:927-933 | crates/libs/windows/src/Windows/Storage/mod.rs:3175-3181 | crates/libs/windows/src/Windows/Storage/mod.rs:3323-3329 | crates/libs/windows/src/Windows/Storage/mod.rs:4589-4595 | crates/libs/windows/src/Windows/Storage/mod.rs:5020-5026 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":351}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5f0f04129a32986f93002ba9214603fdb28ec5ac1d35393d17a3f6395092f3d"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:45-51 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:119-125 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:564-570 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:731-737 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:871-877 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1159-1165 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"41de658842402bd75ba90beaaeaf552ab45f42f3e31905763a411fe1295c305c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/Search/mod.rs:1675-1686 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1690-1701 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1772-1783 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1787-1798 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1869-1880 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1884-1895 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Search/mod.rs"},"region":{"startLine":1675}}}],"partialFingerprints":{"codehealthFindingId/v1":"d561cee6db35b6a9e9b89afd71fd1f49e76025894facb5ac6139d96ec589cf24"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Core/mod.rs:1029-1040 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1044-1055 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1059-1070 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1307-1318 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1322-1333 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1337-1348 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1029}}}],"partialFingerprints":{"codehealthFindingId/v1":"80657c371d228feaeb2475b3d186fec5a9dc0ff5d65574983e4b2cb203bf0ade"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Core/mod.rs:1515-1525 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1529-1539 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3518-3528 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3532-3542 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2172-2182 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2187-2197 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1515}}}],"partialFingerprints":{"codehealthFindingId/v1":"d593ba729b5d7ca6e58c6905aaeab5205bcd6bb02acf4c98083a1fb87d021af3"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (6 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dinput/mod.rs:3027-3094 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:3181-3248 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:3619-3826 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:4059-4266 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:4382-4491 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:4607-4716 \u2014 These 6 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 6 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 6 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dinput/mod.rs"},"region":{"startLine":3027}}}],"partialFingerprints":{"codehealthFindingId/v1":"7aba5b8666ba3937536fc7b61705ccec2dd0484cf1eb71c08157224a85a6c5e8"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/collections/src/bindings.rs:711-868 | crates/libs/collections/src/bindings.rs:1201-1298 | crates/libs/collections/src/bindings.rs:2165-2407 | crates/libs/collections/src/bindings.rs:2512-2557 | crates/libs/collections/src/bindings.rs:2704-2811 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":711}}}],"partialFingerprints":{"codehealthFindingId/v1":"c871370661186787e280a68bc9f7b4635fdb63f55070a699a084203c22bc21bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/reactor/src/core/pump/planner/view.rs:1350-1401 | crates/libs/reactor/src/core/pump/planner/view.rs:1410-1438 | crates/libs/reactor/src/core/pump/planner/view.rs:1448-1498 | crates/libs/reactor/src/core/pump/planner/view.rs:1507-1535 | crates/libs/reactor/src/core/pump/planner/view.rs:1544-1714 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1350}}}],"partialFingerprints":{"codehealthFindingId/v1":"c04bb9c6de9eb28256c7cf57d9aabeb2d508efd97bf4140492a268535aab6bac"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/reactor/src/native/winui/bindings.rs:5582-5591 | crates/libs/reactor/src/native/winui/bindings.rs:12534-12543 | crates/libs/reactor/src/native/winui/bindings.rs:13090-13099 | crates/libs/reactor/src/native/winui/bindings.rs:16299-16308 | crates/libs/reactor/src/native/winui/bindings.rs:16405-16414 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":5582}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e3275bad6809fe480fb6ba89f8807f80819326f31fd50196138d5bca643495d"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/reactor/src/native/winui/bindings.rs:22372-22381 | crates/libs/reactor/src/native/winui/bindings.rs:24556-24565 | crates/libs/reactor/src/native/winui/bindings.rs:25521-25530 | crates/libs/reactor/src/native/winui/bindings.rs:25789-25798 | crates/libs/reactor/src/native/winui/bindings.rs:25975-25984 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":22372}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdfdb64d005a8f9f9d3ecb578768f6ecd240cb4498bb3bac168969d2145e6aae"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7461-7467 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7546-7552 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2966-2972 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3908-3914 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3997-4003 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":7461}}}],"partialFingerprints":{"codehealthFindingId/v1":"a223b5186846983f4225720f2f59d818daae434f05623a6b60c91bcd7f241424"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:295-300 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:288-293 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:360-365 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:582-587 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1113-1118 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs"},"region":{"startLine":295}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e42590adfeddb5a23c1ce9d728cbc6c948a15539a5c419496e4205452eda885"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:390-396 | crates/libs/windows/src/Windows/UI/Core/mod.rs:562-568 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1019-1025 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1737-1743 | crates/libs/windows/src/Windows/UI/Input/Core/mod.rs:63-69 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"197c27b423db16ccea318af0cbab1209643beec7a9261ef6647c37d2d95f2234"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:1020-1026 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1124-1130 | crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs:249-255 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:357-363 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1161-1167 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":1020}}}],"partialFingerprints":{"codehealthFindingId/v1":"6276c7d53c0b2c6d4f145cc60f0e678b6af35f0bbedeb1adaf75df8a96371a23"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:370-376 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:518-524 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:599-605 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:674-680 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:895-901 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs"},"region":{"startLine":370}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8a9fa2aef9781f36f3fdf609363b6eb0bae58fe3d95b5ff9a5a9847f1b8f525"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:46-52 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:67-73 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:299-305 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1685-1691 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1903-1909 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"7328ab6dd52855c7a3220760f61e886484688f3acd8cc756d2bf80af9d560949"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:53-59 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:74-80 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:306-312 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1692-1698 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1910-1916 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"a578a417d550e6062fc8f4e3c899cf6a3275cea70a403ae5c75f26043efa2fd5"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:60-66 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:81-87 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:313-319 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1699-1705 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1917-1923 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"4dfe31f7e80f5c16819e7d24e489436f74ba1c19e1b2db40e08ffdfd894424a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Graphics/Display/mod.rs:860-870 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:886-896 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:906-916 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:927-937 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:941-951 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Display/mod.rs"},"region":{"startLine":860}}}],"partialFingerprints":{"codehealthFindingId/v1":"4dd60753e7cd239d5e5f18213fd944c11b3302664282afdadd63d31dab62082c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Audio/mod.rs:14-20 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:421-427 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:748-754 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3267-3273 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4536-4542 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae675bb2f3bc5c5e7d28635047512686720783f204471061e97c50b73be649d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Audio/mod.rs:42-48 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:449-455 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:776-782 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2196-2202 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4564-4570 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"306c49f8b5ad0ced77cd68d7c0293613b5b1e526adf917247bcd6fae3ebc1084"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Capture/mod.rs:7552-7558 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:132-138 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:296-302 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1374-1380 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2380-2386 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/mod.rs"},"region":{"startLine":7552}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d063862396a5d9e3210cca426776f6992e859ff67f722e61e06052b04c1de9b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Core/mod.rs:327-333 | crates/libs/windows/src/Windows/Media/Core/mod.rs:841-847 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3585-3591 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5878-5884 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6375-6381 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":327}}}],"partialFingerprints":{"codehealthFindingId/v1":"42ada20b2dc2da96fb0a05d24ca7c8c92880f5eb7f3d7e569cbcbffa15883d6b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Core/mod.rs:338-344 | crates/libs/windows/src/Windows/Media/Core/mod.rs:852-858 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3596-3602 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5889-5895 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6386-6392 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":338}}}],"partialFingerprints":{"codehealthFindingId/v1":"67d9275f0d004b6501e8a43c315a613343696f7e7915a345d7da2ae8dfa53c99"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Devices/mod.rs:1050-1055 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1114-1119 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1311-1316 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3843-3848 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4486-4491 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/mod.rs"},"region":{"startLine":1050}}}],"partialFingerprints":{"codehealthFindingId/v1":"787dacba8a1b7c5edb1eadf88c7369ab77cdd866e0abc6bff9ef439fd40cff8e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2384-2390 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2461-2467 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2544-2550 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2603-2609 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2958-2964 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":2384}}}],"partialFingerprints":{"codehealthFindingId/v1":"59fd062b881c6ff0494cd71078cfb8e78042ee82fb99a22f035a734e8df5eb34"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2395-2401 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2472-2478 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2555-2561 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2614-2620 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2969-2975 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":2395}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b9cfb185507704e29f76a53c398cacb9f727594132a0cced085e86b8e4695aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:236-242 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:812-818 | crates/libs/windows/src/Windows/Storage/mod.rs:4544-4550 | crates/libs/windows/src/Windows/Storage/mod.rs:4975-4981 | crates/libs/windows/src/Windows/UI/Text/mod.rs:3858-3864 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":236}}}],"partialFingerprints":{"codehealthFindingId/v1":"5aebec03e4aada452580ac0946578b4b343a961abd0ca3f186fff03994206460"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/mod.rs:1647-1653 | crates/libs/windows/src/Windows/Storage/mod.rs:2187-2193 | crates/libs/windows/src/Windows/Storage/mod.rs:2828-2834 | crates/libs/windows/src/Windows/Storage/mod.rs:4512-4518 | crates/libs/windows/src/Windows/Storage/mod.rs:4944-4950 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":1647}}}],"partialFingerprints":{"codehealthFindingId/v1":"238e9b8619a681f85bd1be311b906178abefcd867aab4b249936d0471fa1b0ba"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/mod.rs:1654-1660 | crates/libs/windows/src/Windows/Storage/mod.rs:2194-2200 | crates/libs/windows/src/Windows/Storage/mod.rs:2835-2841 | crates/libs/windows/src/Windows/Storage/mod.rs:4519-4525 | crates/libs/windows/src/Windows/Storage/mod.rs:4951-4957 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":1654}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1f5020c116ae0f560c798781f44be9351ab38792e1956ac1cdbcf67fa257cdc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/mod.rs:1661-1667 | crates/libs/windows/src/Windows/Storage/mod.rs:2201-2207 | crates/libs/windows/src/Windows/Storage/mod.rs:2842-2848 | crates/libs/windows/src/Windows/Storage/mod.rs:4526-4532 | crates/libs/windows/src/Windows/Storage/mod.rs:4958-4964 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":1661}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6bce4ff70a8c69aa1477374ee9aadb7dd1d8636e003f2419addfbf244c43c35"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/System/Power/mod.rs:272-282 | crates/libs/windows/src/Windows/System/Power/mod.rs:292-302 | crates/libs/windows/src/Windows/System/Power/mod.rs:312-322 | crates/libs/windows/src/Windows/System/Power/mod.rs:332-342 | crates/libs/windows/src/Windows/System/Power/mod.rs:352-362 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Power/mod.rs"},"region":{"startLine":272}}}],"partialFingerprints":{"codehealthFindingId/v1":"9010781e6174af1001a009a4ac931f2f5bd3ecf4b9d0986ae8072340f96857dc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Core/mod.rs:349-359 | crates/libs/windows/src/Windows/UI/Core/mod.rs:866-876 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1501-1511 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2468-2478 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3504-3514 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":349}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc3523806e16f810d497a58cb51092cd194585e5f19b0db86164c8e7d51eb817"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:316-326 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:330-340 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:344-354 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:358-368 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:372-382 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs"},"region":{"startLine":316}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cb0f432b000e7793e1cd70c1087f28b0ac7f88521f4124834f819ee4167acef"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:855-865 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:297-307 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:353-363 | crates/libs/windows/src/Windows/Web/UI/mod.rs:184-194 | crates/libs/windows/src/Windows/Web/UI/mod.rs:240-250 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs"},"region":{"startLine":855}}}],"partialFingerprints":{"codehealthFindingId/v1":"7385d35b0b1069111f15ed1d53155cd95fbece036b4bd754afd54ab7a94622b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1272-1282 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1286-1296 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1300-1310 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1314-1324 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1328-1338 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs"},"region":{"startLine":1272}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cfc9ef2722d9e4ac1c8c30939b183636d94de0680e93fd31678dece986ced57"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5653-5683 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7213-7279 | crates/libs/windows/src/Windows/Win32/gameux/mod.rs:50-88 | crates/libs/windows/src/Windows/Win32/gameux/mod.rs:134-165 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:1369-1426 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":5653}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed44462554a480fd61f07ca82f27b1512e0a4fc042b928a99506cc226f9b8f3a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3184-3215 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3344-3358 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3471-3485 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3520-3534 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3569-3583 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":3184}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b3e71b7ee7885a56e18972824e6651ea3673941ddf02d9edc9614a06f36641b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7584-7616 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8725-8743 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10788-10820 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12439-12457 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3875-4877 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7584}}}],"partialFingerprints":{"codehealthFindingId/v1":"042e0159703b48a6373216f1ab921f65b834d368a42f9f5f75659dd5f6e6e41a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7122-7127 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8697-8702 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10287-10292 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11889-11894 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13506-13511 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":7122}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc2303eaff328346898f7707beb37e69fda295b32522b6f78dfbcc9aab695e81"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7220-7225 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8795-8800 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10385-10390 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11987-11992 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13604-13609 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":7220}}}],"partialFingerprints":{"codehealthFindingId/v1":"73cbee9a2035054f6cec8ada59d477c52025283e4d8e45f33ec4e7d20d2e1990"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7230-7235 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8805-8810 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10395-10400 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11997-12002 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13614-13619 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":7230}}}],"partialFingerprints":{"codehealthFindingId/v1":"49523c27a9d47845354fed23970c8f6c60b6ca446fc32b350cf8011a16f6ba00"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37109-37114 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38017-38022 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39053-39058 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41243-41248 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43537-43542 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37109}}}],"partialFingerprints":{"codehealthFindingId/v1":"29d4036101c15c7bafc3d623a08858e7ec81d933359a0957eb3ab866af4223ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37127-37132 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38035-38040 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39071-39076 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41261-41266 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43555-43560 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37127}}}],"partialFingerprints":{"codehealthFindingId/v1":"f15d62524f5d8d5b18c9884f9dce5c4870f9f27c3465824d90f6fa0502d62f4f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37167-37172 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38075-38080 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39111-39116 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41301-41306 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43595-43600 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37167}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbabc75b373d2b6e25c88bdf85bac1f6ce2c1a78abf9cd09a8d6153e666d3c63"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37181-37186 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38089-38094 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39125-39130 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41315-41320 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43609-43614 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37181}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f000d32e042151d1b27721f18736943bd60bc4c2e34db9a1661afbf6d9640e0"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37198-37203 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38106-38111 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39142-39147 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41332-41337 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43626-43631 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37198}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4175e2529d932c5a766c7c0a7dc99ba651580494ecb7adfade3196091f93b24"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37266-37271 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38174-38179 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39210-39215 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41400-41405 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43694-43699 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37266}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d631115108abaf8cc1239fbc340eb6152b751517452e8944022989a11c830ca"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:3366-3371 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:3909-3914 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:4488-4493 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:5083-5088 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:5750-5755 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ddraw/mod.rs"},"region":{"startLine":3366}}}],"partialFingerprints":{"codehealthFindingId/v1":"265073656802a1ab8d567238092b7fdc8fec1eae8139f51c5a7b6f26ba36b17a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:3592-3851 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:4150-4430 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:4738-5025 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:5370-5692 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:6065-6415 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ddraw/mod.rs"},"region":{"startLine":3592}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cb42322414e4efc8fe1c530a0d3e063933eeb85cf5a370ab044c609f38ad609"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (5 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2349-2367 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2395-2413 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2441-2459 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2487-2505 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2533-2551 \u2014 These 5 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 5 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dsound/mod.rs"},"region":{"startLine":2349}}}],"partialFingerprints":{"codehealthFindingId/v1":"34d89ef257735a39e267d9fef1b699223ffdebaa6d258ed22bd4e06f24a56448"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/composition/src/bindings.rs:1226-1235 | crates/libs/composition/src/bindings.rs:2602-2611 | crates/libs/composition/src/bindings_lifted.rs:1108-1117 | crates/libs/composition/src/bindings_lifted.rs:2415-2424 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1226}}}],"partialFingerprints":{"codehealthFindingId/v1":"62ba3f261a42557667ca846141a8dc258c1a91b9042a2f9bd36b2e865a91106b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/composition/src/bindings.rs:2350-2359 | crates/libs/composition/src/bindings_lifted.rs:2025-2034 | crates/libs/reactor/src/native/winui/bindings.rs:13550-13559 | crates/libs/reactor/src/native/winui/bindings.rs:19882-19891 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2350}}}],"partialFingerprints":{"codehealthFindingId/v1":"638752f11ef3792fef9f4a90bd2987e39f97aad79d3468181da1d75c10855b39"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/composition/src/bindings.rs:3358-3368 | crates/libs/composition/src/bindings_lifted.rs:3171-3181 | crates/libs/reactor/src/native/winui/bindings.rs:30240-30250 | crates/libs/windows/src/Windows/Foundation/mod.rs:2095-2100 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":3358}}}],"partialFingerprints":{"codehealthFindingId/v1":"082370b6c9d391c5d9260c7281b4e39d521bff1808af8229388494e552863ee1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/future/src/bindings.rs:761-770 | crates/libs/future/src/bindings.rs:980-989 | crates/libs/future/src/bindings.rs:1426-1435 | crates/libs/future/src/bindings.rs:1700-1709 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":761}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e8ec57190006eb834bedd9945b22e22f9eeac38e31312be513d7734e69184c7"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/future/src/bindings.rs:779-789 | crates/libs/future/src/bindings.rs:998-1008 | crates/libs/future/src/bindings.rs:1446-1456 | crates/libs/future/src/bindings.rs:1720-1730 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":779}}}],"partialFingerprints":{"codehealthFindingId/v1":"3eacc89c8da8159c0f560cb1f07647e33b543c4ef606f75d0bf1e6326860f9f1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/future/src/bindings.rs:790-800 | crates/libs/future/src/bindings.rs:1009-1019 | crates/libs/future/src/bindings.rs:1457-1467 | crates/libs/future/src/bindings.rs:1731-1741 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":790}}}],"partialFingerprints":{"codehealthFindingId/v1":"7e0dc3d6a08188e9dfb0635c449c6d655220703c8bdd1824f5d6878ec7002de6"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/future/src/bindings.rs:801-811 | crates/libs/future/src/bindings.rs:1020-1030 | crates/libs/future/src/bindings.rs:1468-1478 | crates/libs/future/src/bindings.rs:1742-1752 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":801}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c068d6e902d9fc86fdbc12eb5d6620f49dbb2f2466ed4259801428af9caa4e2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/rdl/src/reader/callback.rs:12-45 | crates/libs/rdl/src/reader/delegate.rs:14-45 | crates/libs/rdl/src/reader/fn.rs:12-45 | crates/libs/rdl/src/reader/method.rs:11-41 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/callback.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"5643ebe5ad6544ecbecf891aa3f9f1fc6af8bf4d93a0ae4731ab95e2cc155210"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/rdl/src/reader/mod.rs:841-865 | crates/libs/rdl/src/reader/mod.rs:885-914 | crates/libs/rdl/src/reader/mod.rs:917-954 | crates/libs/rdl/src/reader/mod.rs:960-981 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":841}}}],"partialFingerprints":{"codehealthFindingId/v1":"4cccb9f3f4e96de3d3c5c8e06ad5048fd0ddb79c2402d98b022ac3ea92fd29d0"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/reactor/src/native/winui/bindings.rs:475-484 | crates/libs/reactor/src/native/winui/bindings.rs:27336-27345 | crates/libs/reactor/src/native/winui/bindings.rs:28986-28995 | crates/libs/reactor/src/native/winui/bindings.rs:29071-29080 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":475}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e7f7693f01a50d75d239a9ab7653e7c7e0f574cd1f5dbd3b2c0fd0d3a695932"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/reactor/src/native/winui/bindings.rs:8932-8941 | crates/libs/webview/src/bindings.rs:2762-2771 | crates/libs/webview/src/bindings.rs:4350-4359 | crates/libs/webview/src/bindings.rs:4513-4522 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":8932}}}],"partialFingerprints":{"codehealthFindingId/v1":"727c13e8144e875816163af1c96459e74e35b35482265aaa42bb17b6d18acbdc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/reactor/src/native/winui/bindings.rs:25071-25080 | crates/libs/reactor/src/native/winui/bindings.rs:25699-25708 | crates/libs/reactor/src/native/winui/bindings.rs:27215-27224 | crates/libs/reactor/src/native/winui/bindings.rs:28567-28576 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":25071}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8f1634bc3ef46bfac7b4f75c1c694cab74ade6cfccce68f383298f62dbffaec"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1142-1148 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1795-1801 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1854-1860 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2137-2143 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1142}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2cedbde3a2c28a4e036551f19fae0725808af148ab6283137d9bfe63731af46"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1149-1155 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1802-1808 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1861-1867 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2144-2150 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1149}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ece2516ccb1245e15089dbc5984d1381099dc7fb5d0c217a9e20f60a588afda"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7690-7696 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:650-656 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:771-777 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4149-4155 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":7690}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5193a076b3541ee49927f612f99504855dbf801211412f10d851ae2005e20e9"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1482-1492 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3818-3828 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3832-3842 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3846-3856 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":1482}}}],"partialFingerprints":{"codehealthFindingId/v1":"c112d29035489071182b825ac68b33f029bd69a4958c58b3d8b5e59b148562f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:614-620 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:799-805 | crates/libs/windows/src/Windows/System/mod.rs:891-897 | crates/libs/windows/src/Windows/System/mod.rs:928-934 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":614}}}],"partialFingerprints":{"codehealthFindingId/v1":"52883001c06f457dfc4c564f0866021f4cbdcf4105ae8743f986e05fa5a8801d"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:573-578 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:89-94 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:34-39 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1569-1574 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":573}}}],"partialFingerprints":{"codehealthFindingId/v1":"44d7926d69eb35394d8bfbcedb7acff454b36ada3e8c34b4135e7027aefc4637"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1074-1080 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1203-1209 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3207-3213 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3386-3392 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":1074}}}],"partialFingerprints":{"codehealthFindingId/v1":"c40472c884daffa121bba52b6d156d0118c22c6728b50aa5f9e5f0519f395c42"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1960-1966 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2554-2560 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2845-2851 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5219-5225 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1960}}}],"partialFingerprints":{"codehealthFindingId/v1":"eecd00cdd8ebb1d33079bdcbe1b53f15c951af5ce87bc7a444895211d2ff13df"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1971-1977 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2565-2571 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2856-2862 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5230-5236 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1971}}}],"partialFingerprints":{"codehealthFindingId/v1":"f67eb1ee49f6733e1ba84d3533bc9b78d9cce6fac9c3d26f1c8991b098ecad40"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1978-1984 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2572-2578 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2863-2869 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5237-5243 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1978}}}],"partialFingerprints":{"codehealthFindingId/v1":"226d0bf35bdd62557757879869fccd80060b4a191d1477121893c972e6d1809c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1102-1108 | crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs:241-247 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:349-355 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1153-1159 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":1102}}}],"partialFingerprints":{"codehealthFindingId/v1":"bef8cd4be4ae21bde71408819e97c2947740ecb9d52962ae6a305104894447a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1319-1325 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1973-1979 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3467-3473 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:204-210 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1319}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c50ab7aed60eaa015c5ae3b6fd3063a02cca8236afe00ca6fef1e9707dc324f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1344-1350 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1998-2004 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3492-3498 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:229-235 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1344}}}],"partialFingerprints":{"codehealthFindingId/v1":"e383045c68d79e4935db7af5a9f8486f80a26b62e09d0ce01a608fa3ee8285c6"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1362-1368 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2016-2022 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3510-3516 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:247-253 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1362}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5a98aa25674ecb7cac351735c6a17c776dc25cbe4078b11f3d4649942b8bf65"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1369-1375 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2023-2029 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3517-3523 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:254-260 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1369}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5aac7e88e2a5598e5ebda6da1298ef96779d1e0ea207e096f590aba748d7a59"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:165-171 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:243-249 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:642-648 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:710-716 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"3bcc746f1019ac12baf02f6dc67c81da594e58772644550883a2fbcdb1492235"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:172-178 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:250-256 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:649-655 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:717-723 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbc38691a6d467ee6cb2baf369fcbacf4c57741016dfbfd6ade10a190585f59b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:179-185 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:257-263 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:656-662 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:724-730 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs"},"region":{"startLine":179}}}],"partialFingerprints":{"codehealthFindingId/v1":"080809f3e4bcdd044659f0a2d43fee1c1d9bb89dec5b2a3a78cf91b2c1c23e1f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:113-191 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:284-409 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:680-751 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:134-194 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs"},"region":{"startLine":113}}}],"partialFingerprints":{"codehealthFindingId/v1":"13ba8d27a284d4244d5b134c47e2af576228e9b45a01690861ad3dcc62fd0b21"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:112-156 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:509-582 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:922-975 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:367-448 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":112}}}],"partialFingerprints":{"codehealthFindingId/v1":"556e6296c0ff01cec6f01f4f2b1407fc134060e6892eaac815b20b26bf2255c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:27-32 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1100-1105 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7344-7349 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8190-8195 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"7202b01dc19c281a6c859078acbe1d39b8a972b3d5d8869fe29f333c96f35d64"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:70-80 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1118-1128 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7375-7385 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8208-8218 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"5228516684666f694b58bb69cf7aac25e8190156368022e3778477a00c30168b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4103-4324 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:742-759 | crates/libs/windows/src/Windows/UI/Input/mod.rs:1436-1480 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:345-369 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4103}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea7eba8d6ba6c6f291ba11d51f8b9cf5e05056ac5ea72e336814f59792dc0f56"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4717-4723 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6220-6226 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9164-9170 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9540-9546 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4717}}}],"partialFingerprints":{"codehealthFindingId/v1":"de05345e4f59eee2988fb2c1efc8d67de32223b11fae2d30bb6353339c1ee3f3"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4724-4730 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6227-6233 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9171-9177 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9547-9553 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4724}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf2f94fa5fc0dcb521b61ba5b15b32e7107d858f8963cda3dfaec77bed174040"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4731-4737 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6234-6240 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9178-9184 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9554-9560 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4731}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff282d9b2d521825bcaa872a48dd8913dbc0ff80a23c7a07abe4e23b3b2c557a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4738-4744 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6241-6247 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9185-9191 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9561-9567 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4738}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb3acb9a4a901c77b23904f762e76c24a65f99c9fd3ba3fa8c4006e187a8dbfc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4745-4751 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6248-6254 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9192-9198 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9568-9574 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4745}}}],"partialFingerprints":{"codehealthFindingId/v1":"fde310cf7d54b2e26f32ccf6a74008ed07aa222d776c782a4a2f9036305c05d9"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4752-4758 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6255-6261 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9199-9205 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9575-9581 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4752}}}],"partialFingerprints":{"codehealthFindingId/v1":"78e7da49812e5142c0ccb38f3a5039afc7306277acdaad4d8b7ee1a255342454"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4759-4765 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6262-6268 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9206-9212 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9582-9588 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4759}}}],"partialFingerprints":{"codehealthFindingId/v1":"52d18416e9100f5739b122839dbc2af5278f5bdc1d600072a6cc0280f7290734"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4766-4772 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6269-6275 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9213-9219 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9589-9595 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4766}}}],"partialFingerprints":{"codehealthFindingId/v1":"216162f1f19fb51449151575602d8d9ebc5cb4d6a3106c1967f59345eb664d68"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4773-4779 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6276-6282 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9220-9226 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9596-9602 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4773}}}],"partialFingerprints":{"codehealthFindingId/v1":"abfd039cc275d36e9b7dbf7000130d161a49e3e07a91779dfffb759febbebedc"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4780-4786 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6283-6289 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9227-9233 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9603-9609 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4780}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7b98446021a8d72c3803f5c704f0a64d2103e3a3a8dd1d35b4bb6c5aa473337"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4787-4793 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6290-6296 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9234-9240 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9610-9616 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4787}}}],"partialFingerprints":{"codehealthFindingId/v1":"834068f7463de496fc75b97b98463d205498c007edd540af8c92160bbc17063d"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4794-4800 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6297-6303 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9241-9247 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9617-9623 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4794}}}],"partialFingerprints":{"codehealthFindingId/v1":"123d677fc9f88cb0de5c919514bd3dc42edeabc77c18cf516f3a696c7b8ca17f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4801-4807 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6304-6310 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9248-9254 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9624-9630 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4801}}}],"partialFingerprints":{"codehealthFindingId/v1":"4090403bd9a63afb17154e73e78986c975f8018290f5ed39a8f39f1f32cb39c1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:85-91 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:955-961 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1437-1443 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2663-2669 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4af8f658f223d0c04c0798d512ee19919f11188823ef1321bd3fda200781bc0"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:92-98 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:962-968 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1444-1450 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2670-2676 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"07d84cc5ade335a7f69a105a8a9c1bd8c6b1ce3defcdf1d6f2a5203fef5170e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:110-156 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:157-191 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:585-638 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1465-1621 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":110}}}],"partialFingerprints":{"codehealthFindingId/v1":"7adb1efe006cf1ad01f5e4ea4a39272ea43d87b3c8809d7613bad411e77c5f2b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:88-94 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:320-326 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1706-1712 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1924-1930 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dcc604a7cb0c14629d335414123d4acf12f1e839b2959c39068ab913adfd835"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:95-101 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:327-333 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1713-1719 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1931-1937 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ac359abd9b638f569b0bf1abbcc8bdeb359dd241df2f01676e07553d2978547"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:102-108 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:334-340 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1720-1726 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1938-1944 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"749ea3b25930276353d9eb3ede69fa86dd7693d1455661d60cfb095b511cca2f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:113-119 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:345-351 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1731-1737 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1949-1955 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":113}}}],"partialFingerprints":{"codehealthFindingId/v1":"9483b89d4a066f043856890f45f76e132b91505815374c8be4a9c61f850d9f91"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:124-130 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:356-362 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1742-1748 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1960-1966 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"686fb5cb3f88f21f790a8b585bc0ec2478d642235da73021f24758abdbef978e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:135-141 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:367-373 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1753-1759 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1971-1977 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":135}}}],"partialFingerprints":{"codehealthFindingId/v1":"469a15cb6c7ae2230877c08a6efe99b9693ffba28d9140045d9367f70ceda67f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:146-152 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:378-384 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1764-1770 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1982-1988 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":146}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d73c789e85a9584bce25019241aabf463fcc2554d63addea5eb37b2d3b0dc58"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:157-163 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:389-395 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1775-1781 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1993-1999 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"09ffb60bc8f696fdee00d9a1f0646a2af91b424d76a5564cc3371a26234c79b2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:164-170 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:396-402 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1782-1788 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:2000-2006 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":164}}}],"partialFingerprints":{"codehealthFindingId/v1":"311c1e7b50ca81c5ea9eb27c9f9dcecea5c49039302451427477c78e3a809d89"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:192-198 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:424-430 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1810-1816 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:2028-2034 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":192}}}],"partialFingerprints":{"codehealthFindingId/v1":"d11f2d1d9d00f3d5c3f1a0abdec30ce21c722fece0eddd81987da5facfc9885e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:206-212 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:438-444 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1833-1839 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:2051-2057 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":206}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab1f9641c72616788aebed755e21f8b87fc10c4793e53abe35a469550cb3701f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:217-223 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:449-455 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1844-1850 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:2062-2068 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":217}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ee657c6a85ad2d96ef447db00a69e89694329c15c9654aa3f8249b8631ac905"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:140-146 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:321-327 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:456-462 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:864-870 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":140}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f2244afcfd9dee879747a0e05780e2399af4ddb055c87c6154d73e45e56d70a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:147-153 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:328-334 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:463-469 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:871-877 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":147}}}],"partialFingerprints":{"codehealthFindingId/v1":"43b2644d48db2b5b908cf838fab102a1f65275d16d1e48ec90544b62cb7f961c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:158-164 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:339-345 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:474-480 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:882-888 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"9259e769947938c28f4090a90f8cc3d49f57bc65e1ea6fdf4863670eab871628"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:169-175 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:350-356 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:485-491 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:893-899 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7cd8f161c73999157b7cac3352bdc1ccef573efaf2c7a4f7c95b965a6f8af43"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:176-182 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:357-363 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:492-498 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:900-906 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":176}}}],"partialFingerprints":{"codehealthFindingId/v1":"cde1e6c7e36538862281ef9737c59f578f1d185131ef81c3fdca006490c670a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:186-192 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:367-373 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:502-508 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:910-916 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":186}}}],"partialFingerprints":{"codehealthFindingId/v1":"d382e73c20bac9886533e381c142f9ebd8bedafdea0ad831928bc605b3f06d2e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Audio/mod.rs:2518-2524 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2646-2652 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4466-4472 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4784-4790 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":2518}}}],"partialFingerprints":{"codehealthFindingId/v1":"475c94b4463e762af4731b4302d8fbf11f6e463bcadc06e3eb5a0c9eac5d9ac9"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Core/mod.rs:1113-1119 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5782-5788 | crates/libs/windows/src/Windows/Media/mod.rs:199-205 | crates/libs/windows/src/Windows/Media/mod.rs:2712-2718 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":1113}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2ea1c0e8878a3994ffbcd8a903b8620300705b6045a4045fbd0d75a15b07c3c"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:748-754 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:886-892 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1139-1145 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1226-1232 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs"},"region":{"startLine":748}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a49b53f49fbb55050c68978def24da4da26c58ffa11ce52e5fb7194639f9a1f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:770-776 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:908-914 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1161-1167 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1248-1254 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs"},"region":{"startLine":770}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8b0dda375396aa59f824ea5cf8fac842e1a2eb533e33743dbab4290eabea8e1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:777-783 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:915-921 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1168-1174 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1255-1261 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs"},"region":{"startLine":777}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6a173f9d27039f4430ddf5a04b5c8531faf8f5b0b8ae79c9fee7b6f915ade48"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:506-512 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:699-705 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:790-796 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:893-899 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs"},"region":{"startLine":506}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6ddcfd6d7deb76c4ec2bb87a852ff9a1a8335f58f5fc468462ad3c92cf4976e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:65-71 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:740-746 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1033-1039 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2376-2382 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"adeb6ae5d6e6176586183cb84a83a6525a05806819a0aa9fdc1e81c95af1cc7e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:225-231 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:655-661 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:951-957 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2300-2306 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":225}}}],"partialFingerprints":{"codehealthFindingId/v1":"09aede292fa62f35189090edcb42233ecf3a0cb5d299d291cd3f609562086d23"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2677-2683 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2736-2742 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2807-2813 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2875-2881 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":2677}}}],"partialFingerprints":{"codehealthFindingId/v1":"4963c6b6bb41cc8835fbd81ac10ecb0f503f32307fe5a8d8511311b19b6fbcdf"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2688-2694 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2747-2753 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2818-2824 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2886-2892 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":2688}}}],"partialFingerprints":{"codehealthFindingId/v1":"7624014e27bf76ff0ed802f352c124c28adc64e0d763bfb47c5df9efb4e1170b"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:492-498 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:18-24 | crates/libs/windows/src/Windows/Storage/mod.rs:1590-1596 | crates/libs/windows/src/Windows/Storage/mod.rs:4271-4277 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs"},"region":{"startLine":492}}}],"partialFingerprints":{"codehealthFindingId/v1":"b513d6d12a3016d2132b30acda9d9bfd14f642c8ea2bfd338d5d867441aab520"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:226-232 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:802-808 | crates/libs/windows/src/Windows/Storage/mod.rs:4534-4540 | crates/libs/windows/src/Windows/Storage/mod.rs:4965-4971 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":226}}}],"partialFingerprints":{"codehealthFindingId/v1":"e161126a7ae3dfd942015df04a185715aff3b490915ed9280c4af8b8b8be4ab1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:366-372 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:942-948 | crates/libs/windows/src/Windows/Storage/mod.rs:4628-4634 | crates/libs/windows/src/Windows/Storage/mod.rs:5059-5065 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":366}}}],"partialFingerprints":{"codehealthFindingId/v1":"24b0027f709db7b509abdafddd6cc06fc54f45d24970991cc4c208120793c42d"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/Streams/mod.rs:629-634 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2168-2173 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2635-2640 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2891-2896 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":629}}}],"partialFingerprints":{"codehealthFindingId/v1":"7abd83070d5e787560728434002e2a7aa8f38b2b5edacab1c1f107f096cd48f0"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/Streams/mod.rs:635-640 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2174-2179 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2641-2646 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2897-2902 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":635}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ee0e30b6888f14b393cb378490fdb16c2ef5b1e07d23ab27e7c9da1df95238d"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Storage/mod.rs:2861-2892 | crates/libs/windows/src/Windows/UI/Text/mod.rs:667-1180 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2086-2571 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2959-3483 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":2861}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0a162e79a97ff83501a919bdfac77a6691dd2140a72b69be80f93be782006c1"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Core/mod.rs:442-448 | crates/libs/windows/src/Windows/UI/Core/mod.rs:899-905 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3029-3035 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:182-188 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":442}}}],"partialFingerprints":{"codehealthFindingId/v1":"58aedff99aef9657843251630785bbc608f88ad0100f2dc595cd374a8d302b9a"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/UI/Core/mod.rs:1825-1835 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1980-1990 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1568-1578 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1582-1592 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1825}}}],"partialFingerprints":{"codehealthFindingId/v1":"bef4d4deff7be0da6e851e2b7259979e819eaf96ccb99dca6a13768044397423"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:255-265 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:311-321 | crates/libs/windows/src/Windows/Web/UI/mod.rs:142-152 | crates/libs/windows/src/Windows/Web/UI/mod.rs:198-208 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":255}}}],"partialFingerprints":{"codehealthFindingId/v1":"f05a7f7f7ae1eb7dd862f290bbab57951596c61e370bb10f600576f6e942fa94"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:269-279 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:325-335 | crates/libs/windows/src/Windows/Web/UI/mod.rs:156-166 | crates/libs/windows/src/Windows/Web/UI/mod.rs:212-222 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":269}}}],"partialFingerprints":{"codehealthFindingId/v1":"e65c2de3c953f9878583a54a5a390a2f84829d9d059b7dbe5e03410ca0bb997f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:283-293 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:339-349 | crates/libs/windows/src/Windows/Web/UI/mod.rs:170-180 | crates/libs/windows/src/Windows/Web/UI/mod.rs:226-236 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":283}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff07598ca3ec511337231260bb39b108e7f2dc280adfcfbefb8931ee7dfe1ce9"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/certenc/mod.rs:731-755 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:951-975 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1163-1187 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1396-1420 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenc/mod.rs"},"region":{"startLine":731}}}],"partialFingerprints":{"codehealthFindingId/v1":"5446924fe9e16d194239d39110475f9a59c4367b481d8028c913c63846b8c150"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5213-5330 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11321-11570 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15087-15665 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16240-16476 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":5213}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a551e418c143441c9f709f10239bde0197f4db67afda43aef9b9c12936fdb27"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2551-2576 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8792-8817 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8870-8901 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8954-8985 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2551}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5b37e0ad94428922a2096579f94af003aa33f591c5cdc64ab558b8393bc2d8e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4706-4728 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4883-4909 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:5431-5457 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:5600-5622 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4706}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfdbb56e195efd6020139023d6552e7253e859487b21423f224b39d95d035b41"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7270-7519 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10129-10378 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:15311-15560 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2961-3224 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7270}}}],"partialFingerprints":{"codehealthFindingId/v1":"deedd2eb663d8424e6d5b3896d0ec91243f34f6ddecca3be990843c08607bd03"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7966-8012 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8162-8313 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11676-11819 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:16955-17098 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7966}}}],"partialFingerprints":{"codehealthFindingId/v1":"da0da0e2d016829bc043effa6f05e980e35c5d1db7fa11be2973b4d3cdf2edb7"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13923-14284 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:18177-18279 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:19187-19303 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:20180-20282 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":13923}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5e15688dc05b65cfcebd37f45cde81bc98cb099a09dec4cd11c637c2d46fff6"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20926-20931 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23874-23879 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26903-26908 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29973-29978 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20926}}}],"partialFingerprints":{"codehealthFindingId/v1":"84dc4d64b6cc8f6df6857ea6bc726425dfc86ecf300934d6c5282e625be65e0e"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20969-20974 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23917-23922 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26946-26951 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30016-30021 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20969}}}],"partialFingerprints":{"codehealthFindingId/v1":"c767fadcc84e8b739c4d5e2cae8d7b00cd76dacd5af9be58509c09a3eaf4af82"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20975-20980 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23923-23928 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26952-26957 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30022-30027 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20975}}}],"partialFingerprints":{"codehealthFindingId/v1":"f41910852efb020f8239c8cbae5f8c21a66ec3c9bcd26153294e66618cb4e0ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20981-20986 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23929-23934 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26958-26963 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30028-30033 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20981}}}],"partialFingerprints":{"codehealthFindingId/v1":"723340ef504243f91bcd17c8f804eee78978cc736872145ae6a3e27b973d7fcd"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20997-21002 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23945-23950 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26974-26979 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30044-30049 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20997}}}],"partialFingerprints":{"codehealthFindingId/v1":"ceb66fa43efb8a1e3cfa512c43a7a13fb4a460f6c6bfc235436dcd951b76a276"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:21007-21012 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23955-23960 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26984-26989 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30054-30059 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":21007}}}],"partialFingerprints":{"codehealthFindingId/v1":"99ff6b99b2d8ff770b35cd56283a29fa160d840533c739b34ae95b53b64330db"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:21024-21029 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23972-23977 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:27001-27006 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30071-30076 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":21024}}}],"partialFingerprints":{"codehealthFindingId/v1":"b78ac47fde4cb88fd7c26e97e5192f9238f438585c3fc8f4bac58c661107c8cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32412-32417 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32767-32772 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33227-33232 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33772-33777 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":32412}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8da66557a15e197d4679d90ce4b2f0e528c079419defd5f5f8f6025b27d1226"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46177-46522 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46911-47309 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47790-48281 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48780-49285 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":46177}}}],"partialFingerprints":{"codehealthFindingId/v1":"040fdc0e123af8c7342503a448cfc181a8cde7e5e1081b17a6cb26d8ce729ad2"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:1569-1731 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:1926-2095 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2321-2524 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2767-2990 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ddraw/mod.rs"},"region":{"startLine":1569}}}],"partialFingerprints":{"codehealthFindingId/v1":"efbe22db032da858bae934f9a0e061202b6707906756d18066282e6af0b9e086"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2582-2606 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2666-2724 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2756-2780 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2811-2835 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dsound/mod.rs"},"region":{"startLine":2582}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9e74c6a34c5ade745b783198e1f3033200ec034c4aff9146640b317241e1c9f"}},{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5899-5904 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6397-6402 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6715-6720 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6962-6967 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":5899}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b65b618ec0a2ec39489b3848390acd7199d1746f262d3a40932cd9dde71b856"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (94 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16329-16422 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18115-18208 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20144-20237 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23039-23132 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26063-26156 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29131-29224 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32216-32309 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":16329}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b181eb521c3acc75896bbe2e33a4f3cda4455da53d875ca53f8614f9644d73f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (71 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41137-41207 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43424-43494 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45753-45823 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":41137}}}],"partialFingerprints":{"codehealthFindingId/v1":"24ac2e9b749f8e9baf215e4f778391e895c6ce91aa9039da2fedc230799bf3e7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (61\u201362 lines \u00D7 2): crates/libs/strings/src/literals.rs:78-139 | crates/libs/sys/src/core/literals.rs:43-103 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/strings/src/literals.rs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d5f823b3e56bbb7f9ee4ab7c7bea895f96737be9dae52ccf181fff72b43e974"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (58 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23149-23206 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26173-26230 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29241-29298 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32326-32383 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":23149}}}],"partialFingerprints":{"codehealthFindingId/v1":"50d7c423c5052a0949cec5d8588eddb71476154499f6bbbb32815e11d24015f5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (51 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37931-37981 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38959-39009 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41083-41133 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43370-43420 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45699-45749 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37931}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fd9f8a109579b53cf32267e07624897b9ef811c68d32bf8e0014004bf13e406"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (47 lines \u00D7 9): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3843-3889 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4707-4753 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5649-5695 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6692-6738 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8238-8284 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9827-9873 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11428-11474 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13044-13090 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:14689-14735 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":3843}}}],"partialFingerprints":{"codehealthFindingId/v1":"5becd4e790dca48db8bff4a3763c718a037beaa561ea0aba92edfd6291cbccd9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (43\u201347 lines \u00D7 2): crates/libs/reference/src/bindings.rs:804-850 | crates/libs/windows/src/Windows/Foundation/mod.rs:1030-1072 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":804}}}],"partialFingerprints":{"codehealthFindingId/v1":"14f17918b0957e8cfdef180c65a381713ec179253d18b1a572628f66a80d2cb2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (35 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:3815-3849 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:4391-4425 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:4985-5019 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:5647-5681 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:6366-6400 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ddraw/mod.rs"},"region":{"startLine":3815}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c2763ea24b064c2c0e22839199eeeee924bb3a0f660b1b12f4b789d350dcbbd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (34 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8298-8331 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9887-9920 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11488-11521 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13104-13137 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:14749-14782 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":8298}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e1daf4230bb21e5c90a77758b94aa49cd6d16d9ee04c7a7b668109e978aed7b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (32 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1688-1719 | crates/libs/composition/src/bindings_lifted.rs:1482-1513 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1688}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfc008d6e80276d995b59f0eae7cd7232abbd355cec9401343980455f73022e5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (31 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46490-46520 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47272-47302 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48235-48265 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:49237-49267 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":46490}}}],"partialFingerprints":{"codehealthFindingId/v1":"d199f1cabc9abda6c3913c7c4ae0554523b801a24366648530c518615e370748"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (28 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7481-7508 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10340-10367 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:15522-15549 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7481}}}],"partialFingerprints":{"codehealthFindingId/v1":"00c3333167a2eda6e4e8aa4f7b81abb3a8c4c4e4c1eaeac623baaf4f74f0a30d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 4): crates/libs/rdl/src/reader/callback.rs:17-42 | crates/libs/rdl/src/reader/delegate.rs:18-43 | crates/libs/rdl/src/reader/fn.rs:17-42 | crates/libs/rdl/src/reader/method.rs:14-39 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from all 4 call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/callback.rs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5dec41f04f46c231c505473d8576b227f9459afbd0c0a9223ac46a287f86ee9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): crates/libs/bindgen/src/format.rs:59-82 | crates/libs/bindgen/src/format.rs:197-220 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/format.rs"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"055f1562b8399b14a718c87fff52c7d4b5bcecc9ef4c2db0fca39b60feb9c80a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): crates/libs/metadata/src/reader/file.rs:785-808 | crates/libs/metadata/src/writer/file/rec.rs:509-532 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/reader/file.rs"},"region":{"startLine":785}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d226299c71114056fe338e59d4263680537d2cef0d0ee5137f519dc1a96c990"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (23 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:2177-2199 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:2621-2643 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3093-3115 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":2177}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8168f10d56711a11024f9cca12986d24ee93345dd7db11f847d8d0637ce00cc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (23 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/topology.rs:729-751 | crates/libs/reactor/src/core/pump/planner/topology.rs:767-789 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/topology.rs"},"region":{"startLine":729}}}],"partialFingerprints":{"codehealthFindingId/v1":"53df2fed8b88d4f515b83111725e7741a6a420f9e1210f83612a6e562ef830a6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (23 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11797-11819 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:17076-17098 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 26 separate duplicated blocks between them, totalling at least 284 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d11/mod.rs"},"region":{"startLine":11797}}}],"partialFingerprints":{"codehealthFindingId/v1":"813547465665a05922eb7f86e64a20d8b2eabeff07b2fe65d8054dae5fd2e8cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (1\u201322 lines \u00D7 26): crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:718-718 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:1465-1465 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:1825-1825 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:1956-1956 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:2287-2287 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:2391-2391 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:2526-2526 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:2633-2633 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8335-8335 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:498-498 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:2972-2972 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:7035-7035 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:8593-8593 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:11675-11675 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:18904-18904 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32725-32746 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33179-33200 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33719-33740 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:34432-34453 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1140-1140 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:226-226 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:10914-10914 | crates/libs/windows/src/Windows/Win32/dxcore_interface/mod.rs:472-472 | crates/libs/windows/src/Windows/Win32/dxcore_interface/mod.rs:624-624 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:1098-1098 | crates/libs/windows/src/Windows/Win32/filtereg/mod.rs:131-131 \u2014 \u0060crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 71 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs"},"region":{"startLine":718}}}],"partialFingerprints":{"codehealthFindingId/v1":"32dbc33cfd16e4699d590b36f7eec306818fdd8ee28595de54b7689651043b70"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:1708-1729 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2071-2092 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2496-2517 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2960-2981 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ddraw/mod.rs"},"region":{"startLine":1708}}}],"partialFingerprints":{"codehealthFindingId/v1":"34ee5a2ddc59d6afdc35d95d4f06a87dadd28ab06159aea3e0a04d5ff8799e30"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/view.rs:354-375 | crates/libs/reactor/src/core/pump/planner/view.rs:391-412 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":354}}}],"partialFingerprints":{"codehealthFindingId/v1":"23c971d0b452b0f06f02b93cb62792ec12ccff8d7a1aaca1a28bd988caf59f2c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:35921-35941 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:36451-36471 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":35921}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c5694cf7aafbd9fde626c62249bf93d1eecd096b1705f523221225c8581396c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dinput/mod.rs:3806-3826 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:4246-4266 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dinput/mod.rs"},"region":{"startLine":3806}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa4026fd0cdced1ff3c1d486c6ad5466491e46cdca9f8a3c13462085d60be0f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 5): crates/libs/reactor/src/native/winui/bindings.rs:7766-7784 | crates/libs/reactor/src/native/winui/bindings.rs:9532-9550 | crates/libs/reactor/src/native/winui/bindings.rs:10903-10921 | crates/libs/reactor/src/native/winui/bindings.rs:18193-18211 | crates/libs/reactor/src/native/winui/bindings.rs:21537-21555 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":7766}}}],"partialFingerprints":{"codehealthFindingId/v1":"57655df98b306a67958781f6d1cbfb6e48efe8fb3c50d0d69c020d391a9d51ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:6241-6259 | crates/libs/reactor/src/native/winui/bindings.rs:12200-12218 | crates/libs/reactor/src/native/winui/bindings.rs:16993-17011 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":6241}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e78fc64f4c2d23f89570ca1c688a58da0a02f8c4232d7e26e04ef723d735f8b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:13250-13268 | crates/libs/reactor/src/native/winui/bindings.rs:14948-14966 | crates/libs/reactor/src/native/winui/bindings.rs:15114-15132 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":13250}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c70f3a06061ca1a769c6011416472cbd6557c9b01fbe8015976529fc3365fe5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): crates/libs/bindgen/src/types/class.rs:40-58 | crates/libs/bindgen/src/types/class.rs:79-97 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/class.rs"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"35a99968d4d5e98236735af4e510f268a0b5c97fa02e2d33a6f408b04abce7b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): crates/libs/metadata/src/merge/mod.rs:344-362 | crates/libs/metadata/src/merge/remap.rs:214-232 \u2014 before extracting anything, compare \u0060crates/libs/metadata/src/merge/mod.rs\u0060 and \u0060crates/libs/metadata/src/merge/remap.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/merge/mod.rs"},"region":{"startLine":344}}}],"partialFingerprints":{"codehealthFindingId/v1":"9be7e7769ff21836cd1582cc0adb14ab69ef805d8d55cdc1443f44c37c045663"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17\u201318 lines \u00D7 6): crates/libs/reactor/src/native/winui/bindings.rs:12590-12607 | crates/libs/reactor/src/native/winui/bindings.rs:14035-14052 | crates/libs/reactor/src/native/winui/bindings.rs:14717-14734 | crates/libs/reactor/src/native/winui/bindings.rs:16335-16352 | crates/libs/reactor/src/native/winui/bindings.rs:16439-16455 | crates/libs/reactor/src/native/winui/bindings.rs:17792-17809 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":12590}}}],"partialFingerprints":{"codehealthFindingId/v1":"6055fb74a78b449576063665af4c9b8b1ce112ed084eff93c3f0350bac61aee5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20241-20258 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23136-23153 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26160-26177 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29228-29245 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32313-32330 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20241}}}],"partialFingerprints":{"codehealthFindingId/v1":"07a6e6ec8bf8ebe941001c5c6ab953a29c150813f59ce88f2a712764e2b99448"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17\u201318 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:5475-5491 | crates/libs/reactor/src/native/winui/bindings.rs:15591-15608 | crates/libs/reactor/src/native/winui/bindings.rs:18658-18675 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":5475}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9353b1a00492e8e8e73ff15625face0a77aecb89196dcc733765873b975b259"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:34683-34700 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:34907-34924 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:35147-35164 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":34683}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c05def1c0afe7055c553781446aed96d91dab938802fd55c252a41fa43aad0e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4258-4275 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:8680-8697 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4258}}}],"partialFingerprints":{"codehealthFindingId/v1":"d44f0112335d80f0007f0a165fac7a06513f78a73fe9dcf54c083e1a7e5fdc89"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/bits/mod.rs:3241-3257 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3341-3357 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3441-3457 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3541-3557 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:576-592 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:677-693 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bits/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 39 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bits/mod.rs"},"region":{"startLine":3241}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e037a21fbe3b6b4c0ce3b201954d788e560d05337b4e5b2c07fdd293627aa8d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dinput/mod.rs:3794-3810 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:4234-4250 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:4473-4489 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:4698-4714 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dinput/mod.rs"},"region":{"startLine":3794}}}],"partialFingerprints":{"codehealthFindingId/v1":"11adac3857c98fb340b6cc8cc215f82bb800955696f327b0751e4b71caffa951"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:1633-1649 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:2299-2315 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:2390-2406 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs"},"region":{"startLine":1633}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c0d7fb99ccaca639ce2ce096dc23605001a4d2edc4f3081fc375eacc9c3f7c6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): crates/libs/rdl/src/reader/attribute_ref.rs:404-420 | crates/libs/rdl/src/reader/attribute_ref.rs:500-516 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/attribute_ref.rs"},"region":{"startLine":404}}}],"partialFingerprints":{"codehealthFindingId/v1":"811b90afedfc6f113e41e6d5509433b1b2988dc4f26b1bd19002e5ad523d5d1d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:4069-4084 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:331-346 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:411-426 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5451-5466 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:158-173 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:448-463 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comcat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs"},"region":{"startLine":4069}}}],"partialFingerprints":{"codehealthFindingId/v1":"78e222a770320dab3f46dd636bdaee03d47ae3278ea7f8067f0dcf1f47f62619"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7504-7519 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10363-10378 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:15545-15560 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:3209-3224 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7504}}}],"partialFingerprints":{"codehealthFindingId/v1":"19be5ddb76d32de0c1777ade3478080ffe1fbd4a992717e6a6fecd5aa3a33f35"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): crates/libs/bindgen/src/filter.rs:407-422 | crates/libs/bindgen/src/filter.rs:424-439 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter.rs"},"region":{"startLine":407}}}],"partialFingerprints":{"codehealthFindingId/v1":"247781dde13821e62d71da9ea0df8776854a30aae82f84ee2453a921f3f0bca0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13\u201316 lines \u00D7 2): crates/libs/metadata/src/merge/mod.rs:338-353 | crates/libs/metadata/src/merge/mod.rs:847-859 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/merge/mod.rs"},"region":{"startLine":338}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ab3d72a5d6a21ec8357673a46f4592e4521fd81c01d9df652a9bb4ecc99152b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 19): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:306-320 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:577-591 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1074-1088 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1472-1486 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2166-2180 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2379-2393 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3898-3912 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4050-4064 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4135-4149 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4220-4234 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4390-4404 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4475-4489 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4600-4614 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4810-4824 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4980-4994 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5189-5203 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5839-5853 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6484-6498 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6569-6583 \u2014 all 19 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":306}}}],"partialFingerprints":{"codehealthFindingId/v1":"eba512d0de2c6df7f74a7126dcd8ba760d31e90df48631d730d3f984feb29f88"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14\u201315 lines \u00D7 3): crates/libs/metadata/src/merge/mod.rs:342-356 | crates/libs/metadata/src/merge/mod.rs:849-862 | crates/libs/metadata/src/merge/remap.rs:212-226 \u2014 before extracting anything, compare \u0060crates/libs/metadata/src/merge/mod.rs\u0060 and \u0060crates/libs/metadata/src/merge/remap.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/merge/mod.rs"},"region":{"startLine":342}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb68c7703f61eb40a73785d3d3448a895502413839e13460851257fdd083063e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): crates/libs/rdl/src/reader/mod.rs:892-906 | crates/libs/rdl/src/reader/mod.rs:919-933 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":892}}}],"partialFingerprints":{"codehealthFindingId/v1":"d294c3f3a7a1de28544385649303339432f3f8bd274532199279ba0967a8dc49"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/view.rs:1914-1928 | crates/libs/reactor/src/core/pump/planner/view.rs:1959-1973 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1914}}}],"partialFingerprints":{"codehealthFindingId/v1":"995d7c2cd3005ae0dd9e4e6575b5adec9e1ca2fae22b738f72c3145893c19863"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:82-96 | crates/libs/windows/src/Windows/Foundation/mod.rs:676-686 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"a22d64b46415f9a9f1515d215c7437d0f53b6153382af4afa357c9d615746232"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:101-115 | crates/libs/windows/src/Windows/Foundation/mod.rs:688-698 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"98bf40b5f2e5a55aed18a19ae3faf0aa30deec0bb2024ad39b6127110a244dbd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:117-131 | crates/libs/windows/src/Windows/Foundation/mod.rs:700-710 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":117}}}],"partialFingerprints":{"codehealthFindingId/v1":"a39f2dadcb1dd7456a6e550ade8327eba3c56638bc70aff3683a5bba41cb5283"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:133-147 | crates/libs/windows/src/Windows/Foundation/mod.rs:712-722 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":133}}}],"partialFingerprints":{"codehealthFindingId/v1":"259b84b6485bc4f755acff82eed9a4f9889b3ca98a1197715f447b65d4f5be10"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:149-163 | crates/libs/windows/src/Windows/Foundation/mod.rs:724-734 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"049843a39370c9b218597b8ccdf6fcd3626b999c3984f05096986c3aa1344f9b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:165-179 | crates/libs/windows/src/Windows/Foundation/mod.rs:736-746 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"45dd6229f4f6c43334cb5b1ed3ea0c809c5e2c78ec61e1ff2f4fc0fc79137957"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:181-195 | crates/libs/windows/src/Windows/Foundation/mod.rs:748-758 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":181}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f3c783043ad20510bd7dfc6c6577382d51322083adc850e96602b4b471250cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:197-211 | crates/libs/windows/src/Windows/Foundation/mod.rs:760-770 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":197}}}],"partialFingerprints":{"codehealthFindingId/v1":"61dd925c2130a16556863314fac7aabe57c3d32cee38c9a6bae98f5f6953fccb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:213-227 | crates/libs/windows/src/Windows/Foundation/mod.rs:772-782 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":213}}}],"partialFingerprints":{"codehealthFindingId/v1":"96d7ca526daeda8a2c3a6536c1ec671d21aa8a7062f63c2313a00edd0f2ec797"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:229-243 | crates/libs/windows/src/Windows/Foundation/mod.rs:784-794 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":229}}}],"partialFingerprints":{"codehealthFindingId/v1":"8584a50b08b548b0d69a48f160c72009f37fc26fc5aa40e8c4bc075abaaf9e6f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:245-259 | crates/libs/windows/src/Windows/Foundation/mod.rs:796-806 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":245}}}],"partialFingerprints":{"codehealthFindingId/v1":"d475c47d37ede9728e0461c013b4176ae31d021ae88684657d683a76717b0d50"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:261-275 | crates/libs/windows/src/Windows/Foundation/mod.rs:808-818 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":261}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f283d265c14907e889478fb55ce6ed26661b6aaae7d84b67660914469022e63"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:277-291 | crates/libs/windows/src/Windows/Foundation/mod.rs:820-830 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":277}}}],"partialFingerprints":{"codehealthFindingId/v1":"d138d93d5b8284f4deccd491e2470f866e8c275352cd9e51e8747fc7285a91b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:310-324 | crates/libs/windows/src/Windows/Foundation/mod.rs:845-855 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":310}}}],"partialFingerprints":{"codehealthFindingId/v1":"462add5db1be25ad4d52d4b760fd8c60aa5c44cb31d3853bd4857fb7d936cbf0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:329-343 | crates/libs/windows/src/Windows/Foundation/mod.rs:857-867 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":329}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b752eba14dcd7fdaeea9715df0564a8881d4ebbf3aac6ba6d4d41de5c632356"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:348-362 | crates/libs/windows/src/Windows/Foundation/mod.rs:869-879 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":348}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d6f089fae0b58377bf5d7963774c8224b251e32afb751bb41a2efc7ef2231dc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:364-378 | crates/libs/windows/src/Windows/Foundation/mod.rs:881-891 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":364}}}],"partialFingerprints":{"codehealthFindingId/v1":"9004c34918c16c5227b2a248dbe215676301b97a2c57575d425636068df45089"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:380-394 | crates/libs/windows/src/Windows/Foundation/mod.rs:893-903 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":380}}}],"partialFingerprints":{"codehealthFindingId/v1":"5232cf588b8e730e7b0e47736c3d89cdf2f4a01e13c61d10014ea7a5bef350bd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11\u201315 lines \u00D7 2): crates/libs/reference/src/bindings.rs:396-410 | crates/libs/windows/src/Windows/Foundation/mod.rs:905-915 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":396}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2954be5440121c23ce8d6f609ce8f0355b91a1e92a6ae6a47dcf814dfeb7c11"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4685-4699 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5274-5288 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":4685}}}],"partialFingerprints":{"codehealthFindingId/v1":"57ac20d2bf22e5336a8221f22afd6e14d724651e29f08214dc49f99980735f4c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13102-13116 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13351-13365 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":13102}}}],"partialFingerprints":{"codehealthFindingId/v1":"058dea43cb99d7f7b90f9b7ead8edc0579010b155fb9610b8d8565a0d8344caa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 3): crates/libs/collections/src/bindings.rs:302-315 | crates/libs/collections/src/bindings.rs:2355-2368 | crates/libs/collections/src/bindings.rs:2789-2802 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":302}}}],"partialFingerprints":{"codehealthFindingId/v1":"8879626e90f0f65436ad75ebbaf088eefbc31d4f25a05373821ac9fd2ab32750"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2593-2606 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2767-2780 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2822-2835 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dsound/mod.rs"},"region":{"startLine":2593}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b903c70dc8620dfccdaaf0157b86e2fee5321aa0e2be0075f2d574088a28379"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): crates/libs/bindgen/src/filter.rs:656-669 | crates/libs/bindgen/src/implements.rs:33-46 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter.rs"},"region":{"startLine":656}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ea6eca118f40e47b8f52ac3221e29455cb2e64c071d1ef918b880f4bbf4e1df"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/view.rs:1425-1438 | crates/libs/reactor/src/core/pump/planner/view.rs:1522-1535 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1425}}}],"partialFingerprints":{"codehealthFindingId/v1":"cfb475f7b270043f9e39f306b02844fe68573cc9b78eb82941f8260da7bd99db"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2231-2244 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:7225-7238 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":2231}}}],"partialFingerprints":{"codehealthFindingId/v1":"047366ec6defc4ec59a831414b169441594cac9fd5f9d4eebce09f5ca3a27014"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenc/mod.rs:885-898 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1097-1110 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenc/mod.rs"},"region":{"startLine":885}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ffd608fa9b1ee756187f1d4a08383f328895427dcc85e8e402dbbdd32ccd357"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12060-12073 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:17339-17352 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 26 separate duplicated blocks between them, totalling at least 284 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d11/mod.rs"},"region":{"startLine":12060}}}],"partialFingerprints":{"codehealthFindingId/v1":"d510e233c41c84b17b616638df979b3e70beee810379f8ff147a07c9b913a58d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48266-48279 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:49268-49281 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":48266}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b2ec35cbe0aeeec8768a5612dcb520f0d5b552f03b494d5099776825007b2cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1635-1648 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:2090-2103 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1635}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc3603ef2a572bc4e34e47a8d34b576b54fbe7cece55b9f519de055c27ce5117"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): crates/libs/reactor/src/app/mod.rs:684-696 | crates/libs/reactor/src/app/mod.rs:705-717 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":684}}}],"partialFingerprints":{"codehealthFindingId/v1":"ceb9a335828e51e71432ea07e41a00e7fa739a0cc181442ad823a6a7d058a050"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/view.rs:435-447 | crates/libs/reactor/src/core/pump/planner/view.rs:479-491 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":435}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1bc6ea50d38656d808139749389d31ff2b861c5212c65ced318737916cfcdf3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/view.rs:1380-1392 | crates/libs/reactor/src/core/pump/planner/view.rs:1477-1489 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1380}}}],"partialFingerprints":{"codehealthFindingId/v1":"52f325046fe2d78503985a89d78561ad7e4f2f0b5fbba7c04dbef69ee99ac2b0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/view.rs:1749-1761 | crates/libs/reactor/src/core/pump/planner/view.rs:1839-1851 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1749}}}],"partialFingerprints":{"codehealthFindingId/v1":"b67cc295a1bf99a39f8a0b73ba5be9129ddddb8a8dcef82e983d458075da2701"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): crates/libs/reactor/src/native/winui/mod.rs:1418-1430 | crates/libs/reactor/src/native/winui/mod.rs:1587-1599 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":1418}}}],"partialFingerprints":{"codehealthFindingId/v1":"bed1594d2d8547a20ff7ae4988bc50bb001b24cc7c0d309d3bef67bc835abd61"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): crates/libs/reactor/src/native/winui/mod.rs:3031-3043 | crates/libs/reactor/src/native/winui/mod.rs:3078-3090 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":3031}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ba297588565b3e1653c200cecc4872657cf8e30becd810172670759af01eae8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:623-635 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:744-756 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs"},"region":{"startLine":623}}}],"partialFingerprints":{"codehealthFindingId/v1":"5101ca60192a7d788721e6887739229d0c92856a6fb909ccf58f12e9f39cfae7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9\u201312 lines \u00D7 211): crates/libs/collections/src/bindings.rs:87-96 | crates/libs/collections/src/bindings.rs:485-494 | crates/libs/collections/src/bindings.rs:1008-1017 | crates/libs/future/src/bindings.rs:1563-1574 | crates/libs/future/src/bindings.rs:1908-1919 | crates/libs/reference/src/bindings.rs:1058-1067 | crates/libs/windows/src/Windows/AI/Actions/Provider/mod.rs:31-40 | crates/libs/windows/src/Windows/AI/Actions/Provider/mod.rs:84-92 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:535-544 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1808-1817 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1888-1896 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2031-2039 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2111-2120 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2197-2206 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2283-2292 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2405-2414 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2562-2571 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2637-2646 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2713-2722 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2808-2817 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2882-2890 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2966-2974 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3086-3095 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3197-3206 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3328-3337 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3410-3419 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3494-3503 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3620-3629 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3750-3759 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3829-3837 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3902-3911 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3997-4006 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4075-4084 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4164-4172 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4257-4266 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4334-4343 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4425-4434 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4504-4513 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4557-4566 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4641-4649 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4717-4726 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4790-4799 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4876-4884 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4960-4968 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5052-5061 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5140-5149 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5212-5220 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5299-5307 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5439-5448 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5586-5594 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5662-5671 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5737-5745 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5830-5839 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5911-5920 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5986-5995 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6078-6087 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6134-6143 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6213-6222 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6301-6309 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6408-6417 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6489-6498 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6568-6576 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6644-6652 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6759-6768 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6842-6851 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6929-6938 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2476-2485 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2719-2727 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2989-2997 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:3085-3093 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs:190-199 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4368-4377 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4464-4473 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4606-4615 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4924-4933 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:964-972 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:522-531 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:123-132 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:169-177 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:863-871 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:979-987 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1327-1335 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1653-1662 | crates/libs/windows/src/Windows/Data/Json/mod.rs:227-236 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1819-1828 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2238-2246 | crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:238-246 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:80-89 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:382-390 | crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:30-39 | crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:234-242 | crates/libs/windows/src/Windows/Devices/I2c/mod.rs:390-399 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:292-301 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3503-3511 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4607-4616 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4926-4935 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:5634-5643 | crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs:220-228 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:734-743 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1117-1126 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:61-70 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:236-244 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:179-188 | crates/libs/windows/src/Windows/Devices/mod.rs:173-182 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1352-1361 | crates/libs/windows/src/Windows/Foundation/mod.rs:252-261 | crates/libs/windows/src/Windows/Foundation/mod.rs:320-328 | crates/libs/windows/src/Windows/Foundation/mod.rs:1484-1492 | crates/libs/windows/src/Windows/Foundation/mod.rs:1614-1623 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1123-1132 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1199-1208 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:565-574 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:605-614 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:699-708 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:959-968 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1075-1084 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:539-548 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1496-1505 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1706-1715 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1774-1783 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:213-222 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:387-395 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:712-721 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:394-403 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:558-567 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:858-867 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1036-1045 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1408-1417 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1595-1604 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3381-3389 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3890-3899 | crates/libs/windows/src/Windows/Media/Core/mod.rs:1771-1780 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2144-2153 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2242-2251 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2694-2703 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3125-3134 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:2440-2449 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:447-456 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1093-1102 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1187-1196 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:959-968 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:350-359 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:519-528 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:689-698 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:799-808 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1061-1069 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1118-1126 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1224-1233 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1598-1607 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1812-1821 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2425-2434 | crates/libs/windows/src/Windows/Media/mod.rs:661-670 | crates/libs/windows/src/Windows/Media/mod.rs:773-782 | crates/libs/windows/src/Windows/Media/mod.rs:838-846 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1575-1584 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1797-1806 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:585-594 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1758-1767 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1887-1896 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1993-2002 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2134-2143 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:306-315 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:786-795 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:877-886 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:983-992 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1111-1120 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1645-1653 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:437-445 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:496-504 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:182-191 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:378-387 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:501-510 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:668-677 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:919-928 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1103-1112 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1239-1248 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1407-1416 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1568-1577 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:816-824 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1306-1315 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1769-1778 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1920-1928 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1967-1976 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2045-2054 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2411-2420 | crates/libs/windows/src/Windows/Storage/mod.rs:1838-1847 | crates/libs/windows/src/Windows/Storage/mod.rs:1935-1944 | crates/libs/windows/src/Windows/Storage/mod.rs:2350-2359 | crates/libs/windows/src/Windows/Storage/mod.rs:2442-2450 | crates/libs/windows/src/Windows/Storage/mod.rs:3060-3069 | crates/libs/windows/src/Windows/Storage/mod.rs:3234-3243 | crates/libs/windows/src/Windows/Storage/mod.rs:3354-3362 | crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs:135-144 | crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs:194-203 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3164-3173 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:203-212 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:330-338 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:248-256 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:428-436 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:716-725 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1107-1116 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:318-327 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:149-157 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:196-205 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:398-407 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:673-682 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:514-522 | crates/libs/windows/src/Windows/Web/Http/mod.rs:2169-2178 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:255-264 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:750-759 | crates/libs/windows/src/Windows/Web/mod.rs:42-50 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/future/src/bindings.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0c7664244ddb9ac2172f8149c1cf9ac71a26c1063034137fa7fc87b5c1bf89b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 21): crates/libs/webview/src/bindings.rs:838-849 | crates/libs/webview/src/bindings.rs:961-972 | crates/libs/webview/src/bindings.rs:1135-1146 | crates/libs/webview/src/bindings.rs:1235-1246 | crates/libs/webview/src/bindings.rs:2170-2181 | crates/libs/webview/src/bindings.rs:2231-2242 | crates/libs/webview/src/bindings.rs:2339-2350 | crates/libs/webview/src/bindings.rs:2448-2459 | crates/libs/webview/src/bindings.rs:2851-2862 | crates/libs/webview/src/bindings.rs:3725-3736 | crates/libs/webview/src/bindings.rs:3784-3795 | crates/libs/webview/src/bindings.rs:4018-4029 | crates/libs/webview/src/bindings.rs:4119-4130 | crates/libs/webview/src/bindings.rs:4274-4285 | crates/libs/webview/src/bindings.rs:4433-4444 | crates/libs/webview/src/bindings.rs:4594-4605 | crates/libs/webview/src/bindings.rs:4682-4693 | crates/libs/webview/src/bindings.rs:5570-5581 | crates/libs/webview/src/bindings.rs:5688-5699 | crates/libs/webview/src/bindings.rs:5852-5863 | crates/libs/webview/src/bindings.rs:5928-5939 \u2014 all 21 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":838}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1c24ad991c2703b961e65020f982301ba82e31ce1cb1b55a6629edd903a22a7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 6): crates/libs/reactor/src/core/pump/planner/view.rs:1913-1924 | crates/libs/reactor/src/core/pump/planner/view.rs:1958-1969 | crates/libs/reactor/src/core/pump/planner/view.rs:2013-2024 | crates/libs/reactor/src/core/pump/planner/view.rs:2050-2061 | crates/libs/reactor/src/core/pump/planner/view.rs:2080-2091 | crates/libs/reactor/src/core/pump/planner/view.rs:2116-2127 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1913}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d0a2420198ea3aea3dd200d7bff083582855e419e26a3e65cea260236a9fcf8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 3): crates/libs/collections/src/bindings.rs:815-826 | crates/libs/collections/src/bindings.rs:2243-2254 | crates/libs/collections/src/bindings.rs:2761-2772 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":815}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab4c8d56594630c6a638538ff72cf5a403375a4831d251847c74b400ba5df5ac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:5381-5392 | crates/libs/reactor/src/native/winui/bindings.rs:16510-16521 | crates/libs/reactor/src/native/winui/bindings.rs:18584-18595 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":5381}}}],"partialFingerprints":{"codehealthFindingId/v1":"da9b66c7825c886c9306ebce3948bb3473914c3c1507a6f4cc8dfde8bfc8e534"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 3): crates/libs/webview/src/bindings.rs:899-910 | crates/libs/webview/src/bindings.rs:1022-1033 | crates/libs/webview/src/bindings.rs:3668-3679 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":899}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b3632dc6c43d3306e6d0887a7be32a8fd3ceaf27cb9aada5eea9c662b6cb4eb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/bindgen/src/types/cpp_enum.rs:46-57 | crates/libs/bindgen/src/types/enum.rs:86-97 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_enum.rs"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"d23621935819a88c3a8c7ca6e6dcfa9389cf4c234df6d2331586bc441197cf8b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10\u201312 lines \u00D7 2): crates/libs/bindgen/src/types/cpp_interface.rs:211-220 | crates/libs/bindgen/src/types/interface.rs:548-559 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_interface.rs"},"region":{"startLine":211}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4c10c04660cef640044c403aa8fe3c993a3b8fe3e400732a7bb5de6fc796266"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/clang/src/lib.rs:944-955 | crates/libs/clang/src/lib.rs:965-976 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":944}}}],"partialFingerprints":{"codehealthFindingId/v1":"b05ee2e20fc847ec740a60cf200588bd6d28a8d3c1803acee7980d3cca30c783"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/collections/src/bindings.rs:726-737 | crates/libs/collections/src/bindings.rs:1216-1227 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":726}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b1b1806a12269047e7cae2294f31d97d04a6a148fd848085ab4b6b2b0dadf9d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1273-1284 | crates/libs/composition/src/bindings_lifted.rs:2203-2214 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1273}}}],"partialFingerprints":{"codehealthFindingId/v1":"5dc8518034c90ee7b6de38841acb26be5e67629a290b57df356eee9f2aa06f26"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1389-1400 | crates/libs/composition/src/bindings_lifted.rs:1213-1224 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1389}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0875459436f91304b66cdfc19789df0a9604ed35ec9defc1b42716e0f0a585c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/core/src/imp/bindings.rs:111-122 | crates/libs/core/src/imp/bindings.rs:177-188 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/core/src/imp/bindings.rs"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"578ba5c080ac72948a22a521736f8fd83ba16b7e3fa52da2708f4b3a5cfd76ac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/core/src/imp/sha1.rs:155-166 | crates/libs/core/src/imp/sha1.rs:282-293 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/core/src/imp/sha1.rs"},"region":{"startLine":155}}}],"partialFingerprints":{"codehealthFindingId/v1":"124d9f3091e05b27c3b05469adbac9f486b3e0e16061a30bbddbc0211c9cf7a5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/rdl/src/reader/interface.rs:335-346 | crates/libs/rdl/src/reader/interface.rs:408-419 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/interface.rs"},"region":{"startLine":335}}}],"partialFingerprints":{"codehealthFindingId/v1":"eeedac361be33f157bc8134ef91f098a984937030635d4c1924f03c5ae7f548f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/rdl/src/reader/struct.rs:16-27 | crates/libs/rdl/src/reader/union.rs:14-25 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/struct.rs"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ac87de307f257549bb5cf98c4615f4386f712b694c7340caf9c9866941f4101"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/topology.rs:351-362 | crates/libs/reactor/src/core/pump/planner/topology.rs:368-379 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/topology.rs"},"region":{"startLine":351}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f352780723827892b3611004c4fb7cb8b03de4da7bce60acafd27f53a462f61"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/view.rs:1411-1422 | crates/libs/reactor/src/core/pump/planner/view.rs:1508-1519 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1411}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbc9a4fdfb45451a709da3a7cc8e8128427d8706270424d56d29a8ef6ae5c908"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:19220-19231 | crates/libs/reactor/src/native/winui/bindings.rs:19252-19263 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":19220}}}],"partialFingerprints":{"codehealthFindingId/v1":"481462d501e81fdd491960c98c76cfce7746cbf19149a213dd2d44f906a0df16"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/reactor/src/native/winui/mod.rs:2385-2396 | crates/libs/reactor/src/native/winui/mod.rs:2471-2482 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":2385}}}],"partialFingerprints":{"codehealthFindingId/v1":"14d68088380ac13a80b7c4a4226263e8adfbeb44db0e0d9a9101fcd84f210317"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:2947-2958 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4264-4275 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":2947}}}],"partialFingerprints":{"codehealthFindingId/v1":"707600c35dddc911b30a101af1a04a98234c65b1b2268df0948a3e40e849768e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:36653-36664 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37049-37060 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":36653}}}],"partialFingerprints":{"codehealthFindingId/v1":"0cfafc916ee983b46099184122311bbc37f69d0e43fe26865f4669c841023512"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6746-6756 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8292-8302 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9881-9891 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11482-11492 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13098-13108 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:14743-14753 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":6746}}}],"partialFingerprints":{"codehealthFindingId/v1":"02befaef56612f264cb0a69a5967a2d53fda5fcc90ec7839512bbe3a146dd494"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2593-2603 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2707-2717 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2767-2777 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2822-2832 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dsound/mod.rs"},"region":{"startLine":2593}}}],"partialFingerprints":{"codehealthFindingId/v1":"393f423f95c001d93fdc657700a2094ff04b6b615c13c7db65552e6764add93f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 3): crates/libs/rdl/src/reader/mod.rs:847-857 | crates/libs/rdl/src/reader/mod.rs:896-906 | crates/libs/rdl/src/reader/mod.rs:923-933 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":847}}}],"partialFingerprints":{"codehealthFindingId/v1":"947865494273723faf9f7156b4f6ef520c25c87a1045640b46e9a76a400d6721"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13017-13027 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13267-13277 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13640-13650 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":13017}}}],"partialFingerprints":{"codehealthFindingId/v1":"149b9738728a9ca4711a94f3b5eb004ecabd59f984587e03f2e4327c87c06dec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:18262-18272 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:19284-19294 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:20265-20275 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":18262}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a78a8197cdcff352b59e612004cd17c86cee045c51a2625334fd5f73f090ec1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/bindgen/src/filter.rs:482-492 | crates/libs/bindgen/src/filter.rs:561-571 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter.rs"},"region":{"startLine":482}}}],"partialFingerprints":{"codehealthFindingId/v1":"752b5328553eea705b104a60ef47357e681ccb51b156408df461212c799adde5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/clang/src/extract.rs:1462-1472 | crates/libs/clang/src/extract.rs:1486-1496 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":1462}}}],"partialFingerprints":{"codehealthFindingId/v1":"8164129ddf52e6671c3f66a8dbbb2c9de95b2e2c584f507c844e511f2c05f2f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/clang/src/lib.rs:730-740 | crates/libs/clang/src/lib.rs:753-763 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":730}}}],"partialFingerprints":{"codehealthFindingId/v1":"8141ca8798ee3c34f43a1d2af5f4f25efbb97b7646c018637d78c46f01fb136a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/clang/src/lib.rs:956-966 | crates/libs/clang/src/lib.rs:977-987 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":956}}}],"partialFingerprints":{"codehealthFindingId/v1":"35bb6484ff6684e69474b7b8fbb8d41e396b7220e22db062184b3c27ae678327"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/collections/src/bindings.rs:748-758 | crates/libs/collections/src/bindings.rs:1238-1248 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":748}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f8e2dbdff2c67c306548286ce02efc8f670085323cacef0a4b82ea10b21ec94"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/collections/src/bindings.rs:2007-2017 | crates/libs/collections/src/bindings.rs:2631-2641 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2007}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6a91f3a9220afee47ed57ce7d360eca32c3732992cbae615a8066fb6d48392b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/collections/src/bindings.rs:2179-2189 | crates/libs/collections/src/bindings.rs:2718-2728 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2179}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc24a1fb061be48c64f5a150b907bb0b5a233b9d83c5348fdaf47e5566c215d0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7\u201311 lines \u00D7 3): crates/libs/collections/src/bindings.rs:2256-2266 | crates/libs/collections/src/bindings.rs:2271-2281 | crates/libs/collections/src/bindings.rs:2285-2291 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2256}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ab506f7d0f8ac5b36d88753a4b3fedb5143bf21ce56fec1decab72a6b2ef789"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1949-1959 | crates/libs/composition/src/bindings_lifted.rs:1698-1708 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1949}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e878ad1b040759647e8f89fb2b7a1e8080d9e14531c800c03941fcead7439c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/future/src/bindings.rs:1542-1552 | crates/libs/future/src/bindings.rs:1886-1896 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1542}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f0ca85b7efa32e92bf7a34eb865d3321eee4cc6df70dfbfb41331e7d6073d4b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/future/src/bindings.rs:1814-1824 | crates/libs/future/src/bindings.rs:1855-1865 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1814}}}],"partialFingerprints":{"codehealthFindingId/v1":"db65806498e72b58a813b26f9e951ca94d09cab934dc46d7fa84c84672eca016"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/future/src/bindings.rs:1833-1843 | crates/libs/future/src/bindings.rs:1874-1884 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1833}}}],"partialFingerprints":{"codehealthFindingId/v1":"186082488bf41a8578f493317cda0435e8b2d2f13d07c3d0427bd636415ef4bf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/pickers/src/folder.rs:97-107 | crates/libs/pickers/src/open.rs:132-142 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/pickers/src/folder.rs"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"ffe8d8b3e21160e320628454e1e4b13d19a25ac76e50b5071347ad6fc3f48db0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/rdl/src/writer/mod.rs:156-166 | crates/libs/rdl/src/writer/mod.rs:204-214 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/mod.rs"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"08e94e27f7079b2e880dbf39008f7aeaeddece39bc33d6943106b0d3787e2920"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/view.rs:1901-1911 | crates/libs/reactor/src/core/pump/planner/view.rs:1946-1956 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1901}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf23713675c81874d2d135da35c4bea9cb34dae5a6afa4f09fcd835861aa1fb8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10\u201311 lines \u00D7 2): crates/libs/reactor/src/native/winui/mod.rs:2430-2440 | crates/libs/reactor/src/native/winui/mod.rs:2505-2514 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":2430}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdb37ddb114338601434acb51a2bfac61ffe75552f216d9ad253b9cac63d9768"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/reactor/src/native/winui/mod.rs:3121-3131 | crates/libs/reactor/src/native/winui/mod.rs:3172-3182 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":3121}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b9ffb4fd804ca25567f0a500571e197ad739fecbc155bd30eef187963acfca3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/reactor/src/native/winui/mod.rs:3287-3297 | crates/libs/reactor/src/native/winui/mod.rs:3307-3317 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":3287}}}],"partialFingerprints":{"codehealthFindingId/v1":"7de600bbb3dcd204628dd933690435a500bfacc62d55ee0721a7b79561521cc3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/reactor/src/native/winui/mod.rs:4500-4510 | crates/libs/reactor/src/native/winui/mod.rs:4547-4557 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":4500}}}],"partialFingerprints":{"codehealthFindingId/v1":"e28ec5ffb9dc6314382ec5bc0bdb2686a8052da0b7fdb94bfc22dbedb9137bd1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/time/src/datetime.rs:337-347 | crates/libs/time/src/timespan.rs:337-347 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/time/src/datetime.rs"},"region":{"startLine":337}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b77df427f141c8b8a6cfd3e2d005c25d706883553672bc4180f8331297925a0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6\u201311 lines \u00D7 2): crates/libs/time/src/datetime.rs:164-169 | crates/libs/time/src/datetime.rs:312-322 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/time/src/datetime.rs"},"region":{"startLine":164}}}],"partialFingerprints":{"codehealthFindingId/v1":"761bf9501baa0d42aef4acc79b79305036dcf81e6595848d07f9c964d2875993"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1475-1485 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1785-1795 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 82 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":1475}}}],"partialFingerprints":{"codehealthFindingId/v1":"977625a7f244923ace3ff51296498dab7761557d9416946a9acf9720b8fec821"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8\u201311 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1044-1051 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1714-1724 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":1044}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b81d110afbc9275a963c07a7871f035d9d6bc38efd8ed65741a14285510f367"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3411-3421 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5474-5484 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":3411}}}],"partialFingerprints":{"codehealthFindingId/v1":"172be4344d885347287821d1f46928c44799b6c32ff47a316639793833413642"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4229-4239 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:8624-8634 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4229}}}],"partialFingerprints":{"codehealthFindingId/v1":"5821f70f7f5db392cb1457b2c6ca49f78f0a0228e0aa988eb89532ba2c822daf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dinput/mod.rs:3084-3094 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:3238-3248 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dinput/mod.rs"},"region":{"startLine":3084}}}],"partialFingerprints":{"codehealthFindingId/v1":"7beb794406e67a7ae6a82955b415cd45d7bd5d3b2ba69559d2de69a2251460a0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:611-621 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:909-919 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs"},"region":{"startLine":611}}}],"partialFingerprints":{"codehealthFindingId/v1":"414c9e26d5b27600acd546255d7e8da6d55656354dca83d0d0b507e742ae17ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/iads/mod.rs:6124-6134 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6397-6407 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":6124}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c9c10bdad592cfcdde126261c2e6ec055b2dc9010abcacf946cf17f6961393b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/iads/mod.rs:9671-9681 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10948-10958 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":9671}}}],"partialFingerprints":{"codehealthFindingId/v1":"12c6aecd69196f1c86675446133f2eada8a271ea33cccdbb5823cbe964b37611"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8\u201310 lines \u00D7 91): crates/libs/core/src/imp/bindings.rs:236-245 | crates/libs/windows/src/Windows/Win32/appserviceinterop/mod.rs:101-108 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:161-168 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:695-704 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:805-814 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:861-868 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:906-915 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:989-998 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1219-1228 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1352-1359 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1563-1572 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1609-1616 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1732-1741 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1782-1789 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2086-2093 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2231-2240 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2890-2899 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2952-2959 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3069-3078 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3196-3205 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3359-3368 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3470-3479 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3582-3591 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3632-3641 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3761-3770 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4520-4527 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6053-6062 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6276-6283 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6399-6408 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6925-6934 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:7225-7234 | crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:368-377 | crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:581-590 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:2085-2094 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:2210-2219 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:3948-3957 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:4069-4078 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:4247-4256 | crates/libs/windows/src/Windows/Win32/castinginterop/mod.rs:213-222 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:142-151 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:331-340 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:411-420 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:3452-3459 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4646-4655 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4853-4862 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5186-5195 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5451-5460 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5746-5755 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7559-7566 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8830-8839 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10396-10405 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:308-317 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:1186-1195 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:1284-1293 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:309-318 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:1425-1434 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5849-5858 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:8798-8807 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8682-8691 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:9663-9672 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10580-10587 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12402-12409 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:4750-4759 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26055-26064 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:337-346 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:385-392 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:2073-2082 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:2953-2962 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:4928-4937 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1056-1065 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1832-1839 | crates/libs/windows/src/Windows/Win32/dispex/mod.rs:157-166 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:158-167 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:585-594 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2257-2266 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3442-3451 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3768-3777 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4034-4041 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5770-5779 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6154-6163 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6198-6205 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6359-6368 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6680-6689 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6884-6893 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7409-7418 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7640-7649 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2726-2735 | crates/libs/windows/src/Windows/Win32/fhcfg/mod.rs:405-414 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:681-690 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:739-746 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:448-457 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 44 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/core/src/imp/bindings.rs"},"region":{"startLine":236}}}],"partialFingerprints":{"codehealthFindingId/v1":"af30d8ab7c46c832ab8d5b0eeae12fe831c762fea46dec06c354a822cac17c7e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8\u201310 lines \u00D7 75): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:690-699 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1677-1686 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:246-255 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:351-358 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:525-534 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:140-149 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:372-381 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:658-667 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:881-890 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1093-1102 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1325-1334 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:327-336 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:576-585 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2178-2187 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2469-2478 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2635-2644 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2703-2710 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2805-2814 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3819-3828 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4088-4097 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4262-4271 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4484-4493 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4654-4663 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4942-4951 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5308-5317 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5841-5850 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5935-5944 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:7255-7264 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10132-10141 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10503-10512 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10570-10577 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10688-10697 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10868-10877 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11536-11545 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12546-12555 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12614-12621 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13959-13966 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14044-14053 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16016-16025 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16771-16780 | crates/libs/windows/src/Windows/Win32/certexit/mod.rs:80-89 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:188-197 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:379-388 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:607-616 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:779-788 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:397-406 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5051-5060 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5805-5812 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6183-6190 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6682-6691 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7138-7145 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8026-8035 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8129-8138 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9398-9407 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9502-9511 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10776-10785 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10999-11008 | crates/libs/windows/src/Windows/Win32/control/mod.rs:81-90 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1910-1917 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2315-2322 | crates/libs/windows/src/Windows/Win32/dispex/mod.rs:338-347 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:1260-1269 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1224-1233 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1365-1374 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1520-1529 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2259-2268 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2823-2832 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1132-1141 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1578-1587 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1735-1744 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:2769-2778 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3668-3677 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5697-5706 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6606-6613 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10079-10088 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certcli/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 80 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":690}}}],"partialFingerprints":{"codehealthFindingId/v1":"21f7f96798fbd798ce1422ba6101e900ec5b50e4b954d0a39b73da01fc74f789"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8\u201310 lines \u00D7 21): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:440-449 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:2513-2522 | crates/libs/windows/src/Windows/Win32/commdlg/mod.rs:526-535 | crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:496-505 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:3519-3528 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:958-965 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:218-227 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:20644-20653 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20136-20145 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:36451-36460 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2952-2961 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:473-482 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1381-1390 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1452-1461 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:810-819 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2974-2983 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8463-8472 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:11494-11503 | crates/libs/windows/src/Windows/Win32/evr/mod.rs:816-825 | crates/libs/windows/src/Windows/Win32/fhcfg/mod.rs:469-478 | crates/libs/windows/src/Windows/Win32/gpedit/mod.rs:653-662 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 62 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":440}}}],"partialFingerprints":{"codehealthFindingId/v1":"521881fc1ca917658a9684e564f19b51d1ee88872e5bf1ca7323e8f75e4f9d12"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 12): crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:4073-4082 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3245-3254 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3345-3354 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3445-3454 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3545-3554 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:335-344 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:415-424 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5455-5464 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:580-589 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:681-690 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:162-171 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:452-461 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comcat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs"},"region":{"startLine":4073}}}],"partialFingerprints":{"codehealthFindingId/v1":"8056623f1166b59397c964295b46eb2ff93be491b5b71e28d07a134208a603b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 8): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12827-12836 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12908-12917 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13102-13111 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13186-13195 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13351-13360 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13435-13444 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13516-13525 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13723-13732 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":12827}}}],"partialFingerprints":{"codehealthFindingId/v1":"4931c1a8d54bb99a6e50ecb28e844ff606b7d068c513d8ccf413d075b1c5a63d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 6): crates/libs/reactor/src/native/winui/bindings.rs:21907-21917 | crates/libs/windows/src/Windows/Foundation/mod.rs:1428-1438 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:100-110 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:176-186 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1009-1018 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2673-2683 \u2014 there are 6 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":21907}}}],"partialFingerprints":{"codehealthFindingId/v1":"e74a1f88603689770467c0c17d8c183db1d244e5e3db69d886fe6ff8355b2023"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:133-142 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:162-171 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:602-611 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1494-1503 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1544-1553 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1558-1567 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 41 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":133}}}],"partialFingerprints":{"codehealthFindingId/v1":"70d85effe601a24c5c40f7f2df92eb7df4cc716bdabab6df7816f7ff741b4c81"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8\u201310 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1178-1187 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1365-1372 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1490-1499 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1790-1799 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1862-1869 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2023-2032 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":1178}}}],"partialFingerprints":{"codehealthFindingId/v1":"256faf4452804b899a2b0a283ad442f6f36133c788f8fd0834577ebf799ade04"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5670-5679 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7260-7269 | crates/libs/windows/src/Windows/Win32/gameux/mod.rs:73-82 | crates/libs/windows/src/Windows/Win32/gameux/mod.rs:151-160 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:1410-1419 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 62 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":5670}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bc57a59d126834941cbacc77df80894e3b035e711e382ef38f7d5a92598ebdb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:474-483 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2381-2390 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5087-5096 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6799-6808 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14187-14196 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":474}}}],"partialFingerprints":{"codehealthFindingId/v1":"c21b408e5b3ca1f96fbe8e666f7d0f79f674aa1ac5ff6849dda5ad33ceba5d1c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6284-6293 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6408-6417 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6494-6503 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6575-6584 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6656-6665 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":6284}}}],"partialFingerprints":{"codehealthFindingId/v1":"207beb6cd247ddd642a560e7a3f6de6b24ff4b4f31b5bc0dcd69eb55d539d32b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8\u201310 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1790-1799 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:655-662 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7924-7933 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:73-80 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1801-1808 \u2014 \u0060crates/libs/windows/src/Windows/Win32/comadmin/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 76 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comadmin/mod.rs"},"region":{"startLine":1790}}}],"partialFingerprints":{"codehealthFindingId/v1":"42c97bbc719c7934e4490457d7e8ac59854303069362c522b2e30e21e9bb47d4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): crates/libs/future/src/bindings.rs:780-789 | crates/libs/future/src/bindings.rs:999-1008 | crates/libs/future/src/bindings.rs:1447-1456 | crates/libs/future/src/bindings.rs:1721-1730 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":780}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2eb7dcea18979e13b946de0ade1189af7f1903d389e2aad4c72fd0443f81ad6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): crates/libs/future/src/bindings.rs:791-800 | crates/libs/future/src/bindings.rs:1010-1019 | crates/libs/future/src/bindings.rs:1458-1467 | crates/libs/future/src/bindings.rs:1732-1741 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":791}}}],"partialFingerprints":{"codehealthFindingId/v1":"6644e0949496ab0271d050cbe01ba5037dfc50d6c0f9b66d0e46d45fba22303a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): crates/libs/future/src/bindings.rs:802-811 | crates/libs/future/src/bindings.rs:1021-1030 | crates/libs/future/src/bindings.rs:1469-1478 | crates/libs/future/src/bindings.rs:1743-1752 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":802}}}],"partialFingerprints":{"codehealthFindingId/v1":"e90dd02da48a2bd6061aa3fd861063d97d89412324814083b23d3a100f57d8d7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9\u201310 lines \u00D7 4): crates/libs/future/src/bindings.rs:860-868 | crates/libs/future/src/bindings.rs:1144-1153 | crates/libs/future/src/bindings.rs:1542-1551 | crates/libs/future/src/bindings.rs:1886-1895 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":860}}}],"partialFingerprints":{"codehealthFindingId/v1":"a27d7a6c2b9ea83d2d76577704ae47b9f2e54467725ee0605bd3b9fbae9d625e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:208-217 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3411-3420 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5474-5483 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:2056-2065 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 155 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":208}}}],"partialFingerprints":{"codehealthFindingId/v1":"143738bd3478b1485a6d3148cf326397e0d6b71f64b7f12ed9c6da385d3fab32"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 3): crates/libs/bindgen/src/types/method.rs:485-494 | crates/libs/bindgen/src/types/method.rs:512-521 | crates/libs/bindgen/src/types/method.rs:839-848 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/method.rs"},"region":{"startLine":485}}}],"partialFingerprints":{"codehealthFindingId/v1":"86e5b68f59b2c235437a7309c584a8f202b29987f18a4566702034e0b11cf2d1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9\u201310 lines \u00D7 3): crates/libs/collections/src/bindings.rs:463-472 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4355-4363 | crates/libs/windows/src/Windows/Foundation/mod.rs:1601-1609 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 49 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":463}}}],"partialFingerprints":{"codehealthFindingId/v1":"d7f865ffb4b53a520a42080c2a81204c8fd284e6332c2234296f200973975924"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 3): crates/libs/reactor/src/core/pump/planner/view.rs:1901-1910 | crates/libs/reactor/src/core/pump/planner/view.rs:1946-1955 | crates/libs/reactor/src/core/pump/planner/view.rs:2105-2114 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1901}}}],"partialFingerprints":{"codehealthFindingId/v1":"235902dae53a7d5eba4b37c114c138eb91f0fac1095fdf6be20b59bdb369520f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4686-4695 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4896-4905 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5275-5284 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":4686}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ba954fde3721852e6d17825426d94e6e1ba5f9f3bbee8b5d4f52894a0186fe8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:1541-1550 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9431-9440 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9615-9624 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dwrite/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 77 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs"},"region":{"startLine":1541}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8a5f61b6d57d1923386e784c4c8b713581e89e031a2e9eba7ded5fac8a1b868"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:402-411 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:623-632 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:744-753 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs"},"region":{"startLine":402}}}],"partialFingerprints":{"codehealthFindingId/v1":"43dfb02f98e5818b47698dc9d13e58aa1a05d6279d81bb902dd1bd46701fd454"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9\u201310 lines \u00D7 2): crates/libs/bindgen/src/types/delegate.rs:77-85 | crates/libs/bindgen/src/types/interface.rs:296-305 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/delegate.rs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ce6cf7dca666875d0397ef18780d050072ee774948883c2f1179177f2e78eda"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9\u201310 lines \u00D7 2): crates/libs/clang/src/extract.rs:409-418 | crates/libs/clang/src/extract.rs:437-445 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":409}}}],"partialFingerprints":{"codehealthFindingId/v1":"b87295aa9ccbfd964033e525e649c3f9e2b01393c22a4922db08a3fb0778fd0f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/collections/src/bindings.rs:249-258 | crates/libs/collections/src/bindings.rs:269-278 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":249}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0e69909e3d3f3d9210cae13cc2560e1ea3b283e65a1639d4fc7ed9c26038f22"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/collections/src/bindings.rs:576-585 | crates/libs/collections/src/bindings.rs:1099-1108 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":576}}}],"partialFingerprints":{"codehealthFindingId/v1":"11b523099e43367e632871c1756cf1ec8f88d5768b37f6af9734401e12a900b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/collections/src/bindings.rs:600-609 | crates/libs/collections/src/bindings.rs:1123-1132 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":600}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e62bc24e5ce95bb2eacf2c96232d353e11ad81b365d118624e550a5a62bb649"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/collections/src/bindings.rs:1973-1982 | crates/libs/collections/src/bindings.rs:2607-2616 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":1973}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1571224088c05f4c7710ebb1ebdd96730f7e9a2d3d22d7ea0d158075c558860"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (1\u201310 lines \u00D7 30): crates/libs/collections/src/bindings.rs:2086-2095 | crates/libs/collections/src/bindings.rs:2649-2658 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:390-391 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:392-392 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:580-581 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:582-582 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1200-1201 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1202-1202 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:192-193 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:194-194 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:458-459 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:460-460 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1842-1843 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1844-1844 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3627-3628 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3629-3629 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3731-3732 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3733-3733 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:238-239 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:240-240 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:96-97 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:98-98 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:59-60 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:61-61 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:350-351 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:352-352 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1594-1595 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1596-1596 | crates/libs/windows/src/Windows/Web/Http/mod.rs:515-516 | crates/libs/windows/src/Windows/Web/Http/mod.rs:517-517 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 37 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2086}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c0dbc3540055f8759f7988af60b60b77f022f5fac829954260db4479f366b38"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/collections/src/bindings.rs:2232-2241 | crates/libs/collections/src/bindings.rs:2750-2759 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2232}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb27a923e35d590342d0b9987795968ec22af93324bcc953b20a9d715d8f6384"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/collections/src/bindings.rs:2342-2351 | crates/libs/collections/src/bindings.rs:2776-2785 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2342}}}],"partialFingerprints":{"codehealthFindingId/v1":"c051fcbd2925103dd4e7af488d6ed44b4b93c6b389d2f36a871abcd4114661d4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1924-1933 | crates/libs/composition/src/bindings_lifted.rs:1673-1682 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1924}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e69de123efcf0bcb3feab3c5e25da480f7ad0a9aa0d054aa883eb21bf4634bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1986-1995 | crates/libs/composition/src/bindings_lifted.rs:1735-1744 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1986}}}],"partialFingerprints":{"codehealthFindingId/v1":"554d44d7edd4cae406a8b098340d6407c64addfae09f744818db8c120cc94841"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2013-2022 | crates/libs/composition/src/bindings_lifted.rs:1762-1771 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2013}}}],"partialFingerprints":{"codehealthFindingId/v1":"f438b53067f79faae7f2bfb75ab9914a65ecc540387706a205a2cf35d19fc165"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2218-2227 | crates/libs/composition/src/bindings_lifted.rs:1966-1975 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2218}}}],"partialFingerprints":{"codehealthFindingId/v1":"26bb065db8c4446324336f3712796b92ca22cfcb7028cdec4d548124393c22b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2479-2488 | crates/libs/composition/src/bindings_lifted.rs:2128-2137 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2479}}}],"partialFingerprints":{"codehealthFindingId/v1":"88e8b2e64c0042813d05fba9792bc1e2a17b21078dee6466b2686dddf1c7e05f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/core/src/imp/bindings.rs:73-82 | crates/libs/core/src/imp/bindings.rs:139-148 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/core/src/imp/bindings.rs"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"01fd3f26a06c5239b91a7f3d3443165ae3d52ae945cf66644d556f42ecf2d22f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/core/src/imp/ref_count.rs:23-32 | crates/libs/strings/src/ref_count.rs:17-26 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/core/src/imp/ref_count.rs"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"022332d02fd25173325140071ee15dd0ab320669b9fbec62c36f7b4fa925a33d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/future/src/bindings.rs:1082-1091 | crates/libs/future/src/bindings.rs:1118-1127 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1082}}}],"partialFingerprints":{"codehealthFindingId/v1":"881303560da21dbc5e5dfb9f1576e7e467fba78ad157fdd20c9243a528b52a40"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/future/src/bindings.rs:1097-1106 | crates/libs/future/src/bindings.rs:1133-1142 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1097}}}],"partialFingerprints":{"codehealthFindingId/v1":"8acbdcdd9c07db79db502e5493cd285fc637579b71f6514ab814423b1755d11d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/future/src/bindings.rs:1108-1117 | crates/libs/future/src/bindings.rs:1845-1854 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1108}}}],"partialFingerprints":{"codehealthFindingId/v1":"4195f9c5d3e10327e8a20aab346974c49d9a91b1cacdb5d128254fad04a7b62a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/reactor/src/core/pump/mod.rs:826-835 | crates/libs/reactor/src/core/pump/mod.rs:836-845 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/mod.rs"},"region":{"startLine":826}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3b65502da5afd350559de30d3a257ce4852bbcc640893b6c8f2a2eef79cdfb9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/topology.rs:123-133 | crates/libs/reactor/src/core/pump/planner/topology.rs:794-803 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/topology.rs"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f9fcbb511dfacc8d2c4deaeb12ffbdcf78f99e2c71ae8b0c1af592db29d8c1b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/view.rs:1352-1361 | crates/libs/reactor/src/core/pump/planner/view.rs:1450-1459 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1352}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3da922672acfa60336e5324ff2213f8cdea3df3a0960eb4b2bc3d9a8c6f3420"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/view.rs:1362-1371 | crates/libs/reactor/src/core/pump/planner/view.rs:1460-1469 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1362}}}],"partialFingerprints":{"codehealthFindingId/v1":"31b4ebf9027fb8a849235d0f35997aa8e90a568eaa9ab76fc5edb9a68eea0da7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:6473-6482 | crates/libs/reactor/src/native/winui/bindings.rs:8554-8563 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":6473}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a0b52f57ea791c3f60333878bc95c1ddfc064f06bc507602281411a3ef81649"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/reference/src/bindings.rs:297-306 | crates/libs/windows/src/Windows/Foundation/mod.rs:834-843 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":297}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4d6ebe8584dc6f3e438977da8b3ab2c1d8c34c18b87593659209538859d71f1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/reference/src/bindings.rs:452-461 | crates/libs/reference/src/bindings.rs:599-608 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":452}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa521853ab9e6bc2db41015aebef0dd6222be87980a0f6607eefb5c6619df302"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4306-4315 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6655-6664 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":4306}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f71dbedfa01b8d9f396091aa7bc85421f5894c39f68e535841b657d922b44f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4895-4904 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5548-5557 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":4895}}}],"partialFingerprints":{"codehealthFindingId/v1":"2584d5e22249f873a96420e4125684db01e7dfae7db062f66ee5d7f7cf603a69"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10328-10337 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1616-1625 \u2014 \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dcomp/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 78 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":10328}}}],"partialFingerprints":{"codehealthFindingId/v1":"eff29c263f31cf1d6221a694e6a3a5f6db844264bfa6fa6c11bbc9906b1544c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:9853-9862 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13288-13297 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 26 separate duplicated blocks between them, totalling at least 284 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d11/mod.rs"},"region":{"startLine":9853}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd046b9643f9b448675870f7af9373cc228ece0e3df5657209eb39d007242470"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33742-33751 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:34455-34464 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":33742}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4f6e87ab33b6e1c1836b36072414f31e3a7363c621549aa023af0797d357df5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dinput/mod.rs:2685-2694 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:2835-2844 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dinput/mod.rs"},"region":{"startLine":2685}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bf9cb7fc493b54a4e58318c23052fdb6755c62b6d20515d22389836793ae447"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:10167-10176 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:11060-11069 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":10167}}}],"partialFingerprints":{"codehealthFindingId/v1":"eab07eef84fcc7961f08bf9bd9407c16623bec6fbfa86cd2242edf31d184a098"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/iads/mod.rs:2633-2642 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8404-8413 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":2633}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ae1ded5e3672f3d83b5ebf9e326b94f464d7203c3ea8decadeacac3b8300f33"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 71): crates/libs/collections/src/bindings.rs:726-734 | crates/libs/collections/src/bindings.rs:1216-1224 | crates/libs/reactor/src/native/winui/bindings.rs:9160-9168 | crates/libs/reactor/src/native/winui/bindings.rs:21862-21870 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs:177-185 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4580-4588 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4898-4906 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:483-491 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:496-504 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:509-517 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1544-1552 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1557-1565 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1570-1578 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1583-1591 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1780-1788 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1793-1801 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1806-1814 | crates/libs/windows/src/Windows/Devices/I2c/mod.rs:377-385 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:3287-3295 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:289-297 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:153-161 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:166-174 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1085-1093 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1313-1321 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1326-1334 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:325-333 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1049-1057 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1062-1070 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:342-350 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1330-1338 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1343-1351 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1356-1364 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1369-1377 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1395-1403 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1562-1570 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1551-1559 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:308-316 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:321-329 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:346-354 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:359-367 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:372-380 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:352-360 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:365-373 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1045-1053 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1213-1221 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1226-1234 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1479-1487 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1504-1512 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:768-776 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:807-815 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:833-841 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1195-1203 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2032-2040 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2113-2121 | crates/libs/windows/src/Windows/Storage/mod.rs:1747-1755 | crates/libs/windows/src/Windows/Storage/mod.rs:1760-1768 | crates/libs/windows/src/Windows/Storage/mod.rs:1786-1794 | crates/libs/windows/src/Windows/Storage/mod.rs:1799-1807 | crates/libs/windows/src/Windows/Storage/mod.rs:1812-1820 | crates/libs/windows/src/Windows/Storage/mod.rs:2233-2241 | crates/libs/windows/src/Windows/Storage/mod.rs:2259-2267 | crates/libs/windows/src/Windows/Storage/mod.rs:2285-2293 | crates/libs/windows/src/Windows/Storage/mod.rs:2298-2306 | crates/libs/windows/src/Windows/Storage/mod.rs:2311-2319 | crates/libs/windows/src/Windows/Storage/mod.rs:2595-2603 | crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs:122-130 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1062-1070 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1075-1083 | crates/libs/windows/src/Windows/Web/UI/mod.rs:609-617 | crates/libs/windows/src/Windows/Web/UI/mod.rs:622-630 | crates/libs/windows/src/Windows/Web/UI/mod.rs:648-656 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/reactor/src/native/winui/bindings.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":726}}}],"partialFingerprints":{"codehealthFindingId/v1":"04cd0f435d12f46c2d235e270e8b03904220f53ddc0450177b61dd06211467f0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 71): crates/libs/collections/src/bindings.rs:726-734 | crates/libs/collections/src/bindings.rs:1216-1224 | crates/libs/reactor/src/native/winui/bindings.rs:9160-9168 | crates/libs/windows/src/Windows/AI/Actions/Provider/mod.rs:31-39 | crates/libs/windows/src/Windows/AI/Actions/Provider/mod.rs:84-92 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4606-4614 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:483-491 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:496-504 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:509-517 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:522-530 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1327-1335 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1544-1552 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1557-1565 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1570-1578 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1583-1591 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1806-1814 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1819-1827 | crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:30-38 | crates/libs/windows/src/Windows/Devices/I2c/mod.rs:390-398 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:3287-3295 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:289-297 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:61-69 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:179-187 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1326-1334 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1352-1360 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:325-333 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1774-1782 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:342-350 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:558-566 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1036-1044 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1330-1338 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1343-1351 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1356-1364 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1369-1377 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1395-1403 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1408-1416 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1595-1603 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:2440-2448 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1118-1126 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1551-1559 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:786-794 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:983-991 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:48-56 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:308-316 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:352-360 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:365-373 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1045-1053 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1213-1221 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1226-1234 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1239-1247 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1479-1487 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:768-776 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:807-815 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:833-841 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1195-1203 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2032-2040 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2113-2121 | crates/libs/windows/src/Windows/Storage/mod.rs:1747-1755 | crates/libs/windows/src/Windows/Storage/mod.rs:1786-1794 | crates/libs/windows/src/Windows/Storage/mod.rs:1799-1807 | crates/libs/windows/src/Windows/Storage/mod.rs:1838-1846 | crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs:194-202 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:428-436 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1062-1070 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1075-1083 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:514-522 | crates/libs/windows/src/Windows/Web/Http/mod.rs:2169-2177 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:255-263 | crates/libs/windows/src/Windows/Web/UI/mod.rs:609-617 | crates/libs/windows/src/Windows/Web/UI/mod.rs:622-630 | crates/libs/windows/src/Windows/Web/mod.rs:42-50 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/reactor/src/native/winui/bindings.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":726}}}],"partialFingerprints":{"codehealthFindingId/v1":"744e594fea661a3727308009aae51e1d5c01ec7ab9b8dc6f96e8de889a162588"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 40): crates/libs/reactor/src/native/winui/bindings.rs:21862-21870 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs:177-185 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4580-4588 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4898-4906 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4924-4932 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1780-1788 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1793-1801 | crates/libs/windows/src/Windows/Devices/I2c/mod.rs:377-385 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:153-161 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:166-174 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1085-1093 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1313-1321 | crates/libs/windows/src/Windows/Foundation/mod.rs:252-260 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1049-1057 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1062-1070 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1075-1083 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1562-1570 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1575-1583 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:321-329 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:346-354 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:359-367 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:372-380 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:501-509 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1103-1111 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1407-1415 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1504-1512 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1568-1576 | crates/libs/windows/src/Windows/Storage/mod.rs:1760-1768 | crates/libs/windows/src/Windows/Storage/mod.rs:1812-1820 | crates/libs/windows/src/Windows/Storage/mod.rs:2233-2241 | crates/libs/windows/src/Windows/Storage/mod.rs:2259-2267 | crates/libs/windows/src/Windows/Storage/mod.rs:2285-2293 | crates/libs/windows/src/Windows/Storage/mod.rs:2298-2306 | crates/libs/windows/src/Windows/Storage/mod.rs:2311-2319 | crates/libs/windows/src/Windows/Storage/mod.rs:2442-2450 | crates/libs/windows/src/Windows/Storage/mod.rs:2595-2603 | crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs:122-130 | crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs:135-143 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:196-204 | crates/libs/windows/src/Windows/Web/UI/mod.rs:648-656 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":21862}}}],"partialFingerprints":{"codehealthFindingId/v1":"472dee8f42c16364f1c773199aac9cccae41aae0fca163442809114fa9b02149"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8\u20139 lines \u00D7 39): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2890-2898 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2952-2959 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3069-3077 | crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:581-589 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:696-704 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3819-3827 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4654-4662 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16016-16024 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4696-4704 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10874-10882 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5284-5292 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12402-12409 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:220-228 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:4928-4936 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1056-1064 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2257-2265 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2340-2348 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2481-2489 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2939-2947 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3127-3135 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3205-3213 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3262-3269 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4034-4041 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5308-5316 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5861-5869 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6198-6205 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6680-6688 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6884-6892 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7322-7330 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7640-7648 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7766-7774 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8557-8565 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8650-8658 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2374-2382 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2726-2734 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:3821-3828 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:898-906 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:1270-1278 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2259-2267 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 44 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":2890}}}],"partialFingerprints":{"codehealthFindingId/v1":"b971ca467ae610790f36a4b6980325bb15cbde7dfb6c6855afe1f7e1e0f3bb66"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 34): crates/libs/collections/src/bindings.rs:2179-2187 | crates/libs/collections/src/bindings.rs:2718-2726 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4451-4459 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:882-890 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1596-1604 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:579-587 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:592-600 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:673-681 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:686-694 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1693-1701 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:2414-2422 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:2427-2435 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1784-1792 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:755-763 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:794-802 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:846-854 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:859-867 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:872-880 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:885-893 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:898-906 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1110-1118 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1243-1251 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1280-1288 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2277-2285 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2290-2298 | crates/libs/windows/src/Windows/Storage/mod.rs:1721-1729 | crates/libs/windows/src/Windows/Storage/mod.rs:1922-1930 | crates/libs/windows/src/Windows/Storage/mod.rs:2634-2642 | crates/libs/windows/src/Windows/Storage/mod.rs:2982-2990 | crates/libs/windows/src/Windows/Storage/mod.rs:2995-3003 | crates/libs/windows/src/Windows/Storage/mod.rs:3008-3016 | crates/libs/windows/src/Windows/Storage/mod.rs:3208-3216 | crates/libs/windows/src/Windows/Storage/mod.rs:3221-3229 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1621-1629 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 49 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2179}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2cea3500451a46133a7601df7ee8fd738a7289f84783bb91c99c1f9685f507a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 18): crates/libs/webview/src/bindings.rs:828-836 | crates/libs/webview/src/bindings.rs:951-959 | crates/libs/webview/src/bindings.rs:1125-1133 | crates/libs/webview/src/bindings.rs:1225-1233 | crates/libs/webview/src/bindings.rs:2329-2337 | crates/libs/webview/src/bindings.rs:2438-2446 | crates/libs/webview/src/bindings.rs:2841-2849 | crates/libs/webview/src/bindings.rs:3715-3723 | crates/libs/webview/src/bindings.rs:4008-4016 | crates/libs/webview/src/bindings.rs:4109-4117 | crates/libs/webview/src/bindings.rs:4264-4272 | crates/libs/webview/src/bindings.rs:4423-4431 | crates/libs/webview/src/bindings.rs:4584-4592 | crates/libs/webview/src/bindings.rs:4672-4680 | crates/libs/webview/src/bindings.rs:5560-5568 | crates/libs/webview/src/bindings.rs:5678-5686 | crates/libs/webview/src/bindings.rs:5842-5850 | crates/libs/webview/src/bindings.rs:5918-5926 \u2014 all 18 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":828}}}],"partialFingerprints":{"codehealthFindingId/v1":"1302b1106ea6674f52a0a59cbe34df8e9f02c6d652a451b88dafb39118c0ee92"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 14): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:209-217 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2836-2844 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4355-4363 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:457-465 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:685-693 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1072-1080 | crates/libs/windows/src/Windows/Foundation/mod.rs:1601-1609 | crates/libs/windows/src/Windows/Graphics/Effects/mod.rs:32-40 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:493-501 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:971-979 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1518-1526 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2125-2133 | crates/libs/windows/src/Windows/Storage/mod.rs:2660-2668 | crates/libs/windows/src/Windows/UI/Text/mod.rs:865-873 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 32 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":209}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d46ca45da0e941ff47cf9b574fa72e104bda47e50c76b9733d3cc8dd9b07c1a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 14): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4438-4446 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4593-4601 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4911-4919 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1339-1347 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:385-393 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:398-406 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:411-419 | crates/libs/windows/src/Windows/Storage/mod.rs:1773-1781 | crates/libs/windows/src/Windows/Storage/mod.rs:1825-1833 | crates/libs/windows/src/Windows/Storage/mod.rs:2246-2254 | crates/libs/windows/src/Windows/Storage/mod.rs:2272-2280 | crates/libs/windows/src/Windows/Storage/mod.rs:2608-2616 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:703-711 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1634-1642 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":4438}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8096eeca2b5473948064fb8682c0e40f21c5758c1832ba28d0e67ed412cd0e7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 14): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4438-4446 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4593-4601 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4911-4919 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:182-190 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:385-393 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:398-406 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:411-419 | crates/libs/windows/src/Windows/Storage/mod.rs:1773-1781 | crates/libs/windows/src/Windows/Storage/mod.rs:1825-1833 | crates/libs/windows/src/Windows/Storage/mod.rs:2246-2254 | crates/libs/windows/src/Windows/Storage/mod.rs:2272-2280 | crates/libs/windows/src/Windows/Storage/mod.rs:2608-2616 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:248-256 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1634-1642 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Security/Credentials/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 70 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":4438}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab44a730f7ce64c6c0c40b415407623fd7e472d26e3fd36ef56f0552eff5eb0a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 12): crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:1541-1549 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:35090-35098 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37670-37678 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38644-38652 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40306-40314 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42551-42559 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:44862-44870 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9351-9359 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9378-9386 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9431-9439 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9547-9555 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9615-9623 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 44 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs"},"region":{"startLine":1541}}}],"partialFingerprints":{"codehealthFindingId/v1":"6af7347f8bc7a68638f311b82c9df8bfaea662f1de56f713a4e51a6f7489e14b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 9): crates/libs/reactor/src/native/winui/bindings.rs:6238-6246 | crates/libs/reactor/src/native/winui/bindings.rs:9916-9924 | crates/libs/reactor/src/native/winui/bindings.rs:10623-10631 | crates/libs/reactor/src/native/winui/bindings.rs:12197-12205 | crates/libs/reactor/src/native/winui/bindings.rs:13705-13713 | crates/libs/reactor/src/native/winui/bindings.rs:15587-15595 | crates/libs/reactor/src/native/winui/bindings.rs:19536-19544 | crates/libs/reactor/src/native/winui/bindings.rs:20136-20144 | crates/libs/reactor/src/native/winui/bindings.rs:20166-20174 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":6238}}}],"partialFingerprints":{"codehealthFindingId/v1":"6eec346704ff32d064c5bbb602710493c41df60a4dbbbe3854232386942ac797"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 7): crates/libs/reactor/src/native/winui/bindings.rs:20345-20353 | crates/libs/reactor/src/native/winui/bindings.rs:20377-20385 | crates/libs/reactor/src/native/winui/bindings.rs:20409-20417 | crates/libs/reactor/src/native/winui/bindings.rs:20441-20449 | crates/libs/reactor/src/native/winui/bindings.rs:20473-20481 | crates/libs/reactor/src/native/winui/bindings.rs:20505-20513 | crates/libs/reactor/src/native/winui/bindings.rs:20537-20545 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":20345}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe381459b4ee1eb71ebb4183d116ff8078b0e7a26c2fc19c5849d81e4f8af1cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/bits/mod.rs:2513-2521 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:218-226 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:8067-8075 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:20644-20652 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20136-20144 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2974-2982 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8096-8104 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bits/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 49 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bits/mod.rs"},"region":{"startLine":2513}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9816a8af8414235f165a951b2291e597717c0fbb596a5ed3a1faa9cffdc843e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5699-5707 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6742-6750 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8288-8296 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9877-9885 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11478-11486 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13094-13102 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:14739-14747 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":5699}}}],"partialFingerprints":{"codehealthFindingId/v1":"f652f11d4fd680d3fbabe841b9dad679b4068d9bdf396c5fda41ed8db873e020"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 6): crates/libs/collections/src/bindings.rs:656-664 | crates/libs/collections/src/bindings.rs:1149-1157 | crates/libs/collections/src/bindings.rs:1409-1417 | crates/libs/collections/src/bindings.rs:1682-1690 | crates/libs/collections/src/bindings.rs:2111-2119 | crates/libs/collections/src/bindings.rs:2661-2669 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":656}}}],"partialFingerprints":{"codehealthFindingId/v1":"565c6cbbf705ab453bd80dd20d6e4cc01f0dbf47294a4bb09fc669d9b766e736"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 6): crates/libs/reactor/src/native/winui/bindings.rs:11262-11270 | crates/libs/reactor/src/native/winui/bindings.rs:12005-12013 | crates/libs/reactor/src/native/winui/bindings.rs:12064-12072 | crates/libs/reactor/src/native/winui/bindings.rs:12136-12144 | crates/libs/reactor/src/native/winui/bindings.rs:12355-12363 | crates/libs/reactor/src/native/winui/bindings.rs:16396-16404 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":11262}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b062e37c4b55d48b06a35abc63cc74785d29353e7270ffb5752d028d72e77a5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3073-3081 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3184-3192 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3315-3323 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3397-3405 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3607-3615 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3737-3745 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":3073}}}],"partialFingerprints":{"codehealthFindingId/v1":"299aa34783333a455a3b4a633873b8387aab857408f0340b062a83483971eaae"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4451-4459 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4464-4472 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1496-1504 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1706-1714 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1111-1119 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1920-1928 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 51 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":4451}}}],"partialFingerprints":{"codehealthFindingId/v1":"75f187fc5de2000c02ae86865a34751695f4c95df3be185b3ae88bc53fcb2ccf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8\u20139 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:861-868 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3196-3204 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3359-3367 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3582-3590 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:372-380 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1520-1528 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenc/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 42 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":861}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5389f426c13b9ccf4027f27d52801ab973a920b8a83dd9bde8d538a17a098eb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2639-2647 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3415-3423 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4092-4100 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4488-4496 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5478-5486 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10872-10880 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":2639}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe725d805c93cbc4f90919b7060044ca5ed4927c6402e4c3c4e14c148f24de6d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 5): crates/libs/reactor/src/native/winui/bindings.rs:5583-5591 | crates/libs/reactor/src/native/winui/bindings.rs:12535-12543 | crates/libs/reactor/src/native/winui/bindings.rs:13091-13099 | crates/libs/reactor/src/native/winui/bindings.rs:16300-16308 | crates/libs/reactor/src/native/winui/bindings.rs:16406-16414 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":5583}}}],"partialFingerprints":{"codehealthFindingId/v1":"95f94e9cddb01c658814bb92e584c5d3d56fe81c3c0f73a98a7526cd6c3c3c48"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 5): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:209-217 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:506-514 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:984-992 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1531-1539 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1754-1762 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 82 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":209}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d99c67022206bd681c2b714e5a76bfc6f2fc2d7e1838d8a62a4688f53bf6c96"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 5): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:222-230 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:519-527 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:997-1005 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1544-1552 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1767-1775 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 82 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":222}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa2d443ce9ce664e13caaa7e82a82edf0553f0ed51612fc19aa0066682952cff"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:760-768 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:773-781 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:786-794 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:799-807 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:877-885 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Vpn/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 64 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":760}}}],"partialFingerprints":{"codehealthFindingId/v1":"1332a45ba7cb7415dde31eecb6a5aea3ed257609f56081e4a5b996d438c25d2b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/composition/src/bindings.rs:1227-1235 | crates/libs/composition/src/bindings.rs:2603-2611 | crates/libs/composition/src/bindings_lifted.rs:1109-1117 | crates/libs/composition/src/bindings_lifted.rs:2416-2424 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1227}}}],"partialFingerprints":{"codehealthFindingId/v1":"211ef385b2ff696759d5716dd2da05e0212b2a32c18166c4512e766a0647301f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/composition/src/bindings.rs:2351-2359 | crates/libs/composition/src/bindings_lifted.rs:2026-2034 | crates/libs/reactor/src/native/winui/bindings.rs:13551-13559 | crates/libs/reactor/src/native/winui/bindings.rs:19883-19891 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2351}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d42a2868cf766134d4490f054e729c6197c8ec0d0928e271b190ebd42b6408e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/future/src/bindings.rs:762-770 | crates/libs/future/src/bindings.rs:981-989 | crates/libs/future/src/bindings.rs:1427-1435 | crates/libs/future/src/bindings.rs:1701-1709 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":762}}}],"partialFingerprints":{"codehealthFindingId/v1":"07a8bb6947d46fd1f195b6d1d4794d49be582fb49eaa04a32549d9dbbcf38c48"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/reactor/src/native/winui/bindings.rs:8933-8941 | crates/libs/webview/src/bindings.rs:2763-2771 | crates/libs/webview/src/bindings.rs:4351-4359 | crates/libs/webview/src/bindings.rs:4514-4522 \u2014 before extracting anything, compare \u0060crates/libs/reactor/src/native/winui/bindings.rs\u0060 and \u0060crates/libs/webview/src/bindings.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":8933}}}],"partialFingerprints":{"codehealthFindingId/v1":"319f15b4046207d04f23dfb05f61820c4f4c002be09304b2e190f8d76e5a0685"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/reactor/src/native/winui/bindings.rs:20229-20237 | crates/libs/reactor/src/native/winui/bindings.rs:20259-20267 | crates/libs/reactor/src/native/winui/bindings.rs:20286-20294 | crates/libs/reactor/src/native/winui/bindings.rs:20313-20321 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":20229}}}],"partialFingerprints":{"codehealthFindingId/v1":"330f49e36e047c92f44c904ce3efc917be5394becb6a0485fdedc2e3c2320193"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3060-3068 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3302-3310 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3594-3602 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3724-3732 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":3060}}}],"partialFingerprints":{"codehealthFindingId/v1":"efe570d205007b1312c6ec91ef3cd6d15b0805c80738ca49fbffd41d0b70b81a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4294-4302 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:747-755 | crates/libs/windows/src/Windows/UI/Input/mod.rs:1466-1474 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:356-364 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 55 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4294}}}],"partialFingerprints":{"codehealthFindingId/v1":"b58c18e5b1473f8b04f88be72b06a59174d77f1e9322534340f9cea71f4a03d7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1339-1347 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2425-2433 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1645-1653 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:703-711 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 60 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs"},"region":{"startLine":1339}}}],"partialFingerprints":{"codehealthFindingId/v1":"203c634a5f27f9eb1b97611877718fdddef746c7129d041bca1bdc8adfa1ea24"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:506-514 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:984-992 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1531-1539 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1799-1807 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 61 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":506}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ffdbcb1b58f60dfeec29aa523ed65dcba99056f28b67561f1bc1eb566ab7f1b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Core/mod.rs:2650-2658 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1946-1954 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:372-380 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:145-153 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":2650}}}],"partialFingerprints":{"codehealthFindingId/v1":"694d5f010655c2c63895cd59ea367a4f70c90dc0b9608bc374e64927b0e289f1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Effects/mod.rs:434-442 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1080-1088 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1174-1182 | crates/libs/windows/src/Windows/Storage/mod.rs:3047-3055 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Effects/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Effects/mod.rs"},"region":{"startLine":434}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae4e5e28b16586a19c7477cd53eef54a9dc18076f8de1c981402c8c5c7163960"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/windows/src/Windows/Storage/Search/mod.rs:846-854 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:872-880 | crates/libs/windows/src/Windows/Storage/mod.rs:3008-3016 | crates/libs/windows/src/Windows/Storage/mod.rs:3234-3242 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 69 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Search/mod.rs"},"region":{"startLine":846}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8da5659502880a53fbf47046734600ca0401768e5c8d705935e4348000321c4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:906-914 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3632-3640 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:690-698 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3668-3676 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":906}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a567dd54935f3270fcabc7506bd8e69ed9ffc2728061a292612facced20fec5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/certenc/mod.rs:742-750 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:962-970 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1174-1182 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1407-1415 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenc/mod.rs"},"region":{"startLine":742}}}],"partialFingerprints":{"codehealthFindingId/v1":"c68ef8bed3f6c2ae614146c5ce7f22991fc2ff67eea1c018126bba6c7da2f6d5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dinput/mod.rs:3084-3092 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:3238-3246 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:3811-3819 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:4251-4259 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dinput/mod.rs"},"region":{"startLine":3084}}}],"partialFingerprints":{"codehealthFindingId/v1":"111f8858160009e4f531352f7068fe87c8334cf1770d4fc9fd69f05841ebbbfb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/composition/src/bindings.rs:1539-1547 | crates/libs/composition/src/bindings_lifted.rs:1334-1342 | crates/libs/reactor/src/native/winui/bindings.rs:7573-7581 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1539}}}],"partialFingerprints":{"codehealthFindingId/v1":"7bdeb6409289ab82ef7b252066b959625727d489285246dc413d01f2a38827b6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/future/src/bindings.rs:1437-1445 | crates/libs/future/src/bindings.rs:1711-1719 | crates/libs/pickers/src/bindings.rs:288-296 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1437}}}],"partialFingerprints":{"codehealthFindingId/v1":"e293b16737ca99c8464cad330e26c700d1ad3116cd66fb04313a6c2ed3be2e9c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/reference/src/bindings.rs:298-306 | crates/libs/windows/src/Windows/Data/Json/mod.rs:177-185 | crates/libs/windows/src/Windows/Foundation/mod.rs:835-843 \u2014 before extracting anything, compare \u0060crates/libs/reference/src/bindings.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 23 separate duplicated blocks between them, totalling at least 363 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":298}}}],"partialFingerprints":{"codehealthFindingId/v1":"354ac2fc467c9d5104d0d0637c7a6f27f87f69884c874dea0e77f303484e246f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/webview/src/bindings.rs:889-897 | crates/libs/webview/src/bindings.rs:1012-1020 | crates/libs/webview/src/bindings.rs:3658-3666 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":889}}}],"partialFingerprints":{"codehealthFindingId/v1":"0586b4971948f69e0f1ba726ed804588a599e96433f5a6e400c44660c924f497"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/webview/src/bindings.rs:2160-2168 | crates/libs/webview/src/bindings.rs:2221-2229 | crates/libs/webview/src/bindings.rs:3774-3782 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":2160}}}],"partialFingerprints":{"codehealthFindingId/v1":"433f965985a59cdd1a300ba900033b960cbfcdb474af03937fa591b8761f5ed0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/webview/src/bindings.rs:3313-3321 | crates/libs/webview/src/bindings.rs:3349-3357 | crates/libs/webview/src/bindings.rs:3385-3393 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":3313}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d4bddf1ccd60096bd51b66fbe56a64205044bda4ac3ffa99af28c8f80f1af31"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/webview/src/bindings.rs:3332-3340 | crates/libs/webview/src/bindings.rs:3368-3376 | crates/libs/webview/src/bindings.rs:3404-3412 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":3332}}}],"partialFingerprints":{"codehealthFindingId/v1":"925b4a5e82c51c2e1d8c97a4d999b9af9d31892bf16849fd73e44b2c38270ddd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6065-6073 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:97-105 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2650-2658 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6065}}}],"partialFingerprints":{"codehealthFindingId/v1":"28df1f943d031cdb4a88f33a61b253700127458352b46ec73f909c2b4986b9d8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:2565-2573 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:595-603 | crates/libs/windows/src/Windows/Storage/mod.rs:3021-3029 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Vpn/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 32 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":2565}}}],"partialFingerprints":{"codehealthFindingId/v1":"e33166e27a5fb29f3b218fe3d94ec1d4be02964b78fc8134b2f684e526665aff"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:110-118 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2663-2671 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:686-694 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 65 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs"},"region":{"startLine":110}}}],"partialFingerprints":{"codehealthFindingId/v1":"358783b335f65042ed4d8c56e712ef4b193a2223811b74a24dab14bb48144ab0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:118-126 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:697-705 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:139-147 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs"},"region":{"startLine":118}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2afd52113de8000da2acfc43f4290223005f2155380a7d974f6d8ed1ffcd0d0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:552-560 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:927-935 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:391-399 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 32 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs"},"region":{"startLine":552}}}],"partialFingerprints":{"codehealthFindingId/v1":"e25effdfa40da613b0f124c425db2dcc361f9a03396c1c5007ca3f1c598a9f04"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:707-715 | crates/libs/windows/src/Windows/Storage/mod.rs:2879-2887 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1119-1127 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":707}}}],"partialFingerprints":{"codehealthFindingId/v1":"afeeedc2462a2377f075c194728c7df7e9ab4693b8f762dce906378220f6f413"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:532-540 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1010-1018 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1557-1565 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":532}}}],"partialFingerprints":{"codehealthFindingId/v1":"379c9ebbcb2c98dfa9ef1b8d714ebbbf2c822ced0de8ef2ea7af8240774c0b2e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:545-553 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1023-1031 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1582-1590 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":545}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a247bfa23ad2ff496756c80df1d6385382460a93b3edc8a582d9e8ebbd2d216"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:940-948 | crates/libs/windows/src/Windows/Media/mod.rs:561-569 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1000-1008 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 32 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs"},"region":{"startLine":940}}}],"partialFingerprints":{"codehealthFindingId/v1":"64ce203a07e08c5b522ffa939f41791500fe7b2a143e78e748e09dc53a0a9f28"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1348-1356 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1720-1728 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:157-165 \u2014 \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 92 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":1348}}}],"partialFingerprints":{"codehealthFindingId/v1":"faa09fe53037d4285d35b2f50a8f1d86faaa46cad4960a277bfe6fcfb9375783"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1367-1375 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1739-1747 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:176-184 \u2014 \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 92 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":1367}}}],"partialFingerprints":{"codehealthFindingId/v1":"83b354b6d2f0a94cb4253f9a0dfc5f782c2873a9c8517a5659bbac26d8419cfc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:454-462 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1754-1762 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:107-115 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/Vpn/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"8017037af0df4f706986bbb5bd584d0566a70765c6492904123b3012db52d0b2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Text/mod.rs:1106-1114 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2475-2483 | crates/libs/windows/src/Windows/UI/Text/mod.rs:3245-3253 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":1106}}}],"partialFingerprints":{"codehealthFindingId/v1":"a82274c3c9dca85ad606be39c23d6d05951bcb2b77f4b5a32d3095c60ebbedc7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:208-216 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:810-818 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2810-2818 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/docobj/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 33 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":208}}}],"partialFingerprints":{"codehealthFindingId/v1":"44b6eae3833c924562bde5da4b7641dcbbe728ad5af013b5d4125775ca12ba80"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6143-6151 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6408-6416 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6656-6664 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":6143}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fb882294dfb1f259f63140b0fd0159285d76680c1a1e58a78c2cda19b369334"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (1\u20139 lines \u00D7 36): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3125-3125 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:80-80 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:2562-2562 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:1752-1752 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:2198-2198 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:2693-2693 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2245-2245 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:1224-1224 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:2885-2885 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4956-4956 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:11325-11325 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:18710-18710 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2385-2385 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2541-2541 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:1282-1285 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:1411-1419 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:1597-1605 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:1801-1809 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:671-671 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2871-2871 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:1714-1714 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4402-4402 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4708-4708 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5669-5669 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5710-5710 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9067-9067 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9700-9700 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:10803-10803 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:11329-11329 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:11433-11433 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:5004-5004 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:679-679 | crates/libs/windows/src/Windows/Win32/evr/mod.rs:345-345 | crates/libs/windows/src/Windows/Win32/evr/mod.rs:926-926 | crates/libs/windows/src/Windows/Win32/filtereg/mod.rs:82-82 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4450-4450 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 42 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":3125}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8b5ff1fb23f186abb6aa78fa64475b2bf2a897d0203057283546d303486d931"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/bindgen/src/types/cpp_fn.rs:239-247 | crates/libs/bindgen/src/types/cpp_fn.rs:261-269 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_fn.rs"},"region":{"startLine":239}}}],"partialFingerprints":{"codehealthFindingId/v1":"8aec11c22b84bb9a8cc313a967f9cb3f9f7bda28f1e084cd2ab8de47fd5338c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/bindgen/src/types/method.rs:466-474 | crates/libs/bindgen/src/types/method.rs:816-825 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/method.rs"},"region":{"startLine":466}}}],"partialFingerprints":{"codehealthFindingId/v1":"022b22cd4f2e02dbf16d1a330f8c35678827603c23ba2de284dbc69c84dab050"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/canvas/src/bindings.rs:1318-1326 | crates/libs/canvas/src/bindings.rs:1339-1347 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/canvas/src/bindings.rs"},"region":{"startLine":1318}}}],"partialFingerprints":{"codehealthFindingId/v1":"64a3a1950aedc4803b5431a4dc332595c621fc402cb6a4655c69e09f520b862b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/clang/src/extract.rs:1452-1460 | crates/libs/clang/src/extract.rs:1476-1484 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":1452}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a4f7e725fb4ac92a494265eea6b3749f50016c2befc317a34e368682573408c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/collections/src/bindings.rs:411-419 | crates/libs/collections/src/bindings.rs:952-960 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":411}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f8e5289788c7d20381cf3ead3eb3907554030497340c125d6c65b226ad614f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/collections/src/bindings.rs:611-619 | crates/libs/collections/src/bindings.rs:1994-2002 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":611}}}],"partialFingerprints":{"codehealthFindingId/v1":"23f3fc3f74e77d04aa9ac950012692964550b03b6643ce8a101f592e737fcfe0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/collections/src/bindings.rs:716-724 | crates/libs/collections/src/bindings.rs:1206-1214 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":716}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a482f91d58a456dd086f3a5b38f5b7a181d4785107eb37bb7e69f39881b9160"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/collections/src/bindings.rs:760-768 | crates/libs/collections/src/bindings.rs:1250-1258 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":760}}}],"partialFingerprints":{"codehealthFindingId/v1":"56f5a094bc4de65a57f4cae510011fe6aa009a28097c681394dd253f9553af09"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/collections/src/bindings.rs:791-799 | crates/libs/collections/src/bindings.rs:2220-2228 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":791}}}],"partialFingerprints":{"codehealthFindingId/v1":"df6e6abece369e876054431b615bfa90aa2b633199fde4766b1f594e33dfa445"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/collections/src/bindings.rs:1461-1469 | crates/libs/collections/src/bindings.rs:1716-1724 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":1461}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9384f4e30651c612475f7e0ce935e5b1c803058a6ae6d0fb4bedd8dfd404a4e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/collections/src/bindings.rs:1552-1560 | crates/libs/collections/src/bindings.rs:1875-1883 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":1552}}}],"partialFingerprints":{"codehealthFindingId/v1":"28c7013630a15f083ec100ce022699ad41024a7fc3709295d2f445f13119fedf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/collections/src/bindings.rs:2169-2177 | crates/libs/collections/src/bindings.rs:2708-2716 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2169}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8fa98d612f864b6a16e6644fe909f23ce8c639f6764585c0343005afba0ca3c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/collections/src/bindings.rs:2314-2322 | crates/libs/collections/src/bindings.rs:2327-2335 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2314}}}],"partialFingerprints":{"codehealthFindingId/v1":"b36af8b5cd94ac84fcf4aee0690c6ec38799535dd624832958ac749c979f5009"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1935-1943 | crates/libs/composition/src/bindings_lifted.rs:1684-1692 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1935}}}],"partialFingerprints":{"codehealthFindingId/v1":"42444406c07463e59b2729fcc796a61f22423c0aff9f1fdb3d5336221c76d1dc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1961-1969 | crates/libs/composition/src/bindings_lifted.rs:1710-1718 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1961}}}],"partialFingerprints":{"codehealthFindingId/v1":"27cb50489952972a0f1243297045acb452737fdf957b34fb4bf3df65dfb8aaa6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1973-1981 | crates/libs/composition/src/bindings_lifted.rs:1722-1730 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1973}}}],"partialFingerprints":{"codehealthFindingId/v1":"daa9e4d88038604b3f1a0091ec90e2ad494ca95f7d75c3d45cf0aedf8b3f32b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1997-2005 | crates/libs/composition/src/bindings_lifted.rs:1746-1754 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1997}}}],"partialFingerprints":{"codehealthFindingId/v1":"905909afec3cfdd28705c713af8d4ea2e7e6d99ce504cfefed46e7817e2e26e0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2026-2034 | crates/libs/composition/src/bindings_lifted.rs:1775-1783 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2026}}}],"partialFingerprints":{"codehealthFindingId/v1":"d30c6b7af392a84afa7c5ab1df862ffa34c1ba113ff8d1455c9544336b69d4be"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2105-2113 | crates/libs/composition/src/bindings_lifted.rs:1853-1861 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2105}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9e706e7858ff2baf380c0adc8a9906121d1b583713465dee62c07a47b51cf14"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2117-2125 | crates/libs/composition/src/bindings_lifted.rs:1865-1873 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2117}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ca6b97eb3b1acd1d200218aeb2d2889a188e9104baf2c80d81c0cd2b5056b87"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2127-2135 | crates/libs/composition/src/bindings_lifted.rs:1875-1883 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2127}}}],"partialFingerprints":{"codehealthFindingId/v1":"37a9b3d5c08832393a1a43824a463e63db2b294b6357fd44d280f0d697b59d74"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2170-2178 | crates/libs/composition/src/bindings_lifted.rs:1918-1926 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2170}}}],"partialFingerprints":{"codehealthFindingId/v1":"5860f1e55a4e47fd78222f8819e14809dc117398ae397db545ef598211f487a9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2180-2188 | crates/libs/composition/src/bindings_lifted.rs:1928-1936 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2180}}}],"partialFingerprints":{"codehealthFindingId/v1":"aff94b998ddfd8bdeabb40a6ccf462b3a4c704d337c55e6972ae0e5208d261c6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2192-2200 | crates/libs/composition/src/bindings_lifted.rs:1940-1948 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2192}}}],"partialFingerprints":{"codehealthFindingId/v1":"50b4c2648deb4a9eb51edc3ae33012075b0e3139f988586a7c50fb6b8217b675"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2202-2210 | crates/libs/composition/src/bindings_lifted.rs:1950-1958 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2202}}}],"partialFingerprints":{"codehealthFindingId/v1":"22d075654b7e065134f4967d4703b43eabe9a944ad2029c557c178a2fad2a7a6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2813-2821 | crates/libs/composition/src/bindings_lifted.rs:2626-2634 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2813}}}],"partialFingerprints":{"codehealthFindingId/v1":"7e18b255e77ec0eda3dee446362bff8add0b42957af604e09728902808bebe4d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/core/src/imp/sha1.rs:401-409 | crates/libs/core/src/imp/sha1.rs:439-447 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/core/src/imp/sha1.rs"},"region":{"startLine":401}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c3e2c637a0ef07e4f44d661708362a53c95b83119b97e0280fda6127593d1e2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/future/src/bindings.rs:957-965 | crates/libs/future/src/bindings.rs:1677-1685 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":957}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8f43af5957931488c8a19d7209083ffad33b9e66aecfbb6282db47759c7435a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7\u20139 lines \u00D7 2): crates/libs/rdl/src/reader/delegate.rs:83-89 | crates/libs/rdl/src/reader/interface.rs:155-163 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/delegate.rs"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"db5b0ef2f2f7cdab8e8a7b2ff4d1d87a9c7d7e7ad463a696773771d829165067"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/rdl/src/writer/delegate.rs:21-29 | crates/libs/rdl/src/writer/interface.rs:28-36 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/delegate.rs"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"e40a667fe1da0f534d02896028be7253d9eee86470351a76ba41fb8e7dc15804"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/core/pump/planner/topology.rs:431-439 | crates/libs/reactor/src/core/pump/planner/topology.rs:565-573 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/topology.rs"},"region":{"startLine":431}}}],"partialFingerprints":{"codehealthFindingId/v1":"5160a4e577f3eca3a17d05fc768512b4cd5430e63b384cc0cf04f1874febe494"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:5197-5205 | crates/libs/reactor/src/native/winui/bindings.rs:9723-9731 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":5197}}}],"partialFingerprints":{"codehealthFindingId/v1":"2de8e3e24b83bc5114555adf979775ed2b1926d29313bcb16a7beeb6407479ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:7425-7433 | crates/libs/reactor/src/native/winui/bindings.rs:7509-7517 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":7425}}}],"partialFingerprints":{"codehealthFindingId/v1":"77db33a8d8c606af6c683a60194c479e49855e84f1cbcda2b136fab3f597a979"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:7437-7445 | crates/libs/reactor/src/native/winui/bindings.rs:7521-7529 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":7437}}}],"partialFingerprints":{"codehealthFindingId/v1":"218753ac44e1f23983f43d45394f55d7349cde276ee58e1303f01a3f5212c89c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:9499-9507 | crates/libs/reactor/src/native/winui/bindings.rs:9529-9537 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":9499}}}],"partialFingerprints":{"codehealthFindingId/v1":"fce3aa738cbe10b0d2d6509cf87da83313b36c28debfc25374aaf5b8bf2e0183"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:12559-12567 | crates/libs/reactor/src/native/winui/bindings.rs:12944-12952 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":12559}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd8fce2844b62501c720b20ec5177f8c5cad84fafc9b19e3730ba80b66b95786"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:13614-13622 | crates/libs/reactor/src/native/winui/bindings.rs:16942-16950 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":13614}}}],"partialFingerprints":{"codehealthFindingId/v1":"01744e6fd9aa58a69709a647ff31c351d9aa3228a4b80ddf2b3fcfe84edf8dd9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:19850-19858 | crates/libs/reactor/src/native/winui/bindings.rs:21487-21495 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":19850}}}],"partialFingerprints":{"codehealthFindingId/v1":"585ebec43705a91aaf3393aeb053315a8f3b5f50271454c82ab76a7305295e82"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:20109-20117 | crates/libs/reactor/src/native/winui/bindings.rs:20567-20575 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":20109}}}],"partialFingerprints":{"codehealthFindingId/v1":"73d6d2948adf1b172189ed92c502f555a7e843d6ad910fd7e1e6d1a6e3391ddf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:21361-21369 | crates/libs/webview/src/bindings.rs:1411-1419 \u2014 before extracting anything, compare \u0060crates/libs/reactor/src/native/winui/bindings.rs\u0060 and \u0060crates/libs/webview/src/bindings.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":21361}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0e30d7ebe112f6a2bd64d6072991ddefe33768502202c6f630e74016a2fef7c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/reactor/src/native/winui/mod.rs:3193-3201 | crates/libs/reactor/src/native/winui/mod.rs:3365-3373 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":3193}}}],"partialFingerprints":{"codehealthFindingId/v1":"116ebf6fc1092aa5aedcc91e34ee3d1e414d395557ec6343ac922709477b56a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3184-3192 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:2584-2592 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 55 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":3184}}}],"partialFingerprints":{"codehealthFindingId/v1":"2594b39621e60e8be888dedbfe0e5162de01bac6a8343703ab4aaf2148123858"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3984-3992 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4244-4252 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":3984}}}],"partialFingerprints":{"codehealthFindingId/v1":"661c53f35a7e3a282378d48aa36759ef6975eb22d7b2ef59df301bbc4c2630bf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4777-4785 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5817-5825 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":4777}}}],"partialFingerprints":{"codehealthFindingId/v1":"0881d9aa79e196fcb5d6457f4b233f9d14aca51ccd5b0101ba492d44fd13f28b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2402-2410 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2836-2844 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2402}}}],"partialFingerprints":{"codehealthFindingId/v1":"44b20f5406846275720b1d1dc16c4ab5506236cee72a2418df2d195930efb494"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1384-1392 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:667-675 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 93 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1384}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a9df546e88c9cb4c44be5d61eb2c1f994b92e660399936a4301ddf03122af11"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1415-1423 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:629-637 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 93 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1415}}}],"partialFingerprints":{"codehealthFindingId/v1":"25ea5b818623e6165d36b38da094c585425ef1289a6ee76e6a78e84b2197f5c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1493-1501 | crates/libs/windows/src/Windows/Storage/mod.rs:2673-2681 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 93 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1493}}}],"partialFingerprints":{"codehealthFindingId/v1":"683f622a389bfb75df7603adadb1f9d044971320ea93b824657463ef86db36e1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:118-126 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:152-160 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 57 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs"},"region":{"startLine":118}}}],"partialFingerprints":{"codehealthFindingId/v1":"243daa17a13a1adf532bc3e27325060b7ca24782a97a11ea2658dcd37abbb0f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:173-181 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2902-2910 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs"},"region":{"startLine":173}}}],"partialFingerprints":{"codehealthFindingId/v1":"08831c06d85b2468a4a2f695fe3e38d998a5bb00334d42f1b3709588d4422283"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/I2c/mod.rs:364-372 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:140-148 \u2014 \u0060crates/libs/windows/src/Windows/Devices/I2c/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Spi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 72 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/I2c/mod.rs"},"region":{"startLine":364}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d5661268d749b62f06d2258b5a5010056f66d4bf2749ea7b56b8f0417d5c0ac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:129-137 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:927-935 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ec7006ffede2031f026cb89614e158c3c126869c8fb514d319926c06fa2080f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:314-322 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:697-705 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":314}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f74869602238acd85c10806dc7f4502e65fc73a3829afe307d2c4ce7450ad4a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:457-465 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1085-1093 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs"},"region":{"startLine":457}}}],"partialFingerprints":{"codehealthFindingId/v1":"9eb1c9345c16f51eb832304fa62307a770b785605e4a23446c23ebda7e82250e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:342-350 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:806-814 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":342}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a573e1aa30308861efa41ec47fbbcd5b15faeb9a5a1df8c695fb8872757e5aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:355-363 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:819-827 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":355}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f22b6779b215de549c19605df9f577f0bd253bdfed3b0ea8adfa6f28a3f8041"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:368-376 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:832-840 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":368}}}],"partialFingerprints":{"codehealthFindingId/v1":"6479e9bd54366636880a092826e07af794488a4def3b1b3dda1e3193b3032eed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:381-389 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:845-853 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":381}}}],"partialFingerprints":{"codehealthFindingId/v1":"95fd75901dd3a5f7fbb08b1fde88f47ea8171ae0ece0610350533ceef0d7d5f0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:2125-2133 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:686-694 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 14 separate duplicated blocks between them, totalling at least 113 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":2125}}}],"partialFingerprints":{"codehealthFindingId/v1":"26356c3078fdeae778d7b01749de23b53d1fdbedd0eeb2ea479302b2abd6d91a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Effects/mod.rs:627-635 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:811-819 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Effects/mod.rs"},"region":{"startLine":627}}}],"partialFingerprints":{"codehealthFindingId/v1":"09e0a0baf406bdfa42fa5f88c38b04bcfa3c55497a77604b983323ce202bfdd1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:922-930 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2831-2839 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":922}}}],"partialFingerprints":{"codehealthFindingId/v1":"95a0f24b764652612b28cf73004fa50a478280960f60d8c6b4993d251734e7b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1386-1394 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1740-1748 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":1386}}}],"partialFingerprints":{"codehealthFindingId/v1":"58acd1a795af6c3368bec202dc4f97dcc54eb865ab044658cd1a80c2ca7a4c49"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1405-1413 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1753-1761 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":1405}}}],"partialFingerprints":{"codehealthFindingId/v1":"31f1c7a617f78848427dff89d44f5f230b817443fc256dfe68f7cd651c72e9ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:454-462 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:595-603 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"c11653612062c90f16cdeda75ff5123c04e62e5ae5ea9b1f03e89094004b2a62"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Credentials/mod.rs:388-396 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1780-1788 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Security/Credentials/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 48 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Credentials/mod.rs"},"region":{"startLine":388}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca2972824e0d815585de74c947c76a0cb85170685de9884a835e91f129622383"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:346-354 | crates/libs/windows/src/Windows/Storage/mod.rs:2272-2280 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 59 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs"},"region":{"startLine":346}}}],"partialFingerprints":{"codehealthFindingId/v1":"3fc05697a281f181284a11986088f5be1de229c9f14a714bde6ebc7a6e5bfe2d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1280-1288 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1743-1751 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":1280}}}],"partialFingerprints":{"codehealthFindingId/v1":"0133c94be8e2d45a7c363a8284888f6a6c60c6e8d32337446ce40e462a35dc53"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1293-1301 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1756-1764 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":1293}}}],"partialFingerprints":{"codehealthFindingId/v1":"836147934f1a71704cd904379311b63a6aa5fd6be3f96a7da161493d4b707db3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1730-1738 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2032-2040 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":1730}}}],"partialFingerprints":{"codehealthFindingId/v1":"13abd2972259bc3ad04815853b6a46bcad51a2596001892e450fc679f6b8c9dc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/mod.rs:2866-2874 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1106-1114 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":2866}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a3d704c83db8536cbae622e50e8deac8a07dffcfb46502db7091cce422ffa35"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:2496-2504 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3788-3796 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":2496}}}],"partialFingerprints":{"codehealthFindingId/v1":"c473efba075fd7c468bf2c4de16c5601b3f995d89b404e1beed275c7ffae83aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:2798-2806 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3837-3845 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":2798}}}],"partialFingerprints":{"codehealthFindingId/v1":"7978fe5bf78a946c13a063aa8548e28456432cfc00d4cf539fba48807b860e41"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Text/mod.rs:3136-3144 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:981-989 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":3136}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c01764cb3a5e1c699488a13e0fdf4778efdfec531ad4b77950521b192282976"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/audioclient/mod.rs:1106-1114 | crates/libs/windows/src/Windows/Win32/audioclient/mod.rs:1254-1262 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/audioclient/mod.rs"},"region":{"startLine":1106}}}],"partialFingerprints":{"codehealthFindingId/v1":"cfb63543df0745e6762b7d30954497e43ab6977af0880e4be21dbcafea05bea4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2989-2997 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13906-13914 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":2989}}}],"partialFingerprints":{"codehealthFindingId/v1":"e265b4e54a040d0644608cca28c01476b714354adee8401723c3ea77ae86c2c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6408-6416 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10132-10140 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":6408}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab705a932bee8d96540ae448debd1e7d177b23f532ba5b8a4fa0ae3539ee424e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5861-5869 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6441-6449 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":5861}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6665415d05f844bbb0233b47d9af1bfecb41eddbc5cd065fb8ac93913cb399e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5943-5951 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6441-6449 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":5943}}}],"partialFingerprints":{"codehealthFindingId/v1":"0549051898a92db97ffa8dcba4493f01f4ac35a6a838ddffa3abb3de3b344127"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 197): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:781-788 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2842-2849 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2854-2861 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2878-2885 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2890-2897 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2952-2959 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3051-3058 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3069-3076 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3311-3318 | crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:569-576 | crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:581-588 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:372-379 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:414-421 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:648-655 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:660-667 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:696-703 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:255-262 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:463-470 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:628-635 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:552-559 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:564-571 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3118-3125 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3819-3826 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4064-4071 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4654-4661 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11063-11070 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11368-11375 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11781-11788 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16016-16023 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16281-16288 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:17043-17050 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:755-762 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:112-119 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5358-5365 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9362-9369 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9478-9485 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3103-3110 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4005-4012 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4017-4024 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4029-4036 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4065-4072 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4089-4096 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4101-4108 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4113-4120 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4405-4412 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4417-4424 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4618-4625 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4630-4637 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4642-4649 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4654-4661 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4696-4703 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5753-5760 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5765-5772 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5789-5796 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5801-5808 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5813-5820 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5825-5832 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5837-5844 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6017-6024 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6041-6048 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9600-9607 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9612-9619 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9630-9637 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9642-9649 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9654-9661 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9666-9673 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9678-9685 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9690-9697 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10850-10857 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10862-10869 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10874-10881 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4038-4045 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4050-4057 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4062-4069 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5284-5291 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:9603-9610 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:9615-9622 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12402-12409 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14675-14682 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14687-14694 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14711-14718 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2992-2999 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3994-4001 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5831-5838 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16171-16178 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17885-17892 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19800-19807 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22335-22342 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22827-22834 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25323-25330 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25815-25822 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28373-28380 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28865-28872 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31452-31459 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31944-31951 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37809-37816 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38783-38790 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40445-40452 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40721-40728 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42690-42697 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42966-42973 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45001-45008 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45277-45284 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:220-227 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:307-314 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:325-332 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1087-1094 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1376-1383 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1400-1407 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1412-1419 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1508-1515 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1568-1575 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1893-1900 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1905-1912 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1977-1984 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:2037-2044 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:4916-4923 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:4928-4935 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1056-1063 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:282-289 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2053-2060 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2077-2084 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2089-2096 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2101-2108 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2137-2144 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2161-2168 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2197-2204 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2209-2216 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2245-2252 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2257-2264 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2340-2347 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2457-2464 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2469-2476 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2481-2488 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2612-2619 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2624-2631 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2636-2643 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2648-2655 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2786-2793 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2939-2946 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3055-3062 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3067-3074 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3091-3098 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3103-3110 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3127-3134 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3205-3212 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3262-3269 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3923-3930 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4034-4041 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5308-5315 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5849-5856 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5861-5868 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6002-6009 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6198-6205 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6668-6675 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6680-6687 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6842-6849 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6872-6879 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6884-6891 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7023-7030 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7047-7054 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7059-7066 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7071-7078 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7322-7329 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7640-7647 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7742-7749 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7766-7773 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7911-7918 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8533-8540 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8557-8564 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8650-8657 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2032-2039 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2278-2285 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2290-2297 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2374-2381 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2714-2721 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2726-2733 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:3821-3828 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:898-905 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:1270-1277 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3219-3226 | crates/libs/windows/src/Windows/Win32/fhcfg/mod.rs:162-169 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:453-460 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:489-496 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2259-2266 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:192-199 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:216-223 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:228-235 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:240-247 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:561-568 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:859-866 | crates/libs/windows/src/Windows/Win32/gameux/mod.rs:443-450 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:966-973 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:1020-1027 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:1271-1278 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10194-10201 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10212-10219 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 44 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":781}}}],"partialFingerprints":{"codehealthFindingId/v1":"afb7c291c841743141be236d27d678d905fef1af727b45feae65686a1c01bfa0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 185): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:781-788 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2842-2849 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2854-2861 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2878-2885 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3051-3058 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3311-3318 | crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:569-576 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:196-203 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:372-379 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:402-409 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:414-421 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:678-685 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1653-1660 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:513-520 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:648-655 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:660-667 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:684-691 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:255-262 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:463-470 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:628-635 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:552-559 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:564-571 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3118-3125 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4052-4059 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4064-4071 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4472-4479 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11063-11070 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11368-11375 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11781-11788 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15128-15135 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16281-16288 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:17043-17050 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:131-138 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:155-162 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:167-174 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:404-411 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:428-435 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:446-453 | crates/libs/windows/src/Windows/Win32/certmod/mod.rs:59-66 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:755-762 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:491-498 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:954-961 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1014-1021 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:112-119 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5358-5365 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9362-9369 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9386-9393 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9478-9485 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3103-3110 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4005-4012 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4017-4024 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4029-4036 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4065-4072 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4089-4096 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4101-4108 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4113-4120 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4405-4412 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4417-4424 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4618-4625 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4630-4637 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4642-4649 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4654-4661 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5753-5760 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5765-5772 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5789-5796 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5801-5808 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5813-5820 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5825-5832 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5837-5844 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6017-6024 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6041-6048 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9600-9607 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9612-9619 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9630-9637 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9642-9649 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9654-9661 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9666-9673 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9678-9685 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9690-9697 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10850-10857 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10862-10869 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4038-4045 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4050-4057 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4062-4069 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5272-5279 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:9603-9610 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:9615-9622 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14675-14682 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14687-14694 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14711-14718 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2992-2999 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3994-4001 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5831-5838 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16171-16178 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17885-17892 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19800-19807 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22335-22342 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22827-22834 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25323-25330 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25815-25822 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28373-28380 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28865-28872 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31452-31459 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31944-31951 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37809-37816 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38783-38790 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40445-40452 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40721-40728 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42690-42697 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42966-42973 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45001-45008 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45277-45284 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:307-314 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:325-332 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1087-1094 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1376-1383 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1400-1407 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1412-1419 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1508-1515 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1568-1575 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1893-1900 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1905-1912 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1977-1984 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:2037-2044 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:4916-4923 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:282-289 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2053-2060 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2077-2084 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2089-2096 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2101-2108 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2137-2144 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2161-2168 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2197-2204 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2209-2216 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2245-2252 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2457-2464 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2469-2476 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2612-2619 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2624-2631 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2636-2643 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2648-2655 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2786-2793 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3055-3062 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3067-3074 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3091-3098 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3103-3110 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3923-3930 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5849-5856 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6002-6009 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6668-6675 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6842-6849 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6872-6879 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7023-7030 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7047-7054 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7059-7066 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7071-7078 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7742-7749 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7911-7918 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8533-8540 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2032-2039 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2278-2285 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2290-2297 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2714-2721 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3219-3226 | crates/libs/windows/src/Windows/Win32/fhcfg/mod.rs:162-169 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:453-460 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:477-484 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:489-496 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:513-520 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:549-556 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:561-568 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:192-199 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:216-223 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:228-235 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:240-247 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:561-568 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:859-866 | crates/libs/windows/src/Windows/Win32/gameux/mod.rs:443-450 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:966-973 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:1020-1027 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:1271-1278 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:1398-1405 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8776-8783 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10194-10201 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10212-10219 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 44 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":781}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b70cd0f26cc1cd127109faddbe59fa43b249ce79d2f9d1def6ba97e46d718cd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 97): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1200-1207 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:422-429 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:446-453 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:616-623 | crates/libs/windows/src/Windows/Win32/certpol/mod.rs:63-70 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:100-107 | crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:274-281 | crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:286-293 | crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:310-317 | crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:334-341 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5271-5278 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5427-5434 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:551-558 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:925-932 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:937-944 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:967-974 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4173-4180 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6931-6938 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6943-6950 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6955-6962 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6967-6974 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:7003-7010 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:7015-7022 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4176-4183 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8875-8882 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8959-8966 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:6272-6279 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14112-14119 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14771-14778 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14807-14814 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14923-14930 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13394-13401 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2311-2318 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2347-2354 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:4348-4355 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:4366-4373 | crates/libs/windows/src/Windows/Win32/d3dcommon/mod.rs:768-775 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15805-15812 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15823-15830 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17519-17526 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17537-17544 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19434-19441 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19452-19459 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:21969-21976 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:21987-21994 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22671-22678 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:24957-24964 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:24975-24982 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25659-25666 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28007-28014 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28025-28032 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28709-28716 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31086-31093 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31104-31111 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31788-31795 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32609-32616 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33021-33028 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33525-33532 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:34166-34173 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:34388-34395 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37719-37726 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38693-38700 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40355-40362 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40997-41004 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41033-41040 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42600-42607 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43242-43249 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43278-43285 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:44911-44918 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45553-45560 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45589-45596 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:980-987 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:992-999 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1196-1203 | crates/libs/windows/src/Windows/Win32/directmanipulation/mod.rs:1102-1109 | crates/libs/windows/src/Windows/Win32/directmanipulation/mod.rs:1478-1485 | crates/libs/windows/src/Windows/Win32/dispex/mod.rs:302-309 | crates/libs/windows/src/Windows/Win32/dispex/mod.rs:326-333 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:3067-3074 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:3079-3086 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4382-4389 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4579-4586 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4934-4941 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5040-5047 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8078-8085 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8545-8552 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9122-9129 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:9134-9141 | crates/libs/windows/src/Windows/Win32/dxcore_interface/mod.rs:559-566 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2314-2321 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2344-2351 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:1246-1253 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:1258-1265 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3177-3184 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3189-3196 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:954-961 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4436-4443 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comcat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":1200}}}],"partialFingerprints":{"codehealthFindingId/v1":"b69a3a1eef0e7e3ba7d5b012aba2809b2288160240338b0f4eb9c8e2449b80ab"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 78): crates/libs/reactor/src/native/winui/bindings.rs:77-84 | crates/libs/reactor/src/native/winui/bindings.rs:149-156 | crates/libs/reactor/src/native/winui/bindings.rs:736-743 | crates/libs/reactor/src/native/winui/bindings.rs:1040-1047 | crates/libs/reactor/src/native/winui/bindings.rs:1162-1169 | crates/libs/reactor/src/native/winui/bindings.rs:1255-1262 | crates/libs/reactor/src/native/winui/bindings.rs:1386-1393 | crates/libs/reactor/src/native/winui/bindings.rs:1495-1502 | crates/libs/reactor/src/native/winui/bindings.rs:1635-1642 | crates/libs/reactor/src/native/winui/bindings.rs:1732-1739 | crates/libs/reactor/src/native/winui/bindings.rs:1924-1931 | crates/libs/reactor/src/native/winui/bindings.rs:2008-2015 | crates/libs/reactor/src/native/winui/bindings.rs:2057-2064 | crates/libs/reactor/src/native/winui/bindings.rs:2240-2247 | crates/libs/reactor/src/native/winui/bindings.rs:2296-2303 | crates/libs/reactor/src/native/winui/bindings.rs:2813-2820 | crates/libs/reactor/src/native/winui/bindings.rs:3050-3057 | crates/libs/reactor/src/native/winui/bindings.rs:3420-3427 | crates/libs/reactor/src/native/winui/bindings.rs:3817-3824 | crates/libs/reactor/src/native/winui/bindings.rs:3891-3898 | crates/libs/reactor/src/native/winui/bindings.rs:3936-3943 | crates/libs/reactor/src/native/winui/bindings.rs:4062-4069 | crates/libs/reactor/src/native/winui/bindings.rs:4373-4380 | crates/libs/reactor/src/native/winui/bindings.rs:4579-4586 | crates/libs/reactor/src/native/winui/bindings.rs:4636-4643 | crates/libs/reactor/src/native/winui/bindings.rs:4768-4775 | crates/libs/reactor/src/native/winui/bindings.rs:22219-22226 | crates/libs/reactor/src/native/winui/bindings.rs:22364-22371 | crates/libs/reactor/src/native/winui/bindings.rs:22436-22443 | crates/libs/reactor/src/native/winui/bindings.rs:22865-22872 | crates/libs/reactor/src/native/winui/bindings.rs:23020-23027 | crates/libs/reactor/src/native/winui/bindings.rs:23284-23291 | crates/libs/reactor/src/native/winui/bindings.rs:23341-23348 | crates/libs/reactor/src/native/winui/bindings.rs:23399-23406 | crates/libs/reactor/src/native/winui/bindings.rs:23531-23538 | crates/libs/reactor/src/native/winui/bindings.rs:23605-23612 | crates/libs/reactor/src/native/winui/bindings.rs:23660-23667 | crates/libs/reactor/src/native/winui/bindings.rs:23726-23733 | crates/libs/reactor/src/native/winui/bindings.rs:23782-23789 | crates/libs/reactor/src/native/winui/bindings.rs:23935-23942 | crates/libs/reactor/src/native/winui/bindings.rs:24041-24048 | crates/libs/reactor/src/native/winui/bindings.rs:24112-24119 | crates/libs/reactor/src/native/winui/bindings.rs:24329-24336 | crates/libs/reactor/src/native/winui/bindings.rs:24528-24535 | crates/libs/reactor/src/native/winui/bindings.rs:24902-24909 | crates/libs/reactor/src/native/winui/bindings.rs:24974-24981 | crates/libs/reactor/src/native/winui/bindings.rs:25053-25060 | crates/libs/reactor/src/native/winui/bindings.rs:25136-25143 | crates/libs/reactor/src/native/winui/bindings.rs:25401-25408 | crates/libs/reactor/src/native/winui/bindings.rs:25493-25500 | crates/libs/reactor/src/native/winui/bindings.rs:25609-25616 | crates/libs/reactor/src/native/winui/bindings.rs:25681-25688 | crates/libs/reactor/src/native/winui/bindings.rs:25937-25944 | crates/libs/reactor/src/native/winui/bindings.rs:26133-26140 | crates/libs/reactor/src/native/winui/bindings.rs:26494-26501 | crates/libs/reactor/src/native/winui/bindings.rs:26878-26885 | crates/libs/reactor/src/native/winui/bindings.rs:26953-26960 | crates/libs/reactor/src/native/winui/bindings.rs:27272-27279 | crates/libs/reactor/src/native/winui/bindings.rs:27328-27335 | crates/libs/reactor/src/native/winui/bindings.rs:27654-27661 | crates/libs/reactor/src/native/winui/bindings.rs:27806-27813 | crates/libs/reactor/src/native/winui/bindings.rs:27888-27895 | crates/libs/reactor/src/native/winui/bindings.rs:28007-28014 | crates/libs/reactor/src/native/winui/bindings.rs:28123-28130 | crates/libs/reactor/src/native/winui/bindings.rs:28179-28186 | crates/libs/reactor/src/native/winui/bindings.rs:28539-28546 | crates/libs/reactor/src/native/winui/bindings.rs:28634-28641 | crates/libs/reactor/src/native/winui/bindings.rs:28745-28752 | crates/libs/reactor/src/native/winui/bindings.rs:29063-29070 | crates/libs/reactor/src/native/winui/bindings.rs:29413-29420 | crates/libs/reactor/src/native/winui/bindings.rs:29525-29532 | crates/libs/reactor/src/native/winui/bindings.rs:29670-29677 | crates/libs/reactor/src/native/winui/bindings.rs:29811-29818 | crates/libs/reactor/src/native/winui/bindings.rs:30005-30012 | crates/libs/reactor/src/native/winui/bindings.rs:30098-30105 | crates/libs/reactor/src/native/winui/bindings.rs:30511-30518 | crates/libs/reactor/src/native/winui/bindings.rs:30907-30914 | crates/libs/reactor/src/native/winui/bindings.rs:30951-30958 \u2014 all 78 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"329c209b271ccd6e1cd4b99518c205eea27a0e61a0a7637588fa492721327038"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 70): crates/libs/collections/src/bindings.rs:1395-1402 | crates/libs/collections/src/bindings.rs:1668-1675 | crates/libs/composition/src/bindings.rs:1708-1715 | crates/libs/composition/src/bindings_lifted.rs:1502-1509 | crates/libs/reactor/src/native/winui/bindings.rs:5451-5458 | crates/libs/reactor/src/native/winui/bindings.rs:5480-5487 | crates/libs/reactor/src/native/winui/bindings.rs:6085-6092 | crates/libs/reactor/src/native/winui/bindings.rs:6248-6255 | crates/libs/reactor/src/native/winui/bindings.rs:6389-6396 | crates/libs/reactor/src/native/winui/bindings.rs:6601-6608 | crates/libs/reactor/src/native/winui/bindings.rs:7091-7098 | crates/libs/reactor/src/native/winui/bindings.rs:7773-7780 | crates/libs/reactor/src/native/winui/bindings.rs:8459-8466 | crates/libs/reactor/src/native/winui/bindings.rs:8856-8863 | crates/libs/reactor/src/native/winui/bindings.rs:9509-9516 | crates/libs/reactor/src/native/winui/bindings.rs:9539-9546 | crates/libs/reactor/src/native/winui/bindings.rs:9926-9933 | crates/libs/reactor/src/native/winui/bindings.rs:9958-9965 | crates/libs/reactor/src/native/winui/bindings.rs:9991-9998 | crates/libs/reactor/src/native/winui/bindings.rs:10603-10610 | crates/libs/reactor/src/native/winui/bindings.rs:10633-10640 | crates/libs/reactor/src/native/winui/bindings.rs:10910-10917 | crates/libs/reactor/src/native/winui/bindings.rs:11093-11100 | crates/libs/reactor/src/native/winui/bindings.rs:11528-11535 | crates/libs/reactor/src/native/winui/bindings.rs:11858-11865 | crates/libs/reactor/src/native/winui/bindings.rs:12207-12214 | crates/libs/reactor/src/native/winui/bindings.rs:12596-12603 | crates/libs/reactor/src/native/winui/bindings.rs:12636-12643 | crates/libs/reactor/src/native/winui/bindings.rs:13257-13264 | crates/libs/reactor/src/native/winui/bindings.rs:13715-13722 | crates/libs/reactor/src/native/winui/bindings.rs:14041-14048 | crates/libs/reactor/src/native/winui/bindings.rs:14723-14730 | crates/libs/reactor/src/native/winui/bindings.rs:14955-14962 | crates/libs/reactor/src/native/winui/bindings.rs:15121-15128 | crates/libs/reactor/src/native/winui/bindings.rs:15597-15604 | crates/libs/reactor/src/native/winui/bindings.rs:16341-16348 | crates/libs/reactor/src/native/winui/bindings.rs:16444-16451 | crates/libs/reactor/src/native/winui/bindings.rs:17000-17007 | crates/libs/reactor/src/native/winui/bindings.rs:17494-17501 | crates/libs/reactor/src/native/winui/bindings.rs:17665-17672 | crates/libs/reactor/src/native/winui/bindings.rs:17697-17704 | crates/libs/reactor/src/native/winui/bindings.rs:17726-17733 | crates/libs/reactor/src/native/winui/bindings.rs:17798-17805 | crates/libs/reactor/src/native/winui/bindings.rs:18170-18177 | crates/libs/reactor/src/native/winui/bindings.rs:18200-18207 | crates/libs/reactor/src/native/winui/bindings.rs:18664-18671 | crates/libs/reactor/src/native/winui/bindings.rs:19011-19018 | crates/libs/reactor/src/native/winui/bindings.rs:19233-19240 | crates/libs/reactor/src/native/winui/bindings.rs:19265-19272 | crates/libs/reactor/src/native/winui/bindings.rs:19546-19553 | crates/libs/reactor/src/native/winui/bindings.rs:19754-19761 | crates/libs/reactor/src/native/winui/bindings.rs:20119-20126 | crates/libs/reactor/src/native/winui/bindings.rs:20146-20153 | crates/libs/reactor/src/native/winui/bindings.rs:20176-20183 | crates/libs/reactor/src/native/winui/bindings.rs:20209-20216 | crates/libs/reactor/src/native/winui/bindings.rs:20239-20246 | crates/libs/reactor/src/native/winui/bindings.rs:20269-20276 | crates/libs/reactor/src/native/winui/bindings.rs:20296-20303 | crates/libs/reactor/src/native/winui/bindings.rs:20323-20330 | crates/libs/reactor/src/native/winui/bindings.rs:20355-20362 | crates/libs/reactor/src/native/winui/bindings.rs:20387-20394 | crates/libs/reactor/src/native/winui/bindings.rs:20419-20426 | crates/libs/reactor/src/native/winui/bindings.rs:20451-20458 | crates/libs/reactor/src/native/winui/bindings.rs:20483-20490 | crates/libs/reactor/src/native/winui/bindings.rs:20515-20522 | crates/libs/reactor/src/native/winui/bindings.rs:20547-20554 | crates/libs/reactor/src/native/winui/bindings.rs:20577-20584 | crates/libs/reactor/src/native/winui/bindings.rs:21403-21410 | crates/libs/reactor/src/native/winui/bindings.rs:21544-21551 | crates/libs/reactor/src/native/winui/bindings.rs:22016-22023 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":1395}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f53a3dac1138104b70dc3d15fc3da7143fff924b169fd84cf26596376386706"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 53): crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:422-429 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:446-453 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:462-469 | crates/libs/windows/src/Windows/Win32/certpol/mod.rs:63-70 | crates/libs/windows/src/Windows/Win32/commdlg/mod.rs:526-533 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5271-5278 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:967-974 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4173-4180 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6931-6938 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6943-6950 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6955-6962 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6967-6974 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8875-8882 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8959-8966 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:6617-6624 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14112-14119 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14196-14203 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14807-14814 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14923-14930 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14941-14948 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:15254-15261 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2311-2318 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2347-2354 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15805-15812 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17519-17526 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19434-19441 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:21969-21976 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:24957-24964 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28007-28014 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31086-31093 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32609-32616 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33021-33028 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33525-33532 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:34166-34173 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:34388-34395 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:992-999 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:3067-3074 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:3079-3086 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4382-4389 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4579-4586 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4934-4941 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4946-4953 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5040-5047 | crates/libs/windows/src/Windows/Win32/dxcore_interface/mod.rs:559-566 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:3769-3776 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:1246-1253 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:1258-1265 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3177-3184 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3189-3196 | crates/libs/windows/src/Windows/Win32/filter/mod.rs:221-228 | crates/libs/windows/src/Windows/Win32/gpedit/mod.rs:653-660 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:954-961 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4436-4443 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 49 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed8d361b87481ca0ed13d9ade81cf85594ba988b79a1b0b8999a2df9959b2f47"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 51): crates/libs/windows/src/Windows/Win32/certcli/mod.rs:465-472 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:636-643 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10323-10330 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:158-165 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15775-15782 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16225-16232 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17489-17496 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17939-17946 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19404-19411 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19854-19861 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:21939-21946 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22389-22396 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22749-22756 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22875-22882 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:24927-24934 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25377-25384 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25737-25744 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25863-25870 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:27977-27984 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28427-28434 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28787-28794 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28913-28920 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31056-31063 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31506-31513 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31866-31873 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31992-31999 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37621-37628 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37707-37714 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37731-37738 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38595-38602 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38681-38688 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38705-38712 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40257-40264 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40343-40350 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40367-40374 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40655-40662 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40691-40698 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:40703-40710 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42502-42509 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42588-42595 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42612-42619 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42900-42907 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42936-42943 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:42948-42955 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:44813-44820 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:44899-44906 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:44923-44930 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45211-45218 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45247-45254 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45259-45266 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2798-2805 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certcli/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 99 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certcli/mod.rs"},"region":{"startLine":465}}}],"partialFingerprints":{"codehealthFindingId/v1":"3af75112f493eb018785a19d6a40a0071f0c5bf403ac19ba3bdc07d5c69877d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 42): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2890-2898 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2952-2959 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3069-3077 | crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:581-589 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:696-704 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:576-584 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3819-3827 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4654-4662 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16016-16024 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4696-4704 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10874-10882 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5284-5292 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12402-12409 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:220-228 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:4928-4936 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1056-1064 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2257-2265 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2340-2348 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2481-2489 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2939-2947 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3127-3135 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3205-3213 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3262-3269 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4034-4041 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5308-5316 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5861-5869 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6198-6205 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6680-6688 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6884-6892 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7322-7330 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7640-7648 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7766-7774 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8557-8565 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8650-8658 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2374-2382 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:2726-2734 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:3821-3828 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:898-906 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:1270-1278 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:1260-1268 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2259-2267 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6606-6613 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 44 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":2890}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff80b9d68bf99215c221ff669ec53aeaa4afcbf2b9f9b3faa1dd5f812055dd09"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 36): crates/libs/windows/src/Windows/UI/Input/mod.rs:1454-1461 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:178-185 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:390-397 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:672-679 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16293-16300 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16574-16581 | crates/libs/windows/src/Windows/Win32/control/mod.rs:198-205 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:11326-11333 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3559-3566 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4375-4382 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5287-5294 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5623-5630 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6288-6295 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6624-6631 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7612-7619 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7948-7955 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9195-9202 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9531-9538 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10790-10797 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11126-11133 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:12400-12407 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:12736-12743 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:14033-14040 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:14369-14376 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16189-16196 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17903-17910 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19818-19825 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22353-22360 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22845-22852 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25341-25348 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25833-25840 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28391-28398 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28883-28890 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31470-31477 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31962-31969 | crates/libs/windows/src/Windows/Win32/dispex/mod.rs:272-279 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certcli/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 80 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/mod.rs"},"region":{"startLine":1454}}}],"partialFingerprints":{"codehealthFindingId/v1":"4af19ad675832795ff7b9b1ff4db23358ef75637aafed2e56801030fb828684a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 30): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:196-203 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:402-409 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:678-685 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1653-1660 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:513-520 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:684-691 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:576-583 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4052-4059 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4472-4479 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15128-15135 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:131-138 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:155-162 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:167-174 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:404-411 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:428-435 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:446-453 | crates/libs/windows/src/Windows/Win32/certmod/mod.rs:59-66 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:491-498 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:954-961 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1014-1021 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9386-9393 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5272-5279 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:1260-1267 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:477-484 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:513-520 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:549-556 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:561-568 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:1398-1405 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6606-6613 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8776-8783 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certcli/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 80 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ac002cd577022cdf46f7a1044dd6c70cca0911b2bcc1904c7fe064e0fdca635"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 22): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1308-1315 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1617-1624 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:424-431 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:764-771 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2331-2338 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2575-2582 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2918-2925 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3345-3352 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3980-3987 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4394-4401 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4760-4767 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5037-5044 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5420-5427 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5588-5595 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6749-6756 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10269-10276 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10802-10809 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13835-13842 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14137-14144 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14280-14287 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1435-1442 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1170-1177 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 155 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":1308}}}],"partialFingerprints":{"codehealthFindingId/v1":"d220d5c450d5cafc19c36e2a349dc2ee0c8898b229ac787f61e98f8ca39e0b88"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 20): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3184-3191 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3558-3565 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3570-3577 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:2644-2651 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:426-433 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1344-1351 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4448-4455 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1495-1502 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5043-5050 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10838-10845 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:9627-9634 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2921-2928 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:2058-2065 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:2118-2125 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1484-1491 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1502-1509 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3626-3633 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3638-3645 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3656-3663 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6932-6939 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 42 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":3184}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba740f85e17c2eb2890e82dab40abee4a1ac8498c6759f6c4a9e991d672f7eff"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 19): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:208-215 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16574-16581 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3559-3566 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4375-4382 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5287-5294 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5623-5630 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6288-6295 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6624-6631 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7612-7619 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7948-7955 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9195-9202 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9531-9538 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10790-10797 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11126-11133 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:12400-12407 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:12736-12743 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:14033-14040 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:14369-14376 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2810-2817 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 155 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":208}}}],"partialFingerprints":{"codehealthFindingId/v1":"58d81a5cfb34a6a59a2f69ae743f435134844c99ebf60f465f30eb98a99d0505"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 18): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:474-481 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:820-827 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2381-2388 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2643-2650 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2986-2993 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3419-3426 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4096-4103 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4492-4499 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4816-4823 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5087-5094 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5482-5489 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5650-5657 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6799-6806 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10337-10344 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10876-10883 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13903-13910 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14187-14194 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14336-14343 \u2014 all 18 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":474}}}],"partialFingerprints":{"codehealthFindingId/v1":"a323bea3e361f67c60cd50d35d0a4570b813116aa7d7e8fbbbeb8157138d479f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 17): crates/libs/windows/src/Windows/Win32/bits/mod.rs:2513-2521 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:462-470 | crates/libs/windows/src/Windows/Win32/commdlg/mod.rs:526-534 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:218-226 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:8067-8075 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:6617-6625 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14196-14204 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14941-14949 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:15254-15262 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:20644-20652 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20136-20144 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2974-2982 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:4946-4954 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:8096-8104 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:3769-3776 | crates/libs/windows/src/Windows/Win32/filter/mod.rs:221-229 | crates/libs/windows/src/Windows/Win32/gpedit/mod.rs:653-661 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bits/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 49 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bits/mod.rs"},"region":{"startLine":2513}}}],"partialFingerprints":{"codehealthFindingId/v1":"320bcebea1f9905384246c4915e1fe965633725223ac1bb06c32bb8e1484b118"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 15): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:861-868 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3184-3191 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3196-3203 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3359-3366 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3558-3565 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3570-3577 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3582-3589 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:372-379 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5043-5050 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10838-10845 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:9627-9634 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1484-1491 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1502-1509 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1520-1527 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6932-6939 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenc/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 42 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":861}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad4b9a94de34314ac636338820688c90b1114eeeca5958695d6947952bd2c7f3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 15): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:906-913 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3632-3639 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:2644-2651 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:426-433 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:690-697 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1344-1351 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4448-4455 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1495-1502 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2921-2928 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:2058-2065 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:2118-2125 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3626-3633 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3638-3645 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3656-3663 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3668-3675 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 42 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":906}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7c4faf1793eda8b04d90cd19e0e4b093070c3b07246f2eb100f25fc10f200f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 10): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:861-868 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:906-914 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3196-3204 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3359-3367 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3582-3590 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3632-3640 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:690-698 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:372-380 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1520-1528 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3668-3676 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":861}}}],"partialFingerprints":{"codehealthFindingId/v1":"5bb1a27eed6c738664c2a6c0fd7acd38cfeaa373eeeef63da49fd99701781c3b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 9): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1020-1027 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:130-137 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:453-460 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:801-808 | crates/libs/windows/src/Windows/Win32/certpol/mod.rs:243-250 | crates/libs/windows/src/Windows/Win32/certpol/mod.rs:255-262 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:798-805 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:1753-1760 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:1002-1009 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certcli/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 80 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":1020}}}],"partialFingerprints":{"codehealthFindingId/v1":"71220907d3b1f7148a6f25c3227845113645fb1414640aa67f8ed76e4be2faaf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 9): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1308-1315 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1617-1624 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1435-1442 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6908-6915 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8014-8021 | crates/libs/windows/src/Windows/Win32/control/mod.rs:69-76 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1170-1177 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:573-580 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:871-878 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comadmin/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 91 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":1308}}}],"partialFingerprints":{"codehealthFindingId/v1":"78b25de9189cd338a5868113d9fb97202acf957c6378836ab86228d1efc8df53"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 9): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1109-1118 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1178-1187 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1365-1372 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1490-1499 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1790-1799 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1862-1869 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1942-1951 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2023-2032 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2093-2100 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":1109}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c24f711bc9a399e6e04096e2fad9a6aa8e67ded67d825be1822adaadee77e0d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 8): crates/libs/windows/src/Windows/Win32/amsi/mod.rs:312-319 | crates/libs/windows/src/Windows/Win32/amsi/mod.rs:443-450 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:453-460 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:801-808 | crates/libs/windows/src/Windows/Win32/certpol/mod.rs:255-262 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:655-662 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:73-80 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:1002-1009 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certcli/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 67 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/amsi/mod.rs"},"region":{"startLine":312}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9737bb43e29b7f1e8ed5055d324ea61d8a499a8827e6382b3bfdadeff4272ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 8): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4305-4314 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4685-4694 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4895-4904 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5045-5052 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5274-5283 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5548-5557 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6654-6663 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:802-809 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 62 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":4305}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0e0b16e313aa97deab850e94b988ea41d2f0461e4fa814aa4a89d1f8e94b1e6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6157-6164 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6213-6220 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6269-6276 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6325-6332 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6381-6388 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6437-6444 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:6493-6500 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":6157}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a0f5fc2344679962db12814608996745c088c6746c8bb73693b51bc13f7fbc8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16141-16148 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17855-17862 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19770-19777 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22305-22312 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25293-25300 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28343-28350 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31422-31429 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":16141}}}],"partialFingerprints":{"codehealthFindingId/v1":"37b9fa2f881186c9fe1de69aabc423262cf7c3fd97a91c0dc58cc0a441388aae"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16153-16160 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:17867-17874 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:19782-19789 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22317-22324 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25305-25312 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28355-28362 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31434-31441 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":16153}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a05dc71d5ed7af4e73d7ca8dda2e200dc4b5192afb3068d4071aaf6e9fd32ef"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 6): crates/libs/reactor/src/native/winui/bindings.rs:487-494 | crates/libs/reactor/src/native/winui/bindings.rs:1275-1282 | crates/libs/reactor/src/native/winui/bindings.rs:1944-1951 | crates/libs/reactor/src/native/winui/bindings.rs:24821-24828 | crates/libs/reactor/src/native/winui/bindings.rs:26514-26521 | crates/libs/reactor/src/native/winui/bindings.rs:29103-29110 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":487}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea33d4a8e5438557673dadef98159b8346eb612c42da677f18e1320b3fa22aaf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 6): crates/libs/reactor/src/native/winui/bindings.rs:2306-2313 | crates/libs/reactor/src/native/winui/bindings.rs:22456-22463 | crates/libs/reactor/src/native/winui/bindings.rs:23670-23677 | crates/libs/reactor/src/native/winui/bindings.rs:25063-25070 | crates/libs/reactor/src/native/winui/bindings.rs:28765-28772 | crates/libs/reactor/src/native/winui/bindings.rs:29535-29542 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":2306}}}],"partialFingerprints":{"codehealthFindingId/v1":"20ab9986adbdce3f5e91183cca8e7ab9ebd858841c2c3bdbb7d67f39b53e9b7d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4979-4986 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7876-7883 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8117-8124 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9490-9497 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10740-10747 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3153-3160 \u2014 \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/exdisp/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 12 separate duplicated blocks between them, totalling at least 111 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":4979}}}],"partialFingerprints":{"codehealthFindingId/v1":"7437865a774372f4949f40737f0f216fb274eb4b8d8ac2566bd49ec89341709f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4979-4986 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7876-7883 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8117-8124 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10740-10747 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3153-3160 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8764-8771 \u2014 \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/exdisp/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 12 separate duplicated blocks between them, totalling at least 111 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":4979}}}],"partialFingerprints":{"codehealthFindingId/v1":"eddabde564d42a1a0379aa7ac2ab06ae56541d8878c34d7644fb472c23cb9121"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): crates/libs/collections/src/bindings.rs:739-746 | crates/libs/collections/src/bindings.rs:1229-1236 | crates/libs/collections/src/bindings.rs:2191-2198 | crates/libs/collections/src/bindings.rs:2534-2541 | crates/libs/collections/src/bindings.rs:2730-2737 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":739}}}],"partialFingerprints":{"codehealthFindingId/v1":"f96445c2f20ad08e0c84a5eea2de28a8107c5ad5b8e525bcf3cd536f09b77060"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): crates/libs/reactor/src/core/pump/planner/view.rs:1387-1394 | crates/libs/reactor/src/core/pump/planner/view.rs:1429-1436 | crates/libs/reactor/src/core/pump/planner/view.rs:1484-1491 | crates/libs/reactor/src/core/pump/planner/view.rs:1526-1533 | crates/libs/reactor/src/core/pump/planner/view.rs:1592-1599 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1387}}}],"partialFingerprints":{"codehealthFindingId/v1":"f77152d21ea1a25372c87697e4c2a6bbcccf05ba447c65cff69a1f21a8e94415"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): crates/libs/reactor/src/native/winui/bindings.rs:22374-22381 | crates/libs/reactor/src/native/winui/bindings.rs:24558-24565 | crates/libs/reactor/src/native/winui/bindings.rs:25523-25530 | crates/libs/reactor/src/native/winui/bindings.rs:25791-25798 | crates/libs/reactor/src/native/winui/bindings.rs:25977-25984 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":22374}}}],"partialFingerprints":{"codehealthFindingId/v1":"16715f4a9601c090e456bb7eb14b37dd34e74adcd4b8f759251e8f1e7b2ad188"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1332-1339 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1641-1648 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3399-3406 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4040-4047 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10856-10863 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 155 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":1332}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc3032c451273e3069d937b7b8ac8c618b34e8853c3d1164ecfc633b171fe7fe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3201-3209 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3349-3356 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3476-3483 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3525-3532 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3574-3581 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":3201}}}],"partialFingerprints":{"codehealthFindingId/v1":"d43c3550da900c05ddb0fcbabea90bfefe33b7f5cf70e351d2de013ba1073d1d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20136-20143 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22671-22678 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25659-25666 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28709-28716 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31788-31795 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20136}}}],"partialFingerprints":{"codehealthFindingId/v1":"09a5573a157f739d3d3a6aff5254bd4c9cd73d780c1a587352f371962ab641ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:3651-3658 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:4209-4216 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:4797-4804 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:5429-5436 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:6124-6131 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ddraw/mod.rs"},"region":{"startLine":3651}}}],"partialFingerprints":{"codehealthFindingId/v1":"b41a281e64f170de08f6100850fd85de0792a02bb235277edb62475cf3e63114"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/reactor/src/native/winui/bindings.rs:477-484 | crates/libs/reactor/src/native/winui/bindings.rs:27338-27345 | crates/libs/reactor/src/native/winui/bindings.rs:28988-28995 | crates/libs/reactor/src/native/winui/bindings.rs:29073-29080 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":477}}}],"partialFingerprints":{"codehealthFindingId/v1":"1041aeaea9d9b0b357b3cca03de900390bda5edcbad2f580f48b7f3c03150121"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/reactor/src/native/winui/bindings.rs:25073-25080 | crates/libs/reactor/src/native/winui/bindings.rs:25701-25708 | crates/libs/reactor/src/native/winui/bindings.rs:27217-27224 | crates/libs/reactor/src/native/winui/bindings.rs:28569-28576 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":25073}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe78497c4d79b958584cf1a29927052867b7e3b6d836cee77cf2ee80dcbff85c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5224-5231 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11464-11471 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15440-15447 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16419-16426 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":5224}}}],"partialFingerprints":{"codehealthFindingId/v1":"c226660e4cdc1aa9cc9ac222c6359023bc8586245e5b7e320a4377b0427a4ec7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7928-7935 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8030-8037 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8133-8140 | crates/libs/windows/src/Windows/Win32/control/mod.rs:85-92 \u2014 \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/control/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 83 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":7928}}}],"partialFingerprints":{"codehealthFindingId/v1":"0112c6ba9977d425652ce0ab20381d0f413a55f9283e9e18c830c0b7959f7350"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4712-4719 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4889-4896 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:5437-5444 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:5606-5613 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4712}}}],"partialFingerprints":{"codehealthFindingId/v1":"d744f2463a7e3721551b574a0d176a7ab56bb30352064afec4cf0d2e48c3742b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7496-7503 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10355-10362 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:15537-15544 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:3200-3207 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7496}}}],"partialFingerprints":{"codehealthFindingId/v1":"6465530608f7f26db4e236565d151635b5819ad521a6ae202c5aff2784a8e477"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8003-8010 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8295-8302 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11797-11804 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:17076-17083 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":8003}}}],"partialFingerprints":{"codehealthFindingId/v1":"9996da3b3ae74056b0934dc063da211e2de7427cda3ac7a925db9afa2a364e5f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:14274-14281 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:18268-18275 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:19290-19297 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:20271-20278 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":14274}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd91f2616ca14cfe3fc19d01ec090ff390578ffb51d840cc599cfbffde81894b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22803-22810 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25791-25798 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28841-28848 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31920-31927 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":22803}}}],"partialFingerprints":{"codehealthFindingId/v1":"6625e125a3a44162b9ada518b1db3948dda45e864da9e918c05585635f873ded"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:22815-22822 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:25803-25810 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:28853-28860 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:31932-31939 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":22815}}}],"partialFingerprints":{"codehealthFindingId/v1":"f211fd9eafe107089a374ba13a85f65c4f6232d14d77d936012af7160cb9b9c6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:1598-1605 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:1955-1962 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2350-2357 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2796-2803 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ddraw/mod.rs"},"region":{"startLine":1598}}}],"partialFingerprints":{"codehealthFindingId/v1":"82f743ae06fcd2145a41e686f6f972ac4e9504c17fac374c9d051ce1aa3cf0b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/collections/src/bindings.rs:251-258 | crates/libs/collections/src/bindings.rs:271-278 | crates/libs/reference/src/bindings.rs:97-104 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/reference/src/bindings.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":251}}}],"partialFingerprints":{"codehealthFindingId/v1":"4530e687cf09d47298e39308ca74d62efae3f61a263f618694af393f60bced34"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (1\u20138 lines \u00D7 5): crates/libs/composition/src/bindings.rs:3361-3368 | crates/libs/composition/src/bindings_lifted.rs:3174-3181 | crates/libs/reactor/src/native/winui/bindings.rs:30243-30250 | crates/libs/windows/src/Windows/Foundation/mod.rs:2096-2097 | crates/libs/windows/src/Windows/Foundation/mod.rs:2098-2098 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":3361}}}],"partialFingerprints":{"codehealthFindingId/v1":"fecb8bc62fabf2d35a5625e33f8c887446cfe398b0eeff2d736799fa538a57b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/composition/src/bindings_lifted.rs:2322-2329 | crates/libs/reactor/src/native/winui/bindings.rs:9150-9157 | crates/libs/reactor/src/native/winui/bindings.rs:21873-21880 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 and \u0060crates/libs/reactor/src/native/winui/bindings.rs\u0060 as WHOLE FILES: this scan already matched 15 separate duplicated blocks between them, totalling at least 130 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings_lifted.rs"},"region":{"startLine":2322}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b9678776669c4b78bdac511ce8c58ebc9ef00b0e214ad33e000384168be4b0d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/reactor/src/core/pump/planner/topology.rs:527-534 | crates/libs/reactor/src/core/pump/planner/view.rs:449-456 | crates/libs/reactor/src/core/pump/planner/view.rs:2026-2033 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/topology.rs"},"region":{"startLine":527}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6c4793c5c9c70968ae06876aaeba53090d0354792469b3c8a019fccbf6f1333"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:965-972 | crates/libs/reactor/src/native/winui/bindings.rs:2510-2517 | crates/libs/reactor/src/native/winui/bindings.rs:24698-24705 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":965}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a5884244a82f4d59bc6ad47bcf4a84a18c664bb76e59fd4a5095116200935ef"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:1050-1057 | crates/libs/reactor/src/native/winui/bindings.rs:22811-22818 | crates/libs/reactor/src/native/winui/bindings.rs:25691-25698 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":1050}}}],"partialFingerprints":{"codehealthFindingId/v1":"49c0f61160cb455963e8a82633286261835d369a01640282b3d04bf73b71ebe1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:2138-2145 | crates/libs/reactor/src/native/winui/bindings.rs:9498-9505 | crates/libs/reactor/src/native/winui/bindings.rs:9528-9535 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":2138}}}],"partialFingerprints":{"codehealthFindingId/v1":"a07d14db957fc08a5d1d3feaa112dd45b7055e6b71c6e08067d067f406d09bb8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:22758-22765 | crates/libs/reactor/src/native/winui/bindings.rs:24420-24427 | crates/libs/reactor/src/native/winui/bindings.rs:27433-27440 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":22758}}}],"partialFingerprints":{"codehealthFindingId/v1":"4003ab3ca2fb02a9bf62e9752457e9602c9bfdf6178c54d004360d029d182976"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:24538-24545 | crates/libs/reactor/src/native/winui/bindings.rs:25533-25540 | crates/libs/reactor/src/native/winui/bindings.rs:25771-25778 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":24538}}}],"partialFingerprints":{"codehealthFindingId/v1":"6459665d9383b5e0debc9a6b3cc95a53e6730b2165598e1da8711074a213a011"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:24548-24555 | crates/libs/reactor/src/native/winui/bindings.rs:25543-25550 | crates/libs/reactor/src/native/winui/bindings.rs:25781-25788 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":24548}}}],"partialFingerprints":{"codehealthFindingId/v1":"c932482007937a2d8381b6cff792cb5ed9b0b0d94ae4f472930793543d307f7a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:26625-26632 | crates/libs/reactor/src/native/winui/bindings.rs:28968-28975 | crates/libs/reactor/src/native/winui/bindings.rs:29093-29100 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":26625}}}],"partialFingerprints":{"codehealthFindingId/v1":"895006ec9868cf6e95cf9387fabe95e8bc112136a582a2120014eacb8c7c5739"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/reactor/src/native/winui/bindings.rs:27674-27681 | crates/libs/reactor/src/native/winui/bindings.rs:28017-28024 | crates/libs/reactor/src/native/winui/bindings.rs:30458-30465 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":27674}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2e2a0a6e312c62676591e2f9c2a07c6d64d31a7952ccdec550c24dcbdaf9fbe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certenc/mod.rs:116-123 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:628-635 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1301-1308 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenc/mod.rs"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"de57957c6b49056f5d7cc446e85c605a13fd0fbddd4b0258f330ee09b83de7e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:950-957 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10108-10115 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12723-12730 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":950}}}],"partialFingerprints":{"codehealthFindingId/v1":"37fad22297843c1164886cb73827d9ac7fa17e6533bea3b5638a21cd49d4e8d5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certview/mod.rs:583-590 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:755-762 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:928-935 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certview/mod.rs"},"region":{"startLine":583}}}],"partialFingerprints":{"codehealthFindingId/v1":"424ae305da813bc829a6953447eabf4873cc4a5b99c72992367e0f6f0f04ccf4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1495-1502 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1102-1109 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:4375-4382 \u2014 \u0060crates/libs/windows/src/Windows/Win32/comadmin/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/control/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 64 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comadmin/mod.rs"},"region":{"startLine":1495}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e80feedddeb719c96b2702a8b852740246e3156d5826c1fc6794878ff43ebd3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:3828-3835 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5734-5741 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:4375-4382 \u2014 \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/exdisp/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 12 separate duplicated blocks between them, totalling at least 111 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":3828}}}],"partialFingerprints":{"codehealthFindingId/v1":"97a671afceef73976d22e67d24bdd2114361dfec5503051b12180e97f802c570"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3091-3098 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3277-3284 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3410-3417 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":3091}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ca868a33e3fd3d641a64f9a776511504273504ec3479f44f7a2775ba59a5b43"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2125-2132 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2457-2464 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2612-2619 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":2125}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b967c10015c2d091d33bbb25221a1cc34a04a9d491a92db0c6d6ec175ee28ca"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2684-2691 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3079-3086 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3193-3200 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":2684}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a26d189538eac233125daa1576fb81c3279a7d82c7a5e0da66aa9b32f414df1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/iads/mod.rs:5439-5446 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6121-6128 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6394-6401 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":5439}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ac302636d20e7aa626e223e2c824d2db1d6ce9af09ebc370e19f6e43bd8c715"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/bindgen/src/filter.rs:506-513 | crates/libs/bindgen/src/filter.rs:573-580 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter.rs"},"region":{"startLine":506}}}],"partialFingerprints":{"codehealthFindingId/v1":"94cca5c37ce7e792bd84652b43167ad159a6f06db856ee51af35aa2633290128"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/clang/src/extract.rs:2462-2469 | crates/libs/clang/src/extract.rs:2486-2493 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":2462}}}],"partialFingerprints":{"codehealthFindingId/v1":"96e911e56e4919801aa73b3bb7d865f875b1857b1329449440b840ebd96e6f79"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/collections/src/bindings.rs:230-237 | crates/libs/reference/src/bindings.rs:1049-1056 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/reference/src/bindings.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":230}}}],"partialFingerprints":{"codehealthFindingId/v1":"949eacdb3ec528bf1b76430ef57ac9f7f689e37fcad331e51f565e066c86585e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/collections/src/bindings.rs:454-461 | crates/libs/collections/src/bindings.rs:999-1006 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"31b12c5ff32ffec11b1f47507ecf559ee42e1c2ac4f35c2b9666e0e5d4e4319d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/collections/src/bindings.rs:979-986 | crates/libs/collections/src/bindings.rs:2515-2522 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":979}}}],"partialFingerprints":{"codehealthFindingId/v1":"de2463c79500412853e44c603fa54a4b1a33f7ab857d4a2c92aa9c5eb4513ea2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/collections/src/bindings.rs:1574-1581 | crates/libs/collections/src/bindings.rs:1899-1906 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":1574}}}],"partialFingerprints":{"codehealthFindingId/v1":"20c1c79b4463d923395b75af261cced47cf0130d9056812a2fb66e0b6ccff965"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/core/src/imp/sha1.rs:364-371 | crates/libs/core/src/imp/sha1.rs:383-390 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/core/src/imp/sha1.rs"},"region":{"startLine":364}}}],"partialFingerprints":{"codehealthFindingId/v1":"1bf5ead6b17ba09f3c74e49202cf0de17e93d07c864cb11192773089ae0f5a58"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/future/src/bindings.rs:1554-1561 | crates/libs/future/src/bindings.rs:1899-1906 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1554}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3ea9b607faffcf8ed2d7fce49ed089316b3c95cf0ed364d41f953848b923fb8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7\u20138 lines \u00D7 2): crates/libs/metadata/src/merge/mod.rs:627-634 | crates/libs/metadata/src/merge/remap.rs:255-261 \u2014 before extracting anything, compare \u0060crates/libs/metadata/src/merge/mod.rs\u0060 and \u0060crates/libs/metadata/src/merge/remap.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/merge/mod.rs"},"region":{"startLine":627}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca677eb6485450d29c8662a8a023fc04713505820873d46f332b2b8d42ecd2ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/rdl/src/reader/mod.rs:845-852 | crates/libs/rdl/src/reader/mod.rs:964-971 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":845}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6070cf4bd57bbe38ac20126770b969347931b9438a7ad3d7bf12a4c6f087461"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/rdl/src/writer/mod.rs:223-230 | crates/libs/rdl/src/writer/mod.rs:248-255 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/mod.rs"},"region":{"startLine":223}}}],"partialFingerprints":{"codehealthFindingId/v1":"61da3f0ee8e8ee371b426385e21e78d2eecbec373f8bafa0e9752fbdb7e27c59"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/app/mod.rs:395-402 | crates/libs/reactor/src/app/mod.rs:410-417 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":395}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae80a5f99ebc4898a1f95a427617a483e80fbbc1b205bba9ae5a9ea6b436d06a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:945-952 | crates/libs/reactor/src/native/winui/bindings.rs:2530-2537 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":945}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f70caf047d7519c76f8709cdcb6847080a5c46d0a1dd0aecfdb87cfaeae77fb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:955-962 | crates/libs/reactor/src/native/winui/bindings.rs:2520-2527 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":955}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fc9d11cd3bb93ff69a7a9c68a58b7996759958860f903ff1e2513a942183ee3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:1285-1292 | crates/libs/reactor/src/native/winui/bindings.rs:1406-1413 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":1285}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b80a99c88a9167e0e22d78d1719d99df760a799c324c588cc0e56941eb10358"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:3827-3834 | crates/libs/reactor/src/native/winui/bindings.rs:24349-24356 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":3827}}}],"partialFingerprints":{"codehealthFindingId/v1":"a593ae55fe0627966ec28bb201e9c2ae765fd2dbcf5b7e9f97ce387869ede989"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:22154-22161 | crates/libs/reactor/src/native/winui/bindings.rs:22229-22236 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":22154}}}],"partialFingerprints":{"codehealthFindingId/v1":"556615b544e6739ec9e029817df1979b467c77b476abb907e7e4521a96c7337d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:22164-22171 | crates/libs/reactor/src/native/winui/bindings.rs:30594-30601 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":22164}}}],"partialFingerprints":{"codehealthFindingId/v1":"2898d76b3f931d7eab4001a642eea86a663f0f41dc866738070e8fa2d3dc3494"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:22446-22453 | crates/libs/reactor/src/native/winui/bindings.rs:28755-28762 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":22446}}}],"partialFingerprints":{"codehealthFindingId/v1":"3612dc48a1c42050d2f080f4ab25c45cf535bb07fd5a5b3186a37b85134a11fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:22486-22493 | crates/libs/reactor/src/native/winui/bindings.rs:28654-28661 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":22486}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8214afa8b95295e37104c0dba36ecafe9469500017b601964754336c8057f01"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:23454-23461 | crates/libs/reactor/src/native/winui/bindings.rs:30015-30022 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":23454}}}],"partialFingerprints":{"codehealthFindingId/v1":"c65841ccb0165bfc7f6a150d666483df0f634c7edabf558ffb295b7f5a8a7c89"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:24122-24129 | crates/libs/reactor/src/native/winui/bindings.rs:27898-27905 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":24122}}}],"partialFingerprints":{"codehealthFindingId/v1":"00fe5217e569068c073b5476132810d301fa962ca121a629a0241ab58fb16760"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:24142-24149 | crates/libs/reactor/src/native/winui/bindings.rs:29575-29582 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":24142}}}],"partialFingerprints":{"codehealthFindingId/v1":"6addc4741de7546a32a2ea3683193c8404bb598de8cc603f75cd1fec69ebec45"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:24162-24169 | crates/libs/reactor/src/native/winui/bindings.rs:27908-27915 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":24162}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3f3b6b1e3b5b6d938374f3b17dc1f3604683eb7c787ecb83b8d9224559466df"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:24172-24179 | crates/libs/reactor/src/native/winui/bindings.rs:29555-29562 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":24172}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c6162eea774582c0c960d31060ecf3b99248fdb79690dc2a9f8615a3b4ea156"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:25146-25153 | crates/libs/reactor/src/native/winui/bindings.rs:28644-28651 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":25146}}}],"partialFingerprints":{"codehealthFindingId/v1":"b50c8b8167647165457d375303eb5dd2b932aea3b083741a4996b8cc68f57bdd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:25411-25418 | crates/libs/reactor/src/native/winui/bindings.rs:25513-25520 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":25411}}}],"partialFingerprints":{"codehealthFindingId/v1":"710eaf68f1ba0985eda7fce3a2df6267f0b9dce5d9cb4a1abbde717e86934c05"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:25957-25964 | crates/libs/reactor/src/native/winui/bindings.rs:26504-26511 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":25957}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a6e10c3d1e54e1b9b8b28744dd3cdf5c3421979eabb2100a688633f25df3858"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:26615-26622 | crates/libs/reactor/src/native/winui/bindings.rs:28938-28945 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":26615}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca15931e721aef21de81d9dca2133617db9007a5240b3773091a31b685c8c1d8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:26635-26642 | crates/libs/reactor/src/native/winui/bindings.rs:28998-29005 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":26635}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6c7f599c756ec4097a5fffcdfe6b272ed628bbe26f67e248e49d41d4e05d7d8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:26964-26971 | crates/libs/reactor/src/native/winui/bindings.rs:27052-27059 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":26964}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7a39f36d42e2fd004ee61b1940d796a3c12bc75c8d643e5ecac33c081e70bbd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:26975-26982 | crates/libs/reactor/src/native/winui/bindings.rs:27063-27070 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":26975}}}],"partialFingerprints":{"codehealthFindingId/v1":"108997c5594383167730042d8a3b2f919f55d011beac25a92ad8c474eff4c0a9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:28775-28782 | crates/libs/reactor/src/native/winui/bindings.rs:29545-29552 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":28775}}}],"partialFingerprints":{"codehealthFindingId/v1":"a21065196c546e4cd73fc238b3cc431519c4abc504eadf40559654a2e0547a78"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/webview/src/bindings.rs:2017-2024 | crates/libs/webview/src/bindings.rs:3046-3053 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":2017}}}],"partialFingerprints":{"codehealthFindingId/v1":"f10dd9ce24bc99e5e2a3b01a669ac3ef2fe3b72b66f76a4e386e85f3a9c164a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/webview/src/bindings.rs:3422-3429 | crates/libs/webview/src/bindings.rs:3509-3516 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":3422}}}],"partialFingerprints":{"codehealthFindingId/v1":"812794bee3667c650fec93cc0c8cbf6f5088b2df29071607bf4db5d5b2dd6c5d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/webview/src/bindings.rs:3443-3450 | crates/libs/webview/src/bindings.rs:3528-3535 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/webview/src/bindings.rs"},"region":{"startLine":3443}}}],"partialFingerprints":{"codehealthFindingId/v1":"e56a30947d51fb82b6200f76199cd1b73623e5b28512e5bce63c7bda8115daa3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1684-1691 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6889-6896 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":1684}}}],"partialFingerprints":{"codehealthFindingId/v1":"0df27c048f41509bc93e0a20825845d15d55f792e4fd2b7897af7ca9b3dcee07"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:2644-2651 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1724-1731 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comadmin/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 49 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs"},"region":{"startLine":2644}}}],"partialFingerprints":{"codehealthFindingId/v1":"a27721b9ca5b911de92217c3745fe67995b3c2bd278b192b454718a3719dd9f5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:678-685 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4076-4083 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 155 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":678}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff730fe47eb00df9d33c36aee115092ff20bb008fd4722edbda73690cd15dfba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1301-1308 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:583-590 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certenc/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certview/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 71 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenc/mod.rs"},"region":{"startLine":1301}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e24c9f9a7b7d435a42f5e3ae55efa053516d8dfbe4adf40bed5534106e8dc35"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:7483-7490 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10449-10456 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":7483}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf164962713506f593704afdd30ff0d504ba5f2de74083e20f717f331b30f20f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:8765-8772 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10120-10127 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":8765}}}],"partialFingerprints":{"codehealthFindingId/v1":"db1cf8c0e55d0fc6e0b95f892b17faa113b999a53735185489a4cea28802a0fd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10670-10677 | crates/libs/windows/src/Windows/Win32/certmod/mod.rs:59-66 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":10670}}}],"partialFingerprints":{"codehealthFindingId/v1":"d48c28db0eb25e07ee10e5fc58a7a2e7b8ef723b5aed750e524b5dc784f0f265"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14588-14595 | crates/libs/windows/src/Windows/Win32/fhcfg/mod.rs:457-464 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/fhcfg/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 36 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":14588}}}],"partialFingerprints":{"codehealthFindingId/v1":"fcf0621ea536eebd00d70df4ad3b6dc30694694344796e38cfced6afd5a9dce4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certif/mod.rs:143-150 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:416-423 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certif/mod.rs"},"region":{"startLine":143}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6cbfc0251f01f618a89b6f9dc0b0df18273d9602d958a6adf24a96e42257405"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certif/mod.rs:243-250 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:530-537 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certif/mod.rs"},"region":{"startLine":243}}}],"partialFingerprints":{"codehealthFindingId/v1":"607cd7e47f2c98b9128e8425a9898994c241f032ddd5752e1d369aaecd6070f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7270-7277 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10786-10793 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":7270}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f5657be0e51bb961636579397c4ebdb5dbb49a57ba927812357223584ecbd7b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9808-9815 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10656-10663 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":9808}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b43b7c7e4e20dd4ed9ee8538ebcb62aac084fae099d8ae176d8ff455a733e4b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:218-225 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:925-932 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs"},"region":{"startLine":218}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa70753301c69294cc649da311f7604f617e81fa196aa33f1c812cff650a8fa5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:4077-4084 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9642-9649 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":4077}}}],"partialFingerprints":{"codehealthFindingId/v1":"eaed924059bc00b5c416695646d310fa840f9ce0c554e0c7c3b76d75414c13fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:8375-8382 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10627-10634 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":8375}}}],"partialFingerprints":{"codehealthFindingId/v1":"707f8a28bd3b1c3acd42a5766ac9027305003fda21ecaeb5b55d634239f59a0b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2735-2742 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5658-5665 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2735}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d1b034168e17e2ea4b340124313b999f6a5ed07d7700b8c2e6f2a084842b9fb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4463-4470 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7044-7051 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4463}}}],"partialFingerprints":{"codehealthFindingId/v1":"8299a645e46510e384496ab2994776b35c88333ffbfc71980ad1191b69e3c556"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7609-7616 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10813-10820 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7609}}}],"partialFingerprints":{"codehealthFindingId/v1":"a648a870d0132b0cc6d6bc86fa94d7c8506a41a91d0d7b074c98f21384e59954"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:15879-15886 | crates/libs/windows/src/Windows/Win32/directml/mod.rs:2436-2443 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":15879}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c0b356274365f0b1ece4c9406566cf484df715eab1e06be0847cec87822fd9d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2992-2999 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:6045-6052 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":2992}}}],"partialFingerprints":{"codehealthFindingId/v1":"361b7393ed3276b18952a0fb55a6b4540dbfbb8581872dfeafe67c326a34279f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29105-29112 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32184-32191 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":29105}}}],"partialFingerprints":{"codehealthFindingId/v1":"eabe55a33064585162e419cb2c055649be6aa26c3043ba4fc27909bc6220df70"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1099-1106 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1424-1431 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1099}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d4df110fa3c6190b42f2f03d59bca92172ee826141fe479b754825b70bd67fe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1436-1443 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1905-1912 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1436}}}],"partialFingerprints":{"codehealthFindingId/v1":"97639dc8d8afc7783c4a631558ba367b839baa9166d5414466ce655f858b8288"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1620-1627 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:2077-2084 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1620}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5f551589ac8fab9253a481aefdec1b3325d76fe693505f526e9e6f2a6d1ba6c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:4075-4082 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:4456-4463 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":4075}}}],"partialFingerprints":{"codehealthFindingId/v1":"21dc4b27bfa8c415444585cea7fb6eeda6bc3ba6fff70e83b58dd97f23b86089"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2470-2477 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2916-2923 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ddraw/mod.rs"},"region":{"startLine":2470}}}],"partialFingerprints":{"codehealthFindingId/v1":"10d09817fe104ad9c11cff5f531a3d5ddfc53dca970e3de9e6f87c6af55afee9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2089-2096 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7119-7126 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":2089}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6d07a5028440b3fa44e2bf581814bed5a98083e8f6e02931d4124dfb425c6c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3055-3062 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7107-7114 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":3055}}}],"partialFingerprints":{"codehealthFindingId/v1":"119f1f8f07c9ee37bee005ba90f34ced85af69668e7140a0a81ebb820a532d43"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3750-3757 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3911-3918 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":3750}}}],"partialFingerprints":{"codehealthFindingId/v1":"653cfe230add8a1b0a451f76a24e47e2071e84ef70eb5bd3741bca4970afbac7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3911-3918 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5849-5856 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":3911}}}],"partialFingerprints":{"codehealthFindingId/v1":"84108a28afe8524bbb9db91a4c9819465f0e9328e4776bd09fd0cbe1397ede38"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5931-5938 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6429-6436 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":5931}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e2116184eac1adeca3853826cde3916f57ef93aeb73c365b1ea8baef52f50b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6806-6813 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7107-7114 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":6806}}}],"partialFingerprints":{"codehealthFindingId/v1":"250ba775005cf923b5c862a9d9561c997d0575fd74405a28ad4f4d1646cb4f3b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:591-598 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:889-896 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs"},"region":{"startLine":591}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbfd386fd8260fc2b298313fab065061ab5ccdf604fd86985f39bad95c7bda14"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 12): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:72-78 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:87-93 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:307-313 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:322-328 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:589-595 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:604-610 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1496-1502 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1511-1517 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1778-1784 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1793-1799 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2051-2057 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2066-2072 \u2014 all 12 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"de0104f3df3af5ded135292e174fc9eafffa6debb8dc4c1a68dda160739edab5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 9): crates/libs/collections/src/bindings.rs:78-84 | crates/libs/collections/src/bindings.rs:782-788 | crates/libs/collections/src/bindings.rs:2211-2217 | crates/libs/core/src/imp/bindings.rs:227-233 | crates/libs/future/src/bindings.rs:1099-1105 | crates/libs/future/src/bindings.rs:1135-1141 | crates/libs/future/src/bindings.rs:1533-1539 | crates/libs/future/src/bindings.rs:1836-1842 | crates/libs/future/src/bindings.rs:1877-1883 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/future/src/bindings.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"1705219bb0530f0a6a4c1a7ab7c2b69bfd1973d331ef22d53e66ebd259a4d3e8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 7): crates/libs/future/src/bindings.rs:1084-1090 | crates/libs/future/src/bindings.rs:1120-1126 | crates/libs/future/src/bindings.rs:1519-1525 | crates/libs/future/src/bindings.rs:1817-1823 | crates/libs/future/src/bindings.rs:1858-1864 | crates/libs/reactor/src/native/winui/bindings.rs:5319-5325 | crates/libs/reactor/src/native/winui/bindings.rs:9171-9177 \u2014 there are 7 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1084}}}],"partialFingerprints":{"codehealthFindingId/v1":"307734e210dfceda6e06344898862ae751ba972508966f253d8544dece77cce1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 6): crates/libs/windows/src/Windows/UI/Core/mod.rs:1030-1036 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1045-1051 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1060-1066 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1308-1314 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1323-1329 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1338-1344 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1030}}}],"partialFingerprints":{"codehealthFindingId/v1":"e051016e29e43f15141639fb5edfc4012c7a1f6f2c4e4921a4ca652bcd052f2f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 4): crates/libs/reactor/src/core/pump/planner/view.rs:1354-1360 | crates/libs/reactor/src/core/pump/planner/view.rs:1411-1417 | crates/libs/reactor/src/core/pump/planner/view.rs:1452-1458 | crates/libs/reactor/src/core/pump/planner/view.rs:1508-1514 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1354}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd96d31f6898d73ebb06be69d60256c284cba19f18b4b7646c1821f1cbfb237e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2570-2576 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8811-8817 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8895-8901 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8979-8985 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2570}}}],"partialFingerprints":{"codehealthFindingId/v1":"273976cd43dda1d8b838f27329d39a6f963dbb110007a7fa0c57f1778e469cc3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (1\u20137 lines \u00D7 29): crates/libs/windows/src/Windows/Win32/amsi/mod.rs:223-223 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6801-6801 | crates/libs/windows/src/Windows/Win32/audioclient/mod.rs:206-206 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:1794-1794 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:3286-3286 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:1427-1427 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:1994-1994 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4058-4058 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4135-4135 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:595-595 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12357-12357 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:9629-9629 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:12395-12395 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:12561-12561 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5199-5199 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:4858-4858 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:3301-3301 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:2683-2689 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:2833-2839 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:2932-2938 | crates/libs/windows/src/Windows/Win32/dinput/mod.rs:4969-4975 | crates/libs/windows/src/Windows/Win32/directmanipulation/mod.rs:768-768 | crates/libs/windows/src/Windows/Win32/dispex/mod.rs:466-466 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:1132-1132 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2087-2087 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6097-6097 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:7858-7858 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:254-254 | crates/libs/windows/src/Windows/Win32/gpedit/mod.rs:252-252 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 42 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/amsi/mod.rs"},"region":{"startLine":223}}}],"partialFingerprints":{"codehealthFindingId/v1":"2315a27dd06faaaaadaf93004b4ec637a19d50d2816f79f2cfe737b1fc2f3a8d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 3): crates/libs/collections/src/bindings.rs:294-300 | crates/libs/collections/src/bindings.rs:2346-2352 | crates/libs/collections/src/bindings.rs:2780-2786 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":294}}}],"partialFingerprints":{"codehealthFindingId/v1":"37a3939462d825e0491afbc93ab39eb76e9881202cbe19992b8a2f3c299e5c35"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8303-8309 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11806-11812 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:17085-17091 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":8303}}}],"partialFingerprints":{"codehealthFindingId/v1":"984026ea74b511e4f4952cc56ee5559e83bba7359eefeabaacdf5c8cb6430775"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/bindgen/src/types/cpp_interface.rs:239-245 | crates/libs/bindgen/src/types/interface.rs:595-601 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_interface.rs"},"region":{"startLine":239}}}],"partialFingerprints":{"codehealthFindingId/v1":"906352e17108551289617fea7e5980494d2218aa2e6d24a343cae2732586efff"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/bindgen/src/types/interface.rs:424-430 | crates/libs/bindgen/src/types/interface.rs:453-462 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/interface.rs"},"region":{"startLine":424}}}],"partialFingerprints":{"codehealthFindingId/v1":"29fd6456d7b30202761af69d021df75f8e8b507d4fed5daf15d2021400c245b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/bindgen/src/types/method.rs:477-483 | crates/libs/bindgen/src/types/method.rs:504-510 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/method.rs"},"region":{"startLine":477}}}],"partialFingerprints":{"codehealthFindingId/v1":"85db5509e998cca79d2b47aea847b978ebd004cf83f35cc49b96eb77f0770da8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/collections/src/bindings.rs:713-719 | crates/libs/collections/src/bindings.rs:757-763 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":713}}}],"partialFingerprints":{"codehealthFindingId/v1":"71a053613ea05e5ff4e6bf06129a4e57f403f3c4b24606b5f4a612ed2714de82"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/collections/src/bindings.rs:1203-1209 | crates/libs/collections/src/bindings.rs:1247-1253 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":1203}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ea4a29a1071a7ef40c4f26fe445bd667302f7533e2923bbb6e04de152559975"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5\u20137 lines \u00D7 2): crates/libs/collections/src/bindings.rs:1389-1395 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1115-1119 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":1389}}}],"partialFingerprints":{"codehealthFindingId/v1":"63acc83f980b8024da1da11b3b1feb71dd4251a86e0d1b944d8ff08552f5dd23"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/core/src/imp/bindings.rs:103-109 | crates/libs/core/src/imp/bindings.rs:169-175 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/core/src/imp/bindings.rs"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"55639cdc26c47de5411cdb6da5815395b1614817a58c91c17f513f0cccd79437"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/reactor/src/core/engine/mod.rs:886-892 | crates/libs/reactor/src/core/engine/mod.rs:919-925 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/engine/mod.rs"},"region":{"startLine":886}}}],"partialFingerprints":{"codehealthFindingId/v1":"76cae07e7edc01791d6c315ba70b68c70f073e5127662e602f2cd9ba4e2a91ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/reactor/src/native/winui/mod.rs:3005-3011 | crates/libs/reactor/src/native/winui/mod.rs:3432-3438 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":3005}}}],"partialFingerprints":{"codehealthFindingId/v1":"aefbc63eb715a698f87ac9b8b712a7aa953dc7c2a64d2220e296e15ce020b82d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6\u20137 lines \u00D7 2): crates/libs/reactor/src/native/winui/mod.rs:3044-3049 | crates/libs/reactor/src/native/winui/mod.rs:3138-3144 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":3044}}}],"partialFingerprints":{"codehealthFindingId/v1":"9707be93085c4eb7bd90ae46d10f71b025773fb127840bd12b683c7354856bba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2566-2572 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2678-2684 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2566}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfe4e9f4ae0402cfb7703dd13f9354ddb5f706dcd093964cd92c4b8718a01525"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2946-2952 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:3042-3048 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2946}}}],"partialFingerprints":{"codehealthFindingId/v1":"827aeb375d9a726baad3f79176643c265d21b7b04395983e8420715f689544b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2961-2967 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:3057-3063 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2961}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc97dac1c6cef18e3ec6dfe55d880b9a9019026e1d175a9e41cbb54b0fc9aac9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2304-2310 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3855-3861 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2304}}}],"partialFingerprints":{"codehealthFindingId/v1":"954a07c18c1fcaa9437b896871007c8e94f48704ea5fe21e54532c10a4b0acf8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:407-413 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7431-7437 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":407}}}],"partialFingerprints":{"codehealthFindingId/v1":"50aabfbe05193de8205bd0fefe2e63cbc4bebc9ee9367ce5ca3ad0fa8efd69df"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4222-4228 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:8615-8621 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4222}}}],"partialFingerprints":{"codehealthFindingId/v1":"f60cbf064631bfa915c386f4ce098dd2959cefd4801bff47ec0d9452248185d4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4295-4301 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:6360-6366 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4295}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c1057b6e44570133e0b985115bd60ef40739f84e666e0fab9a95f733994e80b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4302-4308 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:6371-6377 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4302}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ef6cbabeaf4555d6eb148d8de624354d32c2f5732aefb43124d74e733ffe92b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5264-5270 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:6138-6144 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":5264}}}],"partialFingerprints":{"codehealthFindingId/v1":"9bf1178f986a1ded8ad6f807f8a5214a6946ec365ab75b7236ce7ac6bada660b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29299-29305 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32384-32390 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":29299}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9be4ac6eb67db8acd55f9a42d873002d44efbccc545c8d3754f33783d4e0281"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:10030-10036 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:10821-10827 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":10030}}}],"partialFingerprints":{"codehealthFindingId/v1":"def0f6929a8cbb0a73f38fd767246ba28fc41332b4fda16bf1adc6d0a9124e52"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:10310-10316 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:11227-11233 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":10310}}}],"partialFingerprints":{"codehealthFindingId/v1":"c69fa46f775514385a684697f324815a016632724902adb2923cafdf3539cc40"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 190): crates/libs/windows/src/Windows/AI/Actions/mod.rs:459-464 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7788-7793 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:725-730 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1497-1502 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1657-1662 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1671-1676 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1685-1690 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2904-2909 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3294-3299 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3316-3321 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3418-3423 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3432-3437 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2486-2491 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:444-449 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:464-469 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:348-353 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:447-452 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2893-2898 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2907-2912 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2043-2048 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:198-203 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:219-224 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:239-244 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:259-264 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:738-743 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:302-307 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:316-321 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:330-335 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1092-1097 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1106-1111 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1120-1125 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1243-1248 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1258-1263 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1023-1028 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1486-1491 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1500-1505 | crates/libs/windows/src/Windows/Devices/Input/mod.rs:434-439 | crates/libs/windows/src/Windows/Devices/Input/mod.rs:566-571 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:429-434 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1277-1282 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1816-1821 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2078-2083 | crates/libs/windows/src/Windows/Devices/Power/mod.rs:22-27 | crates/libs/windows/src/Windows/Devices/Radios/mod.rs:46-51 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1806-1811 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:240-245 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:647-652 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:91-96 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:224-229 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:147-152 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:161-166 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:175-180 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:457-462 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:471-476 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:599-604 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:637-642 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:657-662 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:678-683 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:728-733 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:1005-1010 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1542-1547 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1556-1561 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:667-672 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:148-153 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1872-1877 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2862-2867 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2876-2881 | crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:23-28 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:286-291 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:411-416 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1093-1098 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1107-1112 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1967-1972 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2079-2084 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4706-4711 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:5124-5129 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:88-93 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:230-235 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:245-250 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:260-265 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:351-356 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:434-439 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:448-453 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1111-1116 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1642-1647 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1804-1809 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1818-1823 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2076-2081 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2467-2472 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3064-3069 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6531-6536 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6571-6576 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7248-7253 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:35-40 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:284-289 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2895-2900 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3791-3796 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4343-4348 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4626-4631 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5254-5259 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5268-5273 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5282-5287 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5296-5301 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5310-5315 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5419-5424 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5433-5438 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5479-5484 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5493-5498 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5507-5512 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:267-272 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:31-36 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:253-258 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:382-387 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:643-648 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:657-662 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:801-806 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:898-903 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:602-607 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:616-621 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:700-705 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:714-719 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1551-1556 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2183-2188 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3038-3043 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3052-3057 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3066-3071 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3080-3085 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3094-3099 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3108-3113 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3122-3127 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3136-3141 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3150-3155 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3164-3169 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3277-3282 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3292-3297 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3307-3312 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3322-3327 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3887-3892 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3901-3906 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3929-3934 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3971-3976 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3985-3990 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3999-4004 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4013-4018 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4069-4074 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4084-4089 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4214-4219 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4265-4270 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:164-169 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:132-137 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:660-665 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:884-889 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:912-917 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3139-3144 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3153-3158 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4341-4346 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:696-701 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:710-715 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:239-244 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1153-1158 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1303-1308 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1007-1012 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1539-1544 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2168-2173 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1073-1078 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1087-1092 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:119-124 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:571-576 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1310-1315 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1067-1072 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1081-1086 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2358-2363 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1711-1716 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1726-1731 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3111-3116 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3139-3144 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3600-3605 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2887-2892 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:3274-3279 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:84-89 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:31-36 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:186-191 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1946-1951 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1968-1973 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1990-1995 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:2136-2141 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4459-4464 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:817-822 | crates/libs/windows/src/Windows/Web/UI/mod.rs:283-288 | crates/libs/windows/src/Windows/Web/UI/mod.rs:353-358 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":459}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c456f3f038c844665f57ddf168605339127bc5003400a88076f3096253cdf5f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 42): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:17-22 | crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs:212-217 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/System/mod.rs:110-115 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1390-1395 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2842-2847 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2973-2978 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:884-889 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1358-1363 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:333-338 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:347-352 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:128-133 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:148-153 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:155-160 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:498-503 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:758-763 | crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs:110-115 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2643-2648 | crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:130-135 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:923-928 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3142-3147 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:293-298 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:307-312 | crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs:429-434 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:492-497 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:506-511 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:534-539 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:548-553 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:562-567 | crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs:96-101 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:181-186 | crates/libs/windows/src/Windows/System/Power/Thermal/mod.rs:233-238 | crates/libs/windows/src/Windows/System/Power/Thermal/mod.rs:310-315 | crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs:194-199 | crates/libs/windows/src/Windows/UI/Shell/CompanionWindows/mod.rs:25-30 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:254-259 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:284-289 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:785-790 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:189-194 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:269-274 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:577-582 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:592-597 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:765-770 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 44 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"7671ebfaa8b717d1a3ac6c2fea57e28556641563bee9b3dbc4f1b0db192c184e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 28): crates/libs/windows/src/Windows/UI/Core/mod.rs:461-466 | crates/libs/windows/src/Windows/UI/Core/mod.rs:476-481 | crates/libs/windows/src/Windows/UI/Core/mod.rs:491-496 | crates/libs/windows/src/Windows/UI/Core/mod.rs:506-511 | crates/libs/windows/src/Windows/UI/Core/mod.rs:521-526 | crates/libs/windows/src/Windows/UI/Core/mod.rs:536-541 | crates/libs/windows/src/Windows/UI/Core/mod.rs:551-556 | crates/libs/windows/src/Windows/UI/Core/mod.rs:918-923 | crates/libs/windows/src/Windows/UI/Core/mod.rs:933-938 | crates/libs/windows/src/Windows/UI/Core/mod.rs:948-953 | crates/libs/windows/src/Windows/UI/Core/mod.rs:963-968 | crates/libs/windows/src/Windows/UI/Core/mod.rs:978-983 | crates/libs/windows/src/Windows/UI/Core/mod.rs:993-998 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1008-1013 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2636-2641 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2650-2655 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2664-2669 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2678-2683 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2692-2697 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2706-2711 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2720-2725 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3048-3053 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3063-3068 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3078-3083 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3093-3098 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3108-3113 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3123-3128 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3138-3143 \u2014 all 28 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":461}}}],"partialFingerprints":{"codehealthFindingId/v1":"4113be6a145845b2af074ad41e0e4dc9e89f5cf36c10d6ffb36dce281197905c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 14): crates/libs/collections/src/bindings.rs:80-85 | crates/libs/collections/src/bindings.rs:784-789 | crates/libs/collections/src/bindings.rs:2213-2218 | crates/libs/composition/src/bindings_lifted.rs:2325-2330 | crates/libs/core/src/imp/bindings.rs:229-234 | crates/libs/future/src/bindings.rs:853-858 | crates/libs/future/src/bindings.rs:1101-1106 | crates/libs/future/src/bindings.rs:1137-1142 | crates/libs/future/src/bindings.rs:1535-1540 | crates/libs/future/src/bindings.rs:1838-1843 | crates/libs/future/src/bindings.rs:1879-1884 | crates/libs/reactor/src/native/winui/bindings.rs:9153-9158 | crates/libs/reactor/src/native/winui/bindings.rs:21876-21881 | crates/libs/reference/src/bindings.rs:291-296 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":80}}}],"partialFingerprints":{"codehealthFindingId/v1":"6dfb3ea1d79baa8896c93374a890def08962785d72b616ac7263ed591fd90460"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 13): crates/libs/windows/src/Windows/Media/mod.rs:1766-1771 | crates/libs/windows/src/Windows/Media/mod.rs:1780-1785 | crates/libs/windows/src/Windows/Media/mod.rs:1833-1838 | crates/libs/windows/src/Windows/Storage/mod.rs:179-184 | crates/libs/windows/src/Windows/Storage/mod.rs:5176-5181 | crates/libs/windows/src/Windows/System/mod.rs:180-185 | crates/libs/windows/src/Windows/System/mod.rs:194-199 | crates/libs/windows/src/Windows/System/mod.rs:577-582 | crates/libs/windows/src/Windows/System/mod.rs:591-596 | crates/libs/windows/src/Windows/System/mod.rs:1077-1082 | crates/libs/windows/src/Windows/System/mod.rs:1271-1276 | crates/libs/windows/src/Windows/System/mod.rs:4261-4266 | crates/libs/windows/src/Windows/System/mod.rs:4275-4280 \u2014 \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 65 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/mod.rs"},"region":{"startLine":1766}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e429a31edfb8fa53ad5503ca74c8374e48fb91799eda4607f41091081c09477"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 12): crates/libs/windows/src/Windows/Media/mod.rs:1304-1309 | crates/libs/windows/src/Windows/Media/mod.rs:1318-1323 | crates/libs/windows/src/Windows/Media/mod.rs:1332-1337 | crates/libs/windows/src/Windows/Media/mod.rs:1346-1351 | crates/libs/windows/src/Windows/Media/mod.rs:1360-1365 | crates/libs/windows/src/Windows/Media/mod.rs:1374-1379 | crates/libs/windows/src/Windows/Media/mod.rs:1388-1393 | crates/libs/windows/src/Windows/Media/mod.rs:1402-1407 | crates/libs/windows/src/Windows/Media/mod.rs:1416-1421 | crates/libs/windows/src/Windows/Media/mod.rs:1430-1435 | crates/libs/windows/src/Windows/Media/mod.rs:1444-1449 | crates/libs/windows/src/Windows/Media/mod.rs:1458-1463 \u2014 all 12 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/mod.rs"},"region":{"startLine":1304}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e564855450d96416b80c6a47c8fa1a226ac7d0ad6c0db53fd322ee96441eb13"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 11): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2912-2917 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2927-2932 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2942-2947 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2957-2962 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3125-3130 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3140-3145 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3155-3160 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3170-3175 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3185-3190 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3200-3205 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3215-3220 \u2014 all 11 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":2912}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0365e2fcec833940e229b75dccf0e1e3f0ca69e9b6dc4bd65af0df20f571649"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/UI/Core/mod.rs:1544-1549 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1558-1563 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1572-1577 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1586-1591 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1600-1605 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1614-1619 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1642-1647 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3202-3207 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3216-3221 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3230-3235 \u2014 all 10 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1544}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca644ef76506d27f20cf1b277255197afbaa4479b47168a1bfbab422bedbba8b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/reactor/src/native/winui/bindings.rs:9502-9507 | crates/libs/reactor/src/native/winui/bindings.rs:9532-9537 | crates/libs/reactor/src/native/winui/bindings.rs:9984-9989 | crates/libs/reactor/src/native/winui/bindings.rs:15114-15119 | crates/libs/reactor/src/native/winui/bindings.rs:17487-17492 | crates/libs/reactor/src/native/winui/bindings.rs:17690-17695 | crates/libs/reactor/src/native/winui/bindings.rs:18163-18168 | crates/libs/reactor/src/native/winui/bindings.rs:19226-19231 | crates/libs/reactor/src/native/winui/bindings.rs:19258-19263 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":9502}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee5b08282a67c48a114d411da959d9664f3419244c7f6350cbebea32646dec5a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/future/src/bindings.rs:843-848 | crates/libs/future/src/bindings.rs:1085-1091 | crates/libs/future/src/bindings.rs:1121-1127 | crates/libs/future/src/bindings.rs:1520-1526 | crates/libs/future/src/bindings.rs:1818-1824 | crates/libs/future/src/bindings.rs:1859-1865 | crates/libs/reactor/src/native/winui/bindings.rs:5320-5326 | crates/libs/reactor/src/native/winui/bindings.rs:9172-9178 \u2014 there are 8 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 8 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":843}}}],"partialFingerprints":{"codehealthFindingId/v1":"e744690a77d00a7dea0dc68e4b395b6709b2afdaeae7de3b1e8f444bfae19447"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:495-500 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:549-554 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:563-568 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:605-610 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:661-666 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1357-1362 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1399-1404 \u2014 there are 7 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs"},"region":{"startLine":495}}}],"partialFingerprints":{"codehealthFindingId/v1":"fdcb94b8fea6bc3baff04f3aad0d3ece151c3b60c96ef843aa1a79d6b13f5529"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/UI/Core/mod.rs:3547-3552 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3561-3566 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3575-3580 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3589-3594 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3603-3608 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3617-3622 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3645-3650 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":3547}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ba95be69992fc5622713a17fd8e7d4ebe714041ed26b5e0b2cbab97295769ef"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:75-80 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:90-95 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:105-110 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:120-125 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:135-140 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:150-155 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:165-170 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"61e893c2b17370074c5cd8fe34e09bae061c6c1e43e681d313fe791c3b77fd70"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:67-72 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:180-185 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:386-391 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1045-1050 | crates/libs/windows/src/Windows/Storage/mod.rs:345-350 | crates/libs/windows/src/Windows/Storage/mod.rs:514-519 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Foundation/Collections/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Security/Credentials/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 31 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/Collections/mod.rs"},"region":{"startLine":67}}}],"partialFingerprints":{"codehealthFindingId/v1":"a896c577fe1031f99dd0a6e1e7f1927aa9a7b53cfc219f94bea6c41dbfae6662"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:104-109 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:339-344 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:621-626 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1528-1533 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1810-1815 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2083-2088 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"761e05f347079cc1a1ffe1f99c29d3b9fab46f8cf3d77414b79535b0bab49e64"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Storage/Search/mod.rs:1677-1682 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1692-1697 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1774-1779 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1789-1794 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1871-1876 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1886-1891 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Search/mod.rs"},"region":{"startLine":1677}}}],"partialFingerprints":{"codehealthFindingId/v1":"79e40c58e10bb927e98adfb5a64038ff157d11b097b7932c2d6d568e2e6df0b6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Graphics/Display/mod.rs:861-866 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:887-892 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:907-912 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:928-933 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:942-947 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Display/mod.rs"},"region":{"startLine":861}}}],"partialFingerprints":{"codehealthFindingId/v1":"bba27ad7dc3e9ede9fcac073319f99f6e9b01eea756a34d627e1288350c03eda"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/System/Power/mod.rs:273-278 | crates/libs/windows/src/Windows/System/Power/mod.rs:293-298 | crates/libs/windows/src/Windows/System/Power/mod.rs:313-318 | crates/libs/windows/src/Windows/System/Power/mod.rs:333-338 | crates/libs/windows/src/Windows/System/Power/mod.rs:353-358 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Power/mod.rs"},"region":{"startLine":273}}}],"partialFingerprints":{"codehealthFindingId/v1":"e91111c53f4c3e319310ca1fd9ece0faa2428fdb50717d1797ad93c5665c017e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:317-322 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:331-336 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:345-350 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:359-364 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:373-378 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs"},"region":{"startLine":317}}}],"partialFingerprints":{"codehealthFindingId/v1":"36041786263f17093bed13cc0a99e4e234beb438752fdaa371058671bf00823c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1273-1278 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1287-1292 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1301-1306 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1315-1320 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1329-1334 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs"},"region":{"startLine":1273}}}],"partialFingerprints":{"codehealthFindingId/v1":"e82392146b34c0eebb4e9c647dbd569e57574cca6b0be0140680e88da8ed0c08"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2362-2367 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2408-2413 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2454-2459 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2500-2505 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2546-2551 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dsound/mod.rs"},"region":{"startLine":2362}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d29d107fe6521e47f39c54e11c066accc0175e4552322a7758a5a02257d3d36"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1573-1578 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1587-1592 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1601-1606 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2472-2477 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1573}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1b97a069fe20c1fa01a6b5012f01905d71f15f1d5729c40fbbc94d9b976f13f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:289-294 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:303-308 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:865-870 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:879-884 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":289}}}],"partialFingerprints":{"codehealthFindingId/v1":"f17dec267952981a0e47faf53ea8fae2c9ce37643dbe37a28ef3ef092923c517"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/System/mod.rs:4191-4196 | crates/libs/windows/src/Windows/System/mod.rs:4205-4210 | crates/libs/windows/src/Windows/System/mod.rs:4219-4224 | crates/libs/windows/src/Windows/System/mod.rs:4233-4238 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/mod.rs"},"region":{"startLine":4191}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c9198eff0b67f8cb333e4b39633521c836a1f03c275863d81c701a89459de97"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3376-3381 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3390-3395 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3404-3409 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":3376}}}],"partialFingerprints":{"codehealthFindingId/v1":"532ff930c947c3b533cb927af56b7f55b0bbe1051cb5f32e5d55a279112e92b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3819-3824 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3833-3838 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3847-3852 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":3819}}}],"partialFingerprints":{"codehealthFindingId/v1":"598e00a63845893bf0a6b8fd87eeae4ed4bce9e012cb60a6694cf1ee5c297881"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2851-2856 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2865-2870 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2879-2884 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":2851}}}],"partialFingerprints":{"codehealthFindingId/v1":"d715c2ed79b9d271aae3b744bc5bd9fddf05dfc221a85c782e1669477a16ddb4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Playback/mod.rs:2531-2536 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2545-2550 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2559-2564 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Playback/mod.rs"},"region":{"startLine":2531}}}],"partialFingerprints":{"codehealthFindingId/v1":"7e3164c8aba4d6fa42060bcce46c2cf6e4f852e8f4b3f43f6e91f061a9337f95"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:654-659 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:668-673 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:682-687 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Proximity/mod.rs"},"region":{"startLine":654}}}],"partialFingerprints":{"codehealthFindingId/v1":"c61104c82b611c0e8ed977d18dfaea7bf1c0a2335490dca7486b5dfc3709c8ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1500-1505 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2661-2666 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2784-2789 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":1500}}}],"partialFingerprints":{"codehealthFindingId/v1":"374cabf133b96f84096a67a87333f1b7c164186799dfeee279ae067fcb500c26"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:467-472 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:481-486 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:510-515 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs"},"region":{"startLine":467}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecd156e39d594d2fe50a06bb2fb89813b3bcea7675ec94e32326e8c0775a4c40"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Core/mod.rs:350-355 | crates/libs/windows/src/Windows/UI/Core/mod.rs:867-872 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2469-2474 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":350}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f342cf082cbca5c623eb4be578e7083d16bcf406ac9bd193d50f5f3c6ecbf11"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Input/mod.rs:174-179 | crates/libs/windows/src/Windows/UI/Input/mod.rs:188-193 | crates/libs/windows/src/Windows/UI/Input/mod.rs:202-207 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/mod.rs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d995a3c86eab950b50726c6de97ab59374bf9e8b41bfd5af7b22f772402e58c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Input/mod.rs:4194-4199 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4209-4214 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4224-4229 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/mod.rs"},"region":{"startLine":4194}}}],"partialFingerprints":{"codehealthFindingId/v1":"55755831941360066338b111419add4d9a5b0e29c65c37433fafca91bddaed9f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5321-5326 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:7271-7276 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15653-15658 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":5321}}}],"partialFingerprints":{"codehealthFindingId/v1":"aec69fcea7df0f53dce022647f7fd9021d43d16614d4d898a4bd3512e119b764"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:19893-19898 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:19958-19963 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:20024-20029 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":19893}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa5925349dda7ac37c19b4ddfd545fcf8c051fe4cb0029d279cf853e098a77bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/bindgen/src/types/cpp_method.rs:319-324 | crates/libs/bindgen/src/types/cpp_method.rs:338-343 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_method.rs"},"region":{"startLine":319}}}],"partialFingerprints":{"codehealthFindingId/v1":"aacf4c30056a0ca169c51667e21beb2ddbedfb287b20779580dab00b53a46b2f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/bindgen/src/types/cpp_method.rs:357-362 | crates/libs/bindgen/src/types/cpp_method.rs:372-377 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_method.rs"},"region":{"startLine":357}}}],"partialFingerprints":{"codehealthFindingId/v1":"f317b130200b3d4997f87fcb3b0560c9f6684dc6542e51ee8912bd583d788ce3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/bindgen/src/types/interface.rs:361-366 | crates/libs/bindgen/src/types/interface.rs:384-390 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/interface.rs"},"region":{"startLine":361}}}],"partialFingerprints":{"codehealthFindingId/v1":"538ebfd05eb5244f03b59841628700230600f3fc6f62aff1bc2db6378a6a1688"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/bindgen/src/types/mod.rs:127-132 | crates/libs/bindgen/src/types/mod.rs:1185-1190 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/mod.rs"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3d6aea6e58f9b0ae6071a7b5df107437b7ef60b86501ffb113d44aaa3debbc5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/future/src/bindings.rs:1282-1287 | crates/libs/reference/src/bindings.rs:179-184 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1282}}}],"partialFingerprints":{"codehealthFindingId/v1":"2003dc08c56405261d62914cb2c01b17daa3704bc8d3e3c976e35814d33ef005"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/reference/src/bindings.rs:147-152 | crates/libs/reference/src/bindings.rs:259-264 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reference/src/bindings.rs"},"region":{"startLine":147}}}],"partialFingerprints":{"codehealthFindingId/v1":"6299daaf337717dc948448a821ab44a8565b7ad0a858f7bd42b43bee00008fb2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:799-804 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2778-2783 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":799}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3f11fc0de7f943192c29847f8fd05e60a329e40601620a25aece4158d1ed1d1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:813-818 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2792-2797 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":813}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee3b7b29b573ed840ad45b7fa8b2eddd6e9696713d666fccac687ab72fe90a5a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1974-1979 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3677-3682 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1974}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c354ccd810bfa236b5fe00a278f7d1a70a2568180c01eee821cd145d64b35ee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:109-114 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:123-128 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":109}}}],"partialFingerprints":{"codehealthFindingId/v1":"1255f60dba4423cd9cde2e9f377606b82b5feb11a5431474c616a58053b3273f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1114-1119 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:278-283 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/Collections/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":1114}}}],"partialFingerprints":{"codehealthFindingId/v1":"79c7495ae37ea5001411ad1d2c91def8f1329cafcfd018f03a24021fd1f24625"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1404-1409 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1607-1612 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":1404}}}],"partialFingerprints":{"codehealthFindingId/v1":"5319afe094c62715b8180ad8d5fae9e0dffa8094ec9c39b240e13e46ad57fbb7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1418-1423 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1621-1626 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":1418}}}],"partialFingerprints":{"codehealthFindingId/v1":"68801401b8597cec57664b957ae67ca174f7fb46d597f4a1f2ef268bda66bc59"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2220-2225 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:3075-3080 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":2220}}}],"partialFingerprints":{"codehealthFindingId/v1":"7be240e2fa74b4d6cde57dd548c64573a942fc85782a7edf6b9e73b4cba9397b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:305-310 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:319-324 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs"},"region":{"startLine":305}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d3182c12aa3150b16bfab894067f12ac943641f55de8edd692c448aeae5216a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1458-1463 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1472-1477 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1458}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f8ec0941e143c1c1ff7410723b99e7f222ff3952d75092eb990ca52366f3a72"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:243-248 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1673-1678 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":243}}}],"partialFingerprints":{"codehealthFindingId/v1":"b68ae1fd25d0a648179ba806b221aeb8017b19035f9edc14f14eaeeeb865f63f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:257-262 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1687-1692 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":257}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef602f925e1c1e6e2dd68d28d44eb3d5a3b6c3f714ad70a14a894e98194f993b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:29-34 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:43-48 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"294a88ab87df43f39e33539304fef5348a3b04e668511473409e756e325a6290"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:264-269 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:278-283 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":264}}}],"partialFingerprints":{"codehealthFindingId/v1":"bcc06199947210521318cd021bf158b69d11f2965a1920d8c29391650df14237"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:687-692 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:701-706 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":687}}}],"partialFingerprints":{"codehealthFindingId/v1":"acd304317abdc8b44863ab4066116579dbfcbb1988d70878369089aa0002a7be"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:962-967 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:976-981 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":962}}}],"partialFingerprints":{"codehealthFindingId/v1":"50c4178137d6027ee5b723c462b85ba5db18c9f393bd81f4d14a5dee66ba3952"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1621-1626 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1635-1640 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":1621}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9f9e58498abd6b42f727ef73c34afe86b5031b19e4df6ed0973cc09c4ef57d0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1931-1936 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1945-1950 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":1931}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a2f969816d88761c453158eebde398177781cc86207751c5749450e01bfa55e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2145-2150 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2159-2164 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":2145}}}],"partialFingerprints":{"codehealthFindingId/v1":"1850708bad45ba8af5dc3e3a9f09ed21ddfc6e4a29629430ea3c75e7ba6ce0a0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:19-24 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:47-52 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"38e1b243db15fc1a658f3e38c719cc9a6454e4bb330722dde29efc76c07b4646"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Gaming/UI/mod.rs:7-12 | crates/libs/windows/src/Windows/Gaming/UI/mod.rs:21-26 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/UI/mod.rs"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf52842ec13d004101a70adcf44cb945dcb413037b5f03b97b9ea232e33ff58e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Capture/mod.rs:420-425 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1628-1633 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/mod.rs"},"region":{"startLine":420}}}],"partialFingerprints":{"codehealthFindingId/v1":"04fe7b4ebbc325a401b64b63e09bd0e5a2e6bb4a118c05ef4d7cf78d96d08ee0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs:314-319 | crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs:328-333 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs"},"region":{"startLine":314}}}],"partialFingerprints":{"codehealthFindingId/v1":"5bc63691a0149180aeab7b6e482f01355032f117ad443c354a74d5fde31fb9bf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:6094-6099 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6108-6113 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":6094}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6e9ef03882cf6dc20937ee3bb92e1a7c3e183198c4baac519db446299a9a974"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Playback/mod.rs:29-34 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:43-48 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Playback/mod.rs"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"baba55e2d9038d1be626fa8acef5ee94a828874b0b2520aa9940442e3b245bd3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Playback/mod.rs:1799-1804 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3688-3693 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Playback/mod.rs"},"region":{"startLine":1799}}}],"partialFingerprints":{"codehealthFindingId/v1":"fadd8d4e90ce63eca8f84675cdf49573eb2bcd31d69891f2d317be4c78a30c1b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3097-3102 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3125-3130 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs"},"region":{"startLine":3097}}}],"partialFingerprints":{"codehealthFindingId/v1":"debde4caf99736ee3b3359e15ba513fcd482ad3ffcc3ec82709b36dced3e893c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2231-2236 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2628-2633 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2231}}}],"partialFingerprints":{"codehealthFindingId/v1":"63ae4a36ce30164bef71e82d37b5fac3a855ca15b33b918c0554563ee17100ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2246-2251 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3819-3824 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2246}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc6357c5a2581fc5563ca5c46d3ce5304bcaf16d03bd696c10e70b6acebf5479"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/System/Power/mod.rs:57-62 | crates/libs/windows/src/Windows/System/Power/mod.rs:71-76 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Power/mod.rs"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"69c082b17bba8205639ad7ffc4b77b62ba5ab2a67f4353614a1249d42e596346"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/System/Power/mod.rs:162-167 | crates/libs/windows/src/Windows/System/Power/mod.rs:176-181 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Power/mod.rs"},"region":{"startLine":162}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9a8e508f1e8e3ab43ecdc1f1038b026b8175c249b4015970266e19052708ff7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/System/mod.rs:152-157 | crates/libs/windows/src/Windows/System/mod.rs:166-171 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/mod.rs"},"region":{"startLine":152}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbf51425607f8b3b88a75f5480797383bc58a299ba77e4b4f1274e5ad24f3ea9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/System/mod.rs:549-554 | crates/libs/windows/src/Windows/System/mod.rs:563-568 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/mod.rs"},"region":{"startLine":549}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d2d93124a9971edf2df55ce65f83ec92f2597ebb265a99d7fc79d6c2b78398c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/System/mod.rs:3267-3272 | crates/libs/windows/src/Windows/System/mod.rs:3281-3286 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/mod.rs"},"region":{"startLine":3267}}}],"partialFingerprints":{"codehealthFindingId/v1":"99bba9a0d6400946675c445c866167c1d283b05a1867a529de8f865b2c164d19"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:250-255 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2270-2275 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":250}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce2ab3c6bd81dd6ab8a65500dd0c82872c57847da502abc032db8bb2c6d38962"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:284-289 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1689-1694 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":284}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d8d267a7d7b4e36f49a5402877ff1a994c08a843392f553f3f6ef43590019b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:306-311 | crates/libs/windows/src/Windows/UI/Core/mod.rs:321-326 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":306}}}],"partialFingerprints":{"codehealthFindingId/v1":"0533ac317b3b50a18f0a96ae49e02f075239e925ef262d8956bc676213953821"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:388-393 | crates/libs/windows/src/Windows/UI/Core/mod.rs:403-408 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":388}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1ff0e7edb1eed6ec5dfe97c15039e0aec314ae73fa74ea537eedb25a3452da9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:1516-1521 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1530-1535 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1516}}}],"partialFingerprints":{"codehealthFindingId/v1":"5aeeeb07b39a70c09bc84e1716314c4270d88c328ac3c0fd629014cf62f4c0fd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:1826-1831 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1981-1986 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1826}}}],"partialFingerprints":{"codehealthFindingId/v1":"9073abd6bfaa77af6ea2211009c1ee76b6e49ff5eb3059bb16f2b531229e18c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:3519-3524 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3533-3538 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":3519}}}],"partialFingerprints":{"codehealthFindingId/v1":"089eaaa9b0c921f04c192c6066002ea9f54314153e1c22f41d5e87a9f93d5a02"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:591-596 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1343-1348 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs"},"region":{"startLine":591}}}],"partialFingerprints":{"codehealthFindingId/v1":"e24aa05bf5b6bf3d2cc3ec99819190be5f62511cc6f5a4ea0dc342d9f8f71b17"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:633-638 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1371-1376 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs"},"region":{"startLine":633}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c7d44fbe61fef56dadd3991b7de391b209822aaaaf44748e93b4826a714d238"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:647-652 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1385-1390 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs"},"region":{"startLine":647}}}],"partialFingerprints":{"codehealthFindingId/v1":"471b5d51aa5a16e5f73ae316260d85883eeea707a0d6ca7c76d2754444494634"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:675-680 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1413-1418 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs"},"region":{"startLine":675}}}],"partialFingerprints":{"codehealthFindingId/v1":"13a864cd9fd71ff5a376a063f4f234c9af2cc5d35202f99c34056d7d7d1f7b3e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/mod.rs:494-499 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2680-2685 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/mod.rs"},"region":{"startLine":494}}}],"partialFingerprints":{"codehealthFindingId/v1":"488c771b5507b4719d0dbf59d11c9367d1378744451d1376a8412d89b6373cd2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/mod.rs:522-527 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2694-2699 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/mod.rs"},"region":{"startLine":522}}}],"partialFingerprints":{"codehealthFindingId/v1":"e43eef60a437bf5fdd9b31d8b31976f82714e3e1966a126a1f18f85d177061d5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/mod.rs:550-555 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2638-2643 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/mod.rs"},"region":{"startLine":550}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef2b8e7bede212db8f18ad4581759cdb6965594e2eaf4772052f47c357ffcf58"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/mod.rs:564-569 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2652-2657 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/mod.rs"},"region":{"startLine":564}}}],"partialFingerprints":{"codehealthFindingId/v1":"cfdbb11e909a24ec8611eefcd8e59b4c1d37acbd48ac3309d1840eec3021687f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/mod.rs:592-597 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2666-2671 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/mod.rs"},"region":{"startLine":592}}}],"partialFingerprints":{"codehealthFindingId/v1":"159cafd5149df9eb81e6f12220f44ccbafdbac230fd8e79b275a3c56843317b6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/mod.rs:2173-2178 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2188-2193 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/mod.rs"},"region":{"startLine":2173}}}],"partialFingerprints":{"codehealthFindingId/v1":"93056cecfc4326c80ca7f025f52219766a1d7b70ef543037802cd3b24515b330"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/mod.rs:3934-3939 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3948-3953 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/mod.rs"},"region":{"startLine":3934}}}],"partialFingerprints":{"codehealthFindingId/v1":"3322cbf6099d0ec7a5672d752dc70e14ea1d1a2985aabdd2e6b72c0516da88d7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Shell/mod.rs:692-697 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:706-711 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Shell/mod.rs"},"region":{"startLine":692}}}],"partialFingerprints":{"codehealthFindingId/v1":"732d17824dd9067c7cab230e41334ab0dbb6f18d530b8e15f65dfcc79dd9f211"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1569-1574 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1583-1588 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs"},"region":{"startLine":1569}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7e9445baa57a4297954741c0ac265b7c67e97cdc1d0fd25f097547a99a00efa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4664-4669 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4724-4729 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":4664}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1b0d090b2f353ca245090dc93e218d85c1a5cd37f4b9bb6fe5adaa897746b83"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4679-4684 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4739-4744 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":4679}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2f3c51a79e1568b59530245177041948863bdee8cb8c3ade7f4c1a3a17e6603"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4694-4699 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4754-4759 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":4694}}}],"partialFingerprints":{"codehealthFindingId/v1":"d95121e4b7eb7c6ae4e7cd25c8e3a629f0b3d14097da73a08ad3b3cb385271b3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4709-4714 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4769-4774 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":4709}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7ed8e694e31a87acecdb83cd583d5d1366c139a09c9310a523413b99def91e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4814-4819 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4889-4894 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":4814}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbb2881d067f6a97bf20d3e52e56a9121a064b02d37862728703b5e5dbfb29bd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:256-261 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:312-317 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":256}}}],"partialFingerprints":{"codehealthFindingId/v1":"60e1bc2df52c2ed1e697b7207c0d096dbee4de408d96206e06f43d9ecb89fbf7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:270-275 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:326-331 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":270}}}],"partialFingerprints":{"codehealthFindingId/v1":"0da8a36d2f42db7922fab767cd98b04b7b1f7661169bf17b32b46bd5a954206b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:284-289 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:340-345 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":284}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc41fc15e5d803c481f23237c46f2ce4b645d2764374b622ab641496ed1564fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:298-303 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:354-359 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":298}}}],"partialFingerprints":{"codehealthFindingId/v1":"77652079a778ab9d090880075cdb94ac5edbc901c0985398e75c15f2509f0104"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:396-401 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:466-471 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":396}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f4a65b7cd67cd4efa3d569d9070b359e8dad7e53d2e7957fb867f37d6ac0309"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/mod.rs:143-148 | crates/libs/windows/src/Windows/Web/UI/mod.rs:199-204 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/mod.rs"},"region":{"startLine":143}}}],"partialFingerprints":{"codehealthFindingId/v1":"9577eb6ce0273790505be200774a4d60b2f89d0d9f0b65a99dc7c1f72e14656b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/mod.rs:157-162 | crates/libs/windows/src/Windows/Web/UI/mod.rs:213-218 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/mod.rs"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"fca061e1fe01762430cc9d29e526ded06515a5ecf86e1e37980dbb587296ecbf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/mod.rs:171-176 | crates/libs/windows/src/Windows/Web/UI/mod.rs:227-232 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/mod.rs"},"region":{"startLine":171}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a2a8af7a291e2149a355a51d5198d2a1bfe945ab7c2ed6556e173084d8753fd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/mod.rs:185-190 | crates/libs/windows/src/Windows/Web/UI/mod.rs:241-246 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/mod.rs"},"region":{"startLine":185}}}],"partialFingerprints":{"codehealthFindingId/v1":"3419f8eeff3fc7197c5736a370894119d4bc42ae58e711fae0955f9e6c141ca4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1358-1363 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1685-1690 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":1358}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8daafd6c4cab98ebf97b09cd26b5d197d7acaef0ee78976893e6e9a2d27d211"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certif/mod.rs:235-240 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:520-525 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certif/mod.rs"},"region":{"startLine":235}}}],"partialFingerprints":{"codehealthFindingId/v1":"66ee3ebd6b654e10efda2cfcc9d943537daaad28067a7b49b97fa1102f538163"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7043-7048 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10157-10162 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":7043}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b5102b391e62cbd8cb610b07f8cb04100cbf3ecae481616fa15dba63d09f3f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4248-4253 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:8651-8656 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4248}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5c3e1aeb58e563b84b6ad7ecc7072926b15f7a9b7a333ef7c08d8d490834c5c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4276-4281 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:8699-8704 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4276}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a870baf2bb6c0dd977a3ae095b3fe68dd83527827857e7ee94c19b0c6b9ea25"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5320-5325 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:6249-6254 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":5320}}}],"partialFingerprints":{"codehealthFindingId/v1":"a729f6abaff58061144ce9cd358e0ef2bd1bffe6f8aa74b0bbb6e9cc661e0d2a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5534-5539 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:6370-6375 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":5534}}}],"partialFingerprints":{"codehealthFindingId/v1":"05d1788c4e2f2796400646e4e927a8130b4bcf3bbb4e3073f1d1f31d9781be19"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:58-63 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:270-275 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6315c84dc42640ee8ecba3d28dc151611a2ea8cd56e81bd5aa39805e0520aba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:208-213 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:416-421 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs"},"region":{"startLine":208}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ac96802a7b118fa95c9e9755283f33ed00171da2bba38261f63354f6b47cdcc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/iads/mod.rs:3676-3681 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5562-5567 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":3676}}}],"partialFingerprints":{"codehealthFindingId/v1":"f64abba4e26c3a44bbaba4d71d864a9f640c6a4ddefe82c6078322207cfea0a2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 252): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:18-22 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:460-464 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7789-7793 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:726-730 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1498-1502 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1658-1662 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1672-1676 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1686-1690 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2905-2909 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3295-3299 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3317-3321 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3419-3423 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3433-3437 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2487-2491 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:445-449 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:465-469 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:349-353 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:448-452 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2894-2898 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2908-2912 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2044-2048 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:199-203 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:220-224 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:240-244 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:260-264 | crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs:213-217 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:739-743 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/System/mod.rs:111-115 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1391-1395 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2843-2847 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2974-2978 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:303-307 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:317-321 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:331-335 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1093-1097 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1107-1111 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1121-1125 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1244-1248 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1259-1263 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:885-889 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1359-1363 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:334-338 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:348-352 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1024-1028 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1487-1491 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1501-1505 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:129-133 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:149-153 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:156-160 | crates/libs/windows/src/Windows/Devices/Input/mod.rs:435-439 | crates/libs/windows/src/Windows/Devices/Input/mod.rs:567-571 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:430-434 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1278-1282 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1817-1821 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2079-2083 | crates/libs/windows/src/Windows/Devices/Power/mod.rs:23-27 | crates/libs/windows/src/Windows/Devices/Radios/mod.rs:47-51 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1807-1811 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:241-245 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:499-503 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:759-763 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:648-652 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:92-96 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:225-229 | crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs:111-115 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:148-152 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:162-166 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:176-180 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:458-462 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:472-476 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:600-604 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:638-642 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:658-662 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:679-683 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:729-733 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:1006-1010 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2644-2648 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1543-1547 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1557-1561 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:668-672 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:149-153 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1873-1877 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2863-2867 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2877-2881 | crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:24-28 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:287-291 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:412-416 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1094-1098 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1108-1112 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1968-1972 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2080-2084 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4707-4711 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:5125-5129 | crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:131-135 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:924-928 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:89-93 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:231-235 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:246-250 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:261-265 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:352-356 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:435-439 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:449-453 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1112-1116 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1643-1647 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1805-1809 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1819-1823 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2077-2081 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2468-2472 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3065-3069 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6532-6536 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6572-6576 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7249-7253 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:36-40 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:285-289 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2896-2900 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3792-3796 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4344-4348 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4627-4631 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5255-5259 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5269-5273 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5283-5287 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5297-5301 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5311-5315 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5420-5424 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5434-5438 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5480-5484 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5494-5498 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5508-5512 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:268-272 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:32-36 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:254-258 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:383-387 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:644-648 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:658-662 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:802-806 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:899-903 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:603-607 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:617-621 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:701-705 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:715-719 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1552-1556 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2184-2188 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3039-3043 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3053-3057 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3067-3071 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3081-3085 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3095-3099 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3109-3113 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3123-3127 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3137-3141 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3151-3155 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3165-3169 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3278-3282 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3293-3297 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3308-3312 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3323-3327 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3888-3892 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3902-3906 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3930-3934 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3972-3976 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3986-3990 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4000-4004 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4014-4018 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4070-4074 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4085-4089 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4215-4219 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4266-4270 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3143-3147 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:165-169 | crates/libs/windows/src/Windows/Media/mod.rs:1767-1771 | crates/libs/windows/src/Windows/Media/mod.rs:1781-1785 | crates/libs/windows/src/Windows/Media/mod.rs:1834-1838 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:133-137 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:661-665 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:885-889 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:913-917 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3140-3144 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3154-3158 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4342-4346 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:697-701 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:711-715 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:294-298 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:308-312 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:240-244 | crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs:430-434 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1154-1158 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1304-1308 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:496-500 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:493-497 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:507-511 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:535-539 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:549-553 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:563-567 | crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs:97-101 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1008-1012 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1540-1544 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2169-2173 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1074-1078 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1088-1092 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:182-186 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:120-124 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:572-576 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1311-1315 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1068-1072 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1082-1086 | crates/libs/windows/src/Windows/Storage/mod.rs:180-184 | crates/libs/windows/src/Windows/Storage/mod.rs:5177-5181 | crates/libs/windows/src/Windows/System/Power/Thermal/mod.rs:234-238 | crates/libs/windows/src/Windows/System/Power/Thermal/mod.rs:311-315 | crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs:195-199 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2359-2363 | crates/libs/windows/src/Windows/System/mod.rs:181-185 | crates/libs/windows/src/Windows/System/mod.rs:195-199 | crates/libs/windows/src/Windows/System/mod.rs:578-582 | crates/libs/windows/src/Windows/System/mod.rs:592-596 | crates/libs/windows/src/Windows/System/mod.rs:1078-1082 | crates/libs/windows/src/Windows/System/mod.rs:1272-1276 | crates/libs/windows/src/Windows/System/mod.rs:4262-4266 | crates/libs/windows/src/Windows/System/mod.rs:4276-4280 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1712-1716 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1727-1731 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:550-554 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:564-568 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:606-610 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:662-666 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1358-1362 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1400-1404 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3112-3116 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3140-3144 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3601-3605 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2888-2892 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:3275-3279 | crates/libs/windows/src/Windows/UI/Shell/CompanionWindows/mod.rs:26-30 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:85-89 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:255-259 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:285-289 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:786-790 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:190-194 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:270-274 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:32-36 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:187-191 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1947-1951 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1969-1973 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1991-1995 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:2137-2141 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4460-4464 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:818-822 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:578-582 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:593-597 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:766-770 | crates/libs/windows/src/Windows/Web/UI/mod.rs:284-288 | crates/libs/windows/src/Windows/Web/UI/mod.rs:354-358 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"060e5ca8989c4e511f3aa0435703c47c6be07ed3aa1254f685e3df9406111099"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 214): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:18-22 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7789-7793 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:726-730 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1498-1502 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1658-1662 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1672-1676 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1686-1690 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2905-2909 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3419-3423 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3433-3437 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2487-2491 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:445-449 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:465-469 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:349-353 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2894-2898 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2908-2912 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2044-2048 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:199-203 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:220-224 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:240-244 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:260-264 | crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs:213-217 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:739-743 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1391-1395 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2843-2847 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2974-2978 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:303-307 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:317-321 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:331-335 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1093-1097 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1107-1111 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1121-1125 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:885-889 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:334-338 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:348-352 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1024-1028 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1487-1491 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1501-1505 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:129-133 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:149-153 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:156-160 | crates/libs/windows/src/Windows/Devices/Input/mod.rs:435-439 | crates/libs/windows/src/Windows/Devices/Input/mod.rs:567-571 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1278-1282 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1817-1821 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2079-2083 | crates/libs/windows/src/Windows/Devices/Power/mod.rs:23-27 | crates/libs/windows/src/Windows/Devices/Radios/mod.rs:47-51 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1807-1811 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:241-245 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:499-503 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:759-763 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:648-652 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:651-655 | crates/libs/windows/src/Windows/Foundation/mod.rs:371-375 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:92-96 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:225-229 | crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs:111-115 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:148-152 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:162-166 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:176-180 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:458-462 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:472-476 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:600-604 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:638-642 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:658-662 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:679-683 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2644-2648 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1543-1547 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1557-1561 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:668-672 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:149-153 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1873-1877 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2863-2867 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2877-2881 | crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:24-28 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:287-291 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:412-416 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1094-1098 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1108-1112 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1968-1972 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2080-2084 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4707-4711 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:5125-5129 | crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:131-135 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:924-928 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:89-93 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:435-439 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:449-453 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1112-1116 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1643-1647 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1805-1809 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1819-1823 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2077-2081 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2468-2472 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3065-3069 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7249-7253 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:36-40 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:285-289 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2896-2900 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3792-3796 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4344-4348 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4627-4631 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5255-5259 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5269-5273 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5283-5287 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5297-5301 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5311-5315 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5420-5424 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5434-5438 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5480-5484 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5494-5498 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5508-5512 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:268-272 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:32-36 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:254-258 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:383-387 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:644-648 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:658-662 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:802-806 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:899-903 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:603-607 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:617-621 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:701-705 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:715-719 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1552-1556 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2184-2188 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3039-3043 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3053-3057 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3067-3071 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3081-3085 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3095-3099 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3109-3113 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3123-3127 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3137-3141 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3151-3155 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3165-3169 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3888-3892 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3902-3906 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3930-3934 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3972-3976 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3986-3990 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4000-4004 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4014-4018 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3143-3147 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:165-169 | crates/libs/windows/src/Windows/Media/mod.rs:1767-1771 | crates/libs/windows/src/Windows/Media/mod.rs:1781-1785 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:133-137 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:661-665 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:885-889 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:913-917 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3140-3144 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3154-3158 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:697-701 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:711-715 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:294-298 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:308-312 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:240-244 | crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs:430-434 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1154-1158 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1304-1308 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:496-500 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:493-497 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:507-511 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:535-539 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:549-553 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:563-567 | crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs:97-101 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1008-1012 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1540-1544 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2169-2173 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1074-1078 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1088-1092 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:182-186 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:120-124 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:572-576 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1311-1315 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1068-1072 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1082-1086 | crates/libs/windows/src/Windows/Storage/mod.rs:180-184 | crates/libs/windows/src/Windows/Storage/mod.rs:5177-5181 | crates/libs/windows/src/Windows/System/Power/Thermal/mod.rs:234-238 | crates/libs/windows/src/Windows/System/Power/Thermal/mod.rs:311-315 | crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs:195-199 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2359-2363 | crates/libs/windows/src/Windows/System/mod.rs:181-185 | crates/libs/windows/src/Windows/System/mod.rs:195-199 | crates/libs/windows/src/Windows/System/mod.rs:578-582 | crates/libs/windows/src/Windows/System/mod.rs:592-596 | crates/libs/windows/src/Windows/System/mod.rs:1078-1082 | crates/libs/windows/src/Windows/System/mod.rs:1272-1276 | crates/libs/windows/src/Windows/System/mod.rs:4262-4266 | crates/libs/windows/src/Windows/System/mod.rs:4276-4280 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:550-554 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:564-568 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:606-610 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:662-666 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1358-1362 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1400-1404 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3112-3116 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3140-3144 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3601-3605 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2888-2892 | crates/libs/windows/src/Windows/UI/Shell/CompanionWindows/mod.rs:26-30 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:85-89 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:255-259 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:786-790 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:32-36 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4460-4464 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:818-822 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:766-770 | crates/libs/windows/src/Windows/Web/UI/mod.rs:284-288 | crates/libs/windows/src/Windows/Web/UI/mod.rs:354-358 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"adf6307111c0dc8684baf4e8a606e0a65e56be2656dd7af0bbc3a8fc728aecd9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 148): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:97-101 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:159-163 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:221-225 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:283-287 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:356-360 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:448-452 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:502-506 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:557-561 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:609-613 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:708-712 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:774-778 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:835-839 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:901-905 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:963-967 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1010-1014 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1076-1080 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1142-1146 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1217-1221 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1272-1276 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1355-1359 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1446-1450 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1508-1512 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1571-1575 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1640-1644 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1703-1707 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1867-1871 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1942-1946 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2013-2017 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2083-2087 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2169-2173 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2255-2259 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2352-2356 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2469-2473 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2619-2623 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2692-2696 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2776-2780 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2864-2868 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2948-2952 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3030-3034 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3155-3159 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3272-3276 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3473-3477 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3564-3568 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3694-3698 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3811-3815 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3881-3885 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3965-3969 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4054-4058 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4132-4136 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4222-4226 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4316-4320 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4389-4393 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4483-4487 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4612-4616 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4696-4700 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4847-4851 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4931-4935 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5020-5024 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5108-5112 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5194-5198 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5264-5268 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5353-5357 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5421-5425 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5493-5497 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5565-5569 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5641-5645 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5719-5723 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5795-5799 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5890-5894 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5968-5972 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6046-6050 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6192-6196 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6283-6287 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6373-6377 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6468-6472 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6547-6551 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6623-6627 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6711-6715 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6821-6825 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6900-6904 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6978-6982 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7067-7071 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7121-7125 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7233-7237 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7287-7291 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7333-7337 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7380-7384 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7427-7431 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7511-7515 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7603-7607 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7657-7661 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7740-7744 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7831-7835 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7910-7914 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7978-7982 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8025-8029 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8080-8084 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8139-8143 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8194-8198 | crates/libs/windows/src/Windows/Gaming/UI/mod.rs:241-245 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:602-606 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1254-1258 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1075-1079 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2253-2257 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3169-3173 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1282-1286 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1356-1360 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1430-1434 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1504-1508 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1589-1593 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1778-1782 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1848-1852 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1915-1919 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1979-1983 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2049-2053 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2127-2131 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2200-2204 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2278-2282 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2356-2360 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2415-2419 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2493-2497 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2571-2575 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2650-2654 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2717-2721 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2804-2808 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2892-2896 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2966-2970 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3041-3045 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3122-3126 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3197-3201 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3272-3276 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3365-3369 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3438-3442 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3630-3634 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3700-3704 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3759-3763 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3867-3871 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3955-3959 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4051-4055 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4117-4121 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4196-4200 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4263-4267 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4333-4337 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4406-4410 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4962-4966 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5029-5033 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5100-5104 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5167-5171 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Vpn/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 65 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"b97ede7609f690e45505db159bc8f91cadb9dee62014da1c99156990b2d405a5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 99): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:83-87 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:145-149 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:207-211 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:269-273 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:342-346 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:434-438 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:488-492 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:543-547 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:595-599 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:694-698 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:760-764 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:821-825 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:887-891 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:949-953 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:996-1000 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1062-1066 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1128-1132 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1203-1207 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1258-1262 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1341-1345 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1432-1436 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1494-1498 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1557-1561 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1626-1630 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1689-1693 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1853-1857 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1928-1932 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1999-2003 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2069-2073 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2155-2159 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2241-2245 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2338-2342 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2455-2459 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2605-2609 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2678-2682 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2762-2766 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2850-2854 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2934-2938 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3016-3020 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3141-3145 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3258-3262 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3459-3463 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3550-3554 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3680-3684 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3797-3801 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3867-3871 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3951-3955 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4040-4044 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4118-4122 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4208-4212 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4302-4306 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4375-4379 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4469-4473 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4598-4602 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4682-4686 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4833-4837 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4917-4921 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5006-5010 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5094-5098 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5180-5184 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5250-5254 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5339-5343 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5407-5411 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5479-5483 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5551-5555 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5627-5631 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5705-5709 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5781-5785 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5876-5880 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5954-5958 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6032-6036 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6178-6182 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6269-6273 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6359-6363 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6454-6458 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6533-6537 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6609-6613 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6697-6701 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6807-6811 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6886-6890 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6964-6968 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7053-7057 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7107-7111 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7219-7223 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7273-7277 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7319-7323 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7366-7370 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7413-7417 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7497-7501 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7589-7593 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7643-7647 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7726-7730 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7817-7821 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7896-7900 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7964-7968 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8011-8015 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8066-8070 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8125-8129 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8180-8184 \u2014 all 99 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"a84ea2ded71ab4a37a5e393b56527bb1c8d345c58348c642444d48770b6b4352"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 99): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:90-94 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:152-156 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:214-218 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:276-280 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:349-353 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:441-445 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:495-499 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:550-554 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:602-606 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:701-705 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:767-771 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:828-832 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:894-898 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:956-960 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1003-1007 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1069-1073 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1135-1139 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1210-1214 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1265-1269 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1348-1352 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1439-1443 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1501-1505 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1564-1568 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1633-1637 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1696-1700 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1860-1864 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1935-1939 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2006-2010 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2076-2080 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2162-2166 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2248-2252 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2345-2349 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2462-2466 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2612-2616 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2685-2689 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2769-2773 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2857-2861 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2941-2945 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3023-3027 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3148-3152 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3265-3269 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3466-3470 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3557-3561 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3687-3691 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3804-3808 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3874-3878 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3958-3962 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4047-4051 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4125-4129 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4215-4219 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4309-4313 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4382-4386 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4476-4480 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4605-4609 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4689-4693 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4840-4844 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4924-4928 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5013-5017 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5101-5105 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5187-5191 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5257-5261 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5346-5350 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5414-5418 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5486-5490 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5558-5562 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5634-5638 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5712-5716 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5788-5792 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5883-5887 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5961-5965 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6039-6043 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6185-6189 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6276-6280 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6366-6370 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6461-6465 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6540-6544 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6616-6620 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6704-6708 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6814-6818 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6893-6897 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6971-6975 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7060-7064 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7114-7118 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7226-7230 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7280-7284 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7326-7330 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7373-7377 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7420-7424 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7504-7508 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7596-7600 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7650-7654 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7733-7737 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7824-7828 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7903-7907 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7971-7975 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8018-8022 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8073-8077 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8132-8136 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8187-8191 \u2014 all 99 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9bf1a4c5a8a63ce82acb346d93d5a82664f3bc73fb5d6ae1f58b10630b37733"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 82): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:105-109 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:167-171 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:229-233 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:291-295 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:364-368 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:456-460 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:510-514 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:617-621 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:909-913 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1150-1154 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1225-1229 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1280-1284 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1363-1367 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1454-1458 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1516-1520 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1579-1583 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1648-1652 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1711-1715 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6986-6990 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7075-7079 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7241-7245 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7435-7439 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7519-7523 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7611-7615 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7665-7669 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7748-7752 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7839-7843 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7918-7922 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8033-8037 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8147-8151 | crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:146-150 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3243-3247 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:131-135 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:366-370 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:648-652 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1555-1559 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1837-1841 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2110-2114 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:610-614 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1262-1266 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1083-1087 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2261-2265 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3177-3181 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1533-1537 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1291-1295 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:181-185 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:499-503 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:607-611 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:981-985 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1144-1148 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2742-2746 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:132-136 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1297-1301 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1371-1375 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1445-1449 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1519-1523 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1604-1608 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1793-1797 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1863-1867 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1994-1998 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2293-2297 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2586-2590 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2665-2669 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2732-2736 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2819-2823 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2907-2911 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2981-2985 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3056-3060 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3137-3141 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3212-3216 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3287-3291 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3380-3384 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3645-3649 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3882-3886 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3970-3974 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4066-4070 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4211-4215 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4278-4282 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4348-4352 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4977-4981 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5115-5119 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:168-172 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 63 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"e37624ca154b001aebec90c07aba73d22c6d0d1ac70a1e65c02ee842867e0950"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 61): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1377-1381 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:678-682 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:859-863 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:363-367 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:556-560 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:716-720 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:850-854 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1001-1005 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1062-1066 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1173-1177 | crates/libs/windows/src/Windows/Data/Json/mod.rs:304-308 | crates/libs/windows/src/Windows/Data/Json/mod.rs:561-565 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4749-4753 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4880-4884 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:165-169 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:431-435 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:731-735 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:11-15 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:124-128 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:232-236 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:330-334 | crates/libs/windows/src/Windows/Foundation/mod.rs:2287-2291 | crates/libs/windows/src/Windows/Globalization/Collation/mod.rs:58-62 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:843-847 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4481-4485 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2053-2057 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1789-1793 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3574-3578 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3678-3682 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4662-4666 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:211-215 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3813-3817 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:989-993 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:72-76 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:11-15 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:240-244 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:323-327 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1546-1550 | crates/libs/windows/src/Windows/Storage/mod.rs:289-293 | crates/libs/windows/src/Windows/Storage/mod.rs:458-462 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:193-197 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:950-954 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:58-62 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:265-269 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:454-458 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:643-647 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:844-848 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1191-1195 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1454-1458 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1794-1798 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1929-1933 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2137-2141 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2436-2440 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2567-2571 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2911-2915 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3195-3199 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3374-3378 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3537-3541 | crates/libs/windows/src/Windows/Web/Http/mod.rs:488-492 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1047-1051 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1185-1189 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Data/Json/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1377}}}],"partialFingerprints":{"codehealthFindingId/v1":"5800d0ab4d838aaf07b3c9a190b6c954750544320b9b584ef2998b92fb54b1a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 58): crates/libs/windows/src/Windows/Data/Json/mod.rs:402-406 | crates/libs/windows/src/Windows/Data/Json/mod.rs:768-772 | crates/libs/windows/src/Windows/Data/Json/mod.rs:890-894 | crates/libs/windows/src/Windows/Foundation/mod.rs:2110-2114 | crates/libs/windows/src/Windows/Globalization/PhoneNumberFormatting/mod.rs:250-254 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:34-38 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:181-185 | crates/libs/windows/src/Windows/Networking/mod.rs:167-171 | crates/libs/windows/src/Windows/System/Inventory/mod.rs:64-68 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:65-69 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:222-226 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:272-276 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:411-415 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:461-465 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:600-604 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:650-654 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:801-805 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:851-855 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1036-1040 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1241-1245 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1338-1342 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1411-1415 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1461-1465 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1618-1622 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1676-1680 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1751-1755 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1801-1805 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1936-1940 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2094-2098 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2144-2148 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2301-2305 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2393-2397 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2443-2447 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2574-2578 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2728-2732 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2798-2802 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2868-2872 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2918-2922 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3245-3249 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3424-3428 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3494-3498 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3544-3548 | crates/libs/windows/src/Windows/Web/Http/mod.rs:88-92 | crates/libs/windows/src/Windows/Web/Http/mod.rs:353-357 | crates/libs/windows/src/Windows/Web/Http/mod.rs:458-462 | crates/libs/windows/src/Windows/Web/Http/mod.rs:668-672 | crates/libs/windows/src/Windows/Web/Http/mod.rs:733-737 | crates/libs/windows/src/Windows/Web/Http/mod.rs:794-798 | crates/libs/windows/src/Windows/Web/Http/mod.rs:854-858 | crates/libs/windows/src/Windows/Web/Http/mod.rs:934-938 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1054-1058 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1192-1196 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1362-1366 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1420-1424 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1542-1546 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1720-1724 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1823-1827 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1881-1885 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Json/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":402}}}],"partialFingerprints":{"codehealthFindingId/v1":"793a565254718b0cfd0d6d464cfa3e97d7ef1b184015fb8d09891675da9548a8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 49): crates/libs/windows/src/Windows/Gaming/UI/mod.rs:227-231 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:588-592 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1240-1244 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1061-1065 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2239-2243 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3155-3159 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1268-1272 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1342-1346 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1416-1420 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1490-1494 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1575-1579 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1764-1768 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1834-1838 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1901-1905 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1965-1969 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2035-2039 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2113-2117 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2186-2190 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2264-2268 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2342-2346 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2401-2405 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2479-2483 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2557-2561 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2636-2640 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2703-2707 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2790-2794 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2878-2882 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2952-2956 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3027-3031 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3108-3112 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3183-3187 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3258-3262 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3351-3355 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3424-3428 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3616-3620 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3686-3690 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3745-3749 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3853-3857 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3941-3945 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4037-4041 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4103-4107 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4182-4186 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4249-4253 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4319-4323 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4392-4396 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4948-4952 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5015-5019 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5086-5090 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5153-5157 \u2014 \u0060crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 44 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/UI/mod.rs"},"region":{"startLine":227}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7d9d76772d9e634e84eda46aa6dc867fa514d78bf08002a91da0c9f90c426e1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 49): crates/libs/windows/src/Windows/Gaming/UI/mod.rs:234-238 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:595-599 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1247-1251 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1068-1072 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2246-2250 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3162-3166 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1275-1279 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1349-1353 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1423-1427 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1497-1501 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1582-1586 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1771-1775 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1841-1845 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1908-1912 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1972-1976 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2042-2046 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2120-2124 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2193-2197 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2271-2275 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2349-2353 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2408-2412 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2486-2490 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2564-2568 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2643-2647 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2710-2714 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2797-2801 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2885-2889 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2959-2963 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3034-3038 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3115-3119 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3190-3194 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3265-3269 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3358-3362 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3431-3435 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3623-3627 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3693-3697 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3752-3756 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3860-3864 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3948-3952 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4044-4048 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4110-4114 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4189-4193 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4256-4260 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4326-4330 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4399-4403 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4955-4959 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5022-5026 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5093-5097 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5160-5164 \u2014 \u0060crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 44 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/UI/mod.rs"},"region":{"startLine":234}}}],"partialFingerprints":{"codehealthFindingId/v1":"e67a04bd6e74d5451e1f6fd65c673399e8cd9964739ebb920593ef5b41603304"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 45): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1289-1293 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1363-1367 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1437-1441 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1511-1515 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1596-1600 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1785-1789 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1855-1859 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1922-1926 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1986-1990 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2056-2060 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2134-2138 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2207-2211 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2285-2289 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2363-2367 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2422-2426 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2500-2504 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2578-2582 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2657-2661 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2724-2728 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2811-2815 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2899-2903 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2973-2977 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3048-3052 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3129-3133 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3204-3208 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3279-3283 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3372-3376 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3445-3449 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3522-3526 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3637-3641 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3707-3711 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3766-3770 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3822-3826 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3874-3878 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3962-3966 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4058-4062 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4124-4128 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4203-4207 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4270-4274 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4340-4344 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4413-4417 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4969-4973 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5036-5040 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5107-5111 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5174-5178 \u2014 all 45 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":1289}}}],"partialFingerprints":{"codehealthFindingId/v1":"901a8d8540588efe398a7b9d39a66b2d06d0677e1719f1ba9c954a3d3d4b76b7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 31): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:112-116 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:174-178 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:236-240 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:298-302 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:371-375 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:715-719 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:781-785 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:842-846 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1017-1021 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1083-1087 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2090-2094 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2176-2180 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2262-2266 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2359-2363 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2476-2480 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3037-3041 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3162-3166 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3279-3283 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3571-3575 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3701-3705 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4404-4408 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1304-1308 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1378-1382 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1452-1456 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1526-1530 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1611-1615 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2063-2067 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2141-2145 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2214-2218 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2429-2433 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2507-2511 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":112}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ccd150346fd21b15c61591fb0fa91f4cff19949723fd7f53a242de4e76cc68d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 30): crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:384-388 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:241-245 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:706-710 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:911-915 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1136-1140 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1440-1444 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1961-1965 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4740-4744 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4993-4997 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5298-5302 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5595-5599 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1089-1093 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2528-2532 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2656-2660 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4476-4480 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4794-4798 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7499-7503 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7561-7565 | crates/libs/windows/src/Windows/Media/Core/mod.rs:832-836 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:116-120 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:280-284 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1358-1362 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2364-2368 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1182-1186 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:361-365 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:937-941 | crates/libs/windows/src/Windows/Storage/mod.rs:3185-3189 | crates/libs/windows/src/Windows/Storage/mod.rs:3333-3337 | crates/libs/windows/src/Windows/Storage/mod.rs:4599-4603 | crates/libs/windows/src/Windows/Storage/mod.rs:5030-5034 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs"},"region":{"startLine":384}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd9ee9159bd62557376313b21f3804273aa9e8403d3cafbdcefa5c821ebd0730"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 29): crates/libs/windows/src/Windows/AI/Actions/mod.rs:25-29 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:645-649 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:726-730 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:789-793 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:881-885 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:943-947 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:993-997 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1043-1047 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1713-1717 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1763-1767 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1918-1922 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2062-2066 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2124-2128 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2181-2185 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:111-115 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:40-44 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2409-2413 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1200-1204 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:16-20 | crates/libs/windows/src/Windows/Media/Core/mod.rs:351-355 | crates/libs/windows/src/Windows/Media/Core/mod.rs:865-869 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3609-3613 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5902-5906 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6060-6064 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6399-6403 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4134-4138 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:590-594 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1175-1179 | crates/libs/windows/src/Windows/UI/Shell/Tasks/mod.rs:144-148 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"55bc533a84dc17541f1225223cc3724631d9637ec88da381ff8674f598063222"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 27): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:706-710 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1090-1094 | crates/libs/windows/src/Windows/Data/Json/mod.rs:423-427 | crates/libs/windows/src/Windows/Data/Json/mod.rs:743-747 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:39-43 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:152-156 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:358-362 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1017-1021 | crates/libs/windows/src/Windows/Storage/mod.rs:317-321 | crates/libs/windows/src/Windows/Storage/mod.rs:486-490 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:971-975 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:86-90 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:293-297 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:482-486 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:671-675 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:872-876 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1219-1223 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1482-1486 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1822-1826 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1957-1961 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2165-2169 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2464-2468 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2595-2599 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2939-2943 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3223-3227 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3402-3406 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3565-3569 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Security/Credentials/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":706}}}],"partialFingerprints":{"codehealthFindingId/v1":"b60f13ea3024fb8443f4822b2946444169487166379de716369c0e7563cbbd3b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 26): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:48-52 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:303-307 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:630-634 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2024-2028 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2334-2338 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2618-2622 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2909-2913 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3349-3353 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3596-3600 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3857-3861 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4214-4218 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4457-4461 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4984-4988 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5283-5287 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:358-362 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:472-476 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:580-584 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:882-886 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1206-1210 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1449-1453 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1800-1804 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1964-1968 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2241-2245 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2426-2430 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2638-2642 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2793-2797 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 93 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cf7dc9d5decb25575158f35b3e8abe3dce1c68e2cda782f86a39923f4350259"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 22): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1130-1134 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1783-1787 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1842-1846 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2125-2129 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2937-2941 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:3033-3037 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1682-1686 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2562-2566 | crates/libs/windows/src/Windows/Media/Core/mod.rs:101-105 | crates/libs/windows/src/Windows/Media/Core/mod.rs:183-187 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2206-2210 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6178-6182 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7506-7510 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7639-7643 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:798-802 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:192-196 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:769-773 | crates/libs/windows/src/Windows/Storage/mod.rs:1635-1639 | crates/libs/windows/src/Windows/Storage/mod.rs:2175-2179 | crates/libs/windows/src/Windows/Storage/mod.rs:2816-2820 | crates/libs/windows/src/Windows/Storage/mod.rs:4500-4504 | crates/libs/windows/src/Windows/Storage/mod.rs:4932-4936 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 32 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1130}}}],"partialFingerprints":{"codehealthFindingId/v1":"406c52891cd9ef89ad85957e2e96cca65d5c46a436a5012043db0f07b3c78365"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 22): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1137-1141 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1790-1794 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1849-1853 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2132-2136 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1886-1890 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1077-1081 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:973-977 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1066-1070 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1159-1163 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1252-1256 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1345-1349 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1490-1494 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1616-1620 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1713-1717 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1799-1803 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1892-1896 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1992-1996 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2085-2089 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2288-2292 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2373-2377 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2466-2470 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2559-2563 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 41 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1137}}}],"partialFingerprints":{"codehealthFindingId/v1":"643d8da994ec6c6535f8d24fa9e8b865f270b95ae0258a26b3e45a5ef6dda634"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 20): crates/libs/windows/src/Windows/Data/Json/mod.rs:409-413 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4756-4760 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4887-4891 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:801-805 | crates/libs/windows/src/Windows/Foundation/mod.rs:2294-2298 | crates/libs/windows/src/Windows/Globalization/Collation/mod.rs:65-69 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:957-961 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:72-76 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:279-283 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:468-472 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:657-661 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:858-862 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1468-1472 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1808-1812 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1943-1947 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2151-2155 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2450-2454 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2581-2585 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2925-2929 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3551-3555 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Json/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 52 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":409}}}],"partialFingerprints":{"codehealthFindingId/v1":"aff7cd997e9b968933268858c3943e2b61617c9c15f4c5aaaa8d10da7d0c0baa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 19): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:960-964 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Provider/mod.rs:123-127 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:428-432 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:301-305 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1872-1876 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1922-1926 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1501-1505 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1583-1587 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1691-1695 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2668-2672 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2727-2731 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2798-2802 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2866-2870 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:339-343 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:915-919 | crates/libs/windows/src/Windows/Storage/mod.rs:3163-3167 | crates/libs/windows/src/Windows/Storage/mod.rs:3311-3315 | crates/libs/windows/src/Windows/Storage/mod.rs:4577-4581 | crates/libs/windows/src/Windows/Storage/mod.rs:5008-5012 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 27 separate duplicated blocks between them, totalling at least 156 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":960}}}],"partialFingerprints":{"codehealthFindingId/v1":"d79c2b6c28898b64d3914f018ad8fde253a56b0db2c86c1c508f2e9d06094d2a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 18): crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:76-80 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:91-95 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:106-110 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:121-125 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:136-140 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:151-155 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:166-170 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2913-2917 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2928-2932 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2943-2947 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2958-2962 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3126-3130 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3141-3145 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3156-3160 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3171-3175 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3186-3190 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3201-3205 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3216-3220 \u2014 there are 18 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 18 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b52d86895ecc40a1b3cc7db3cc5dbe1ff48d4573d149e082c70431ab5a13289"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 18): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:366-370 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:697-701 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2273-2277 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2504-2508 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2841-2845 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3268-3272 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3868-3872 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4301-4305 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4694-4698 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4979-4983 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5351-5355 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5513-5517 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6691-6695 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10195-10199 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10725-10729 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13758-13762 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14079-14083 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14217-14221 \u2014 all 18 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":366}}}],"partialFingerprints":{"codehealthFindingId/v1":"c889002bb4d12bb05630ab8496188cfb3dd6c45008bf610e0da4889f1f721ec5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 17): crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:766-770 | crates/libs/windows/src/Windows/Media/Core/mod.rs:112-116 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2217-2221 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6067-6071 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7517-7521 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:391-395 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:505-509 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:613-617 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:915-919 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1239-1243 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1482-1486 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1833-1837 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1997-2001 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2274-2278 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2459-2463 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2671-2675 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2826-2830 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 65 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs"},"region":{"startLine":766}}}],"partialFingerprints":{"codehealthFindingId/v1":"81a0e814bb1467e25ac62e7ec92d0489782c3d868adde845a29431deadf0b6b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 17): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1476-1480 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:104-108 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1033-1037 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1313-1317 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4593-4597 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4863-4867 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5149-5153 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5487-5491 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:6328-6332 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1367-1371 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1539-1543 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2569-2573 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2797-2801 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2929-2933 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3007-3011 | crates/libs/windows/src/Windows/UI/Core/mod.rs:32-36 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4955-4959 \u2014 \u0060crates/libs/windows/src/Windows/Devices/Midi/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 40 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":1476}}}],"partialFingerprints":{"codehealthFindingId/v1":"b952a2bf9760498366a0ec6b06ef1ef28f46cf15fb86f749b89f047971ba6ca2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 17): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:607-611 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1025-1029 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1118-1122 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1211-1215 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1304-1308 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1404-1408 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1553-1557 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1661-1665 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1758-1762 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1851-1855 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1944-1948 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2037-2041 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2130-2134 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2266-2270 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2351-2355 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2444-2448 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2537-2541 \u2014 all 17 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":607}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd71523591fb39d2be1935d5bcaf5dff39ab7b9e62923092154460c877decac0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 16): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1424-1428 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:699-703 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:880-884 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:737-741 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1083-1087 | crates/libs/windows/src/Windows/Data/Json/mod.rs:736-740 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:32-36 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:145-149 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:351-355 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1010-1014 | crates/libs/windows/src/Windows/Storage/mod.rs:310-314 | crates/libs/windows/src/Windows/Storage/mod.rs:479-483 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:214-218 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1212-1216 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3216-3220 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3395-3399 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Data/Json/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1424}}}],"partialFingerprints":{"codehealthFindingId/v1":"c12f794ebc93b0afaba037a61de225345030221b8866c8f0c2b5079b49523f77"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 16): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:962-966 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1055-1059 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1148-1152 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1241-1245 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1334-1338 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1479-1483 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1605-1609 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1702-1706 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1788-1792 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1881-1885 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1981-1985 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2074-2078 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2277-2281 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2362-2366 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2455-2459 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2548-2552 \u2014 all 16 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":962}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe969e4a95334769c9423743fcddc2d1c344eebaa505c2f2b870cfe4acb4ff22"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 15): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:504-508 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1194-1198 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1899-1903 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2014-2018 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2188-2192 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2303-2307 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2418-2422 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2533-2537 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2648-2652 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2763-2767 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2906-2910 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3011-3015 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3126-3130 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3241-3245 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3356-3360 \u2014 all 15 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":504}}}],"partialFingerprints":{"codehealthFindingId/v1":"d48ee243216fab52530f029822c69a5662feca4bf1ef84592ed6fc6b4157d964"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 15): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1906-1910 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2021-2025 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2195-2199 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2310-2314 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2425-2429 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2540-2544 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2655-2659 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2770-2774 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2913-2917 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3018-3022 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3133-3137 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3248-3252 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3363-3367 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:55-59 | crates/libs/windows/src/Windows/Media/mod.rs:82-86 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1906}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c7ad4a1b95e2ffac373d5b13adb4b4309511594e12353b91b3f3f8e10c9304e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 15): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1524-1528 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1656-1660 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1719-1723 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4620-4624 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4855-4859 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4939-4943 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6908-6912 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8202-8206 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:165-169 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:476-480 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:595-599 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2989-2993 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3145-3149 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3220-3224 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5182-5186 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1524}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb3d30086bf73f6f34106b9ba019b99a352a4f6ede623e3575f5abca0d21e181"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 15): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:233-237 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:488-492 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:815-819 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1333-1337 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2209-2213 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2519-2523 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2803-2807 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3094-3098 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3534-3538 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3781-3785 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4042-4046 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4399-4403 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4642-4646 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5169-5173 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5468-5472 \u2014 all 15 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":233}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0316c71d86dbceac4680cd3db4115b46be0a1fce486b4fcff6ce0c6f6a05986"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 15): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:240-244 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:495-499 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:822-826 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1340-1344 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2216-2220 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2526-2530 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2810-2814 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3101-3105 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3541-3545 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3788-3792 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4049-4053 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4406-4410 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4649-4653 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5176-5180 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5475-5479 \u2014 all 15 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":240}}}],"partialFingerprints":{"codehealthFindingId/v1":"6cdb3d3b30f68bf82ce4f387ca762128728dca57aa74acfe2d10da31871d1de0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 15): crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs:38-42 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:34-38 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:368-372 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:630-634 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:785-789 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:984-988 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1264-1268 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1621-1625 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1821-1825 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4537-4541 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4820-4824 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5100-5104 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5438-5442 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5681-5685 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5903-5907 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sensors/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fb2937852b6552062b0c108cec7cb91c4d5a85e6477a2e90b717c3e2219c3e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:27-31 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:282-286 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:609-613 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2003-2007 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2313-2317 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2597-2601 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2888-2892 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3328-3332 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3575-3579 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3836-3840 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4193-4197 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4436-4440 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4963-4967 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5262-5266 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdb87da7e6a64b7c3c2981d4e761cce4cd03d9569d102fa707cd7afac036f24d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:41-45 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:296-300 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:623-627 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2017-2021 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2327-2331 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2611-2615 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2902-2906 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3342-3346 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3589-3593 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3850-3854 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4207-4211 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4450-4454 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4977-4981 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5276-5280 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c6897239d8b73b3f06faf2426bfbc3d653a1eec4f35cd2de4fa36fb93da5a12"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:55-59 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:310-314 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:637-641 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2031-2035 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2341-2345 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2625-2629 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2916-2920 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3356-3360 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3603-3607 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3864-3868 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4221-4225 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4464-4468 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4991-4995 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5290-5294 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cd172f1daf3c771503320d471113c9aeee9eb87dc8c6cbefd2ded6219b955b2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:62-66 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:317-321 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:644-648 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2038-2042 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2348-2352 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2632-2636 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2923-2927 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3363-3367 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3610-3614 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3871-3875 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4228-4232 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4471-4475 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4998-5002 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5297-5301 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"758d529a728f809e797fc8f12887832f699974346d58db83f98762e8949f857c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:69-73 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:324-328 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:651-655 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2045-2049 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2355-2359 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2639-2643 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2930-2934 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3370-3374 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3617-3621 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3878-3882 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4235-4239 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4478-4482 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5005-5009 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5304-5308 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"401c3a3bd96a04813811ef8a65c4f5d5feecfb272bc4699d2a959044293ec9da"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:76-80 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:331-335 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:658-662 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2052-2056 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2362-2366 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2646-2650 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2937-2941 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3377-3381 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3624-3628 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3885-3889 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4242-4246 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4485-4489 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5012-5016 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5311-5315 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"23c68959e64affac034e854630028595699036b9c6a0b331fcb99018d3b7e074"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:83-87 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:338-342 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:665-669 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2059-2063 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2369-2373 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2653-2657 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2944-2948 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3384-3388 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3631-3635 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3892-3896 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4249-4253 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4492-4496 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5019-5023 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5318-5322 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d7ff60e8d4958277fed764ab82acc867f4e424418bcdaecaeb4b4c74a7c1ec3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:90-94 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:345-349 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:672-676 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2066-2070 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2376-2380 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2660-2664 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2951-2955 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3391-3395 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3638-3642 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3899-3903 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4256-4260 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4499-4503 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5026-5030 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5325-5329 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"d7ab5d54a0fa8f471b069c062b98a036a0ac241f44f6720a456e63db95166d21"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:97-101 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:352-356 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:679-683 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2073-2077 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2383-2387 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2667-2671 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2958-2962 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3398-3402 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3645-3649 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3906-3910 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4263-4267 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4506-4510 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5033-5037 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5332-5336 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b01f7e11e569a08976ae76a8694a725d936517c3367862a4087ce57218cf3a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:104-108 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:359-363 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:686-690 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2080-2084 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2390-2394 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2674-2678 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2965-2969 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3405-3409 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3652-3656 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3913-3917 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4270-4274 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4513-4517 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5040-5044 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5339-5343 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"cda3d9a33636bf40be9caac275124f3c4903449c4bda99ec66c4e85a124b782e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:111-115 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:366-370 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:693-697 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2087-2091 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2397-2401 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2681-2685 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2972-2976 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3412-3416 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3659-3663 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3920-3924 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4277-4281 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4520-4524 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5047-5051 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5346-5350 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5764f49ad4ae5caaa98e2994e67dfe453cf866b62371b3bb299af2531a96051"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:160-164 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:415-419 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:742-746 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2136-2140 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2446-2450 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2730-2734 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3021-3025 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3461-3465 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3708-3712 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3969-3973 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4326-4330 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4569-4573 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5096-5100 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5395-5399 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe099ecf956cca5e5234a8352ae1220b35d6bf29445bf5fe5384b85e08545f8d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:167-171 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:422-426 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:749-753 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2143-2147 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2453-2457 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2737-2741 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3028-3032 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3468-3472 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3715-3719 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3976-3980 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4333-4337 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4576-4580 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5103-5107 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5402-5406 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"68536006eaaaa70f0b4cd904eb5f6305ae134707b6af13cbcc09e2b10e58d8ba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:174-178 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:429-433 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:756-760 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2150-2154 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2460-2464 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2744-2748 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3035-3039 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3475-3479 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3722-3726 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3983-3987 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4340-4344 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4583-4587 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5110-5114 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5409-5413 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"bca9597076d2f1785c6aa2a33a8554d3e0a9f1787e3b7d87f4fc79456f38bd6a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 14): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:181-185 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:436-440 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:763-767 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2157-2161 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2467-2471 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2751-2755 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3042-3046 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3482-3486 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3729-3733 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3990-3994 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4347-4351 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4590-4594 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5117-5121 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5416-5420 \u2014 all 14 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":181}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5d9de9e937da0a63988d2114081474808aeaea04fa3aa2a89162d2b29bae74a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 13): crates/libs/windows/src/Windows/AI/Actions/mod.rs:631-635 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:712-716 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:775-779 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:867-871 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:929-933 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:979-983 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1029-1033 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1699-1703 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1749-1753 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1904-1908 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2048-2052 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2110-2114 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2167-2171 \u2014 all 13 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":631}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b003f4bccd260228ad8f0f9d836473ab7d2264a19ae02748811e4738d6ed83f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 13): crates/libs/windows/src/Windows/AI/Actions/mod.rs:638-642 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:719-723 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:782-786 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:874-878 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:936-940 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:986-990 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1036-1040 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1706-1710 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1756-1760 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1911-1915 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2055-2059 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2117-2121 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2174-2178 \u2014 all 13 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":638}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c0c2f3e7c08f059f757c14635e0e158a98f596fb51b5bff49e73854351348a7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 13): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1913-1917 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2028-2032 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2202-2206 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2317-2321 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2432-2436 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2547-2551 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2662-2666 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2777-2781 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2920-2924 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3025-3029 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3140-3144 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3255-3259 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3370-3374 \u2014 all 13 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1913}}}],"partialFingerprints":{"codehealthFindingId/v1":"a46ccd979bdfe5bdb4c57bcdcf7a258d6df64402ca6094a54447a67720cdcc46"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 13): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1920-1924 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2035-2039 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2209-2213 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2324-2328 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2439-2443 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2554-2558 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2669-2673 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2784-2788 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2927-2931 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3032-3036 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3147-3151 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3262-3266 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:3377-3381 \u2014 all 13 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1920}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e85135371c79aac7f5e298f1ef9a1307fa788f07a5fb9b2e2a6fed70f0a0503"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 13): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1498-1502 | crates/libs/windows/src/Windows/Foundation/mod.rs:371-375 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:225-229 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4599-4603 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5508-5512 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1501-1505 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2662-2666 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2785-2789 | crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs:11-15 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1489-1493 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3492-3496 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4460-4464 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:151-155 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 57 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":1498}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9fb2d6de882f3fb18cca8787ebc6cd411137eb101d03e01a3cb9b16ecd0bda4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 13): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3433-3437 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2908-2912 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:927-931 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:348-352 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1501-1505 | crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:131-135 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:913-917 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3154-3158 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:711-715 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:308-312 | crates/libs/windows/src/Windows/System/mod.rs:195-199 | crates/libs/windows/src/Windows/System/mod.rs:592-596 | crates/libs/windows/src/Windows/System/mod.rs:4276-4280 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 45 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":3433}}}],"partialFingerprints":{"codehealthFindingId/v1":"765268b6e03ac13aeaae1f0464d94bd0ead2660e7810831b4d5a77fdc5b0b79f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 13): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2852-2856 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:292-296 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1445-1449 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:114-118 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:871-875 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:655-659 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:280-284 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1112-1116 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2331-2335 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2500-2504 | crates/libs/windows/src/Windows/System/mod.rs:153-157 | crates/libs/windows/src/Windows/System/mod.rs:550-554 | crates/libs/windows/src/Windows/System/mod.rs:4192-4196 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":2852}}}],"partialFingerprints":{"codehealthFindingId/v1":"d88d068dd551d55e7d9d10a4606f8201eae89174c4124bcb99cf66da5c6de524"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 13): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2866-2870 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:320-324 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1473-1477 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:128-132 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:899-903 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:669-673 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1140-1144 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:482-486 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2345-2349 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2528-2532 | crates/libs/windows/src/Windows/System/mod.rs:167-171 | crates/libs/windows/src/Windows/System/mod.rs:564-568 | crates/libs/windows/src/Windows/System/mod.rs:4206-4210 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":2866}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c6ba684a7891dd3743968db8b4f29cc424537c645bcb204e2fa4fad0cd80743"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 13): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2221-2225 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:3076-3080 | crates/libs/windows/src/Windows/Devices/Radios/mod.rs:47-51 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1968-1972 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2583-2587 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:36-40 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:538-542 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:346-350 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1358-1362 | crates/libs/windows/src/Windows/Media/mod.rs:1781-1785 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:661-665 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:353-357 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:763-767 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 39 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":2221}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e87d074739798750effdea3ce65dd1e29ffe85d7f5d25aa311bef6d6646fb9c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 12): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7533-7537 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4019-4023 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2144-2148 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2550-2554 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3921-3925 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4037-4041 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4215-4219 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4437-4441 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4712-4716 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4810-4814 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5029-5033 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3984-3988 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 13 separate duplicated blocks between them, totalling at least 122 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":7533}}}],"partialFingerprints":{"codehealthFindingId/v1":"2abfe1e9199c9072d3c4cfaa961b066a3b35c3d9e61c176a820a5af81d3d899d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 12): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:980-984 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1073-1077 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1166-1170 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1259-1263 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1508-1512 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1806-1810 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1899-1903 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1970-1974 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2063-2067 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2221-2225 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2399-2403 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2492-2496 \u2014 all 12 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":980}}}],"partialFingerprints":{"codehealthFindingId/v1":"cdedc9ea01a4961fc4af3b675a339486da4e143f9e2a72702ec5848b6a2126d5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 12): crates/libs/windows/src/Windows/Media/Audio/mod.rs:71-75 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:184-188 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:478-482 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:605-609 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:805-809 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:900-904 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2225-2229 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3138-3142 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3317-3321 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3819-3823 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4593-4597 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6013-6017 \u2014 \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 99 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"5677a14f7c901e43f2b0661b8fc8d409c2624df52a6689850325f672474ecf83"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 12): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:369-373 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:483-487 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:591-595 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:893-897 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1217-1221 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1460-1464 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1811-1815 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1975-1979 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2252-2256 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2437-2441 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2649-2653 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2804-2808 \u2014 \u0060crates/libs/windows/src/Windows/Web/AtomPub/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 58 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":369}}}],"partialFingerprints":{"codehealthFindingId/v1":"380ece819ce9bfb5df83e4a33282973995ab0b4159c61fd0c912303ff9c9b4a8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 12): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:380-384 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:494-498 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:602-606 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:904-908 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1228-1232 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1471-1475 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1822-1826 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1986-1990 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2263-2267 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2448-2452 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2660-2664 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2815-2819 \u2014 \u0060crates/libs/windows/src/Windows/Web/AtomPub/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 58 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":380}}}],"partialFingerprints":{"codehealthFindingId/v1":"1bc1a7ba2d5c65c18fea262c6b29821041500cf368a9c0e1631bbca49067c044"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 12): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:402-406 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:516-520 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:624-628 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:926-930 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1250-1254 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1493-1497 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1844-1848 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2008-2012 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2285-2289 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2470-2474 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2682-2686 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2837-2841 \u2014 \u0060crates/libs/windows/src/Windows/Web/AtomPub/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 58 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":402}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6e69a12fa4c5e2b672482e3d68b4b489bf08be5e72792339487f3711c1eb2b0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 12): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:416-420 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:530-534 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:638-642 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:940-944 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1264-1268 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1507-1511 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1858-1862 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2022-2026 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2299-2303 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2484-2488 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2696-2700 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2851-2855 \u2014 \u0060crates/libs/windows/src/Windows/Web/AtomPub/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 58 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":416}}}],"partialFingerprints":{"codehealthFindingId/v1":"401ea9e125b183fd8ff9f370810307591d8e9b9c11e229fd00c683682e282977"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 12): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:423-427 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:537-541 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:645-649 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:947-951 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1271-1275 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1514-1518 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1865-1869 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2029-2033 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2306-2310 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2491-2495 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2703-2707 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2858-2862 \u2014 \u0060crates/libs/windows/src/Windows/Web/AtomPub/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 58 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":423}}}],"partialFingerprints":{"codehealthFindingId/v1":"58c24661790932f8515ff120e3b5d794abf3d8a67f59db62545fe52d00159944"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 12): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:431-435 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:545-549 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:653-657 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:955-959 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1279-1283 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1522-1526 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1873-1877 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2037-2041 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2314-2318 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2499-2503 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2711-2715 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2866-2870 \u2014 \u0060crates/libs/windows/src/Windows/Web/AtomPub/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 58 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":431}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2d88db9295a11f5769fb4eb55ec0d1f815a12bb4e07f2c09642669edb9dfee1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 11): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:18-22 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:382-386 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:885-889 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:149-153 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7249-7253 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:802-806 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:899-903 | crates/libs/windows/src/Windows/UI/Shell/CompanionWindows/mod.rs:26-30 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:137-141 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:818-822 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:1273-1277 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a599a4246ac75cdaccff3d51ad0c84c44934e211fe74112cc84833b70dae743"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 11): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2880-2884 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:306-310 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1459-1463 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:142-146 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5269-5273 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:927-931 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:683-687 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1126-1130 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:468-472 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2514-2518 | crates/libs/windows/src/Windows/System/mod.rs:4220-4224 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":2880}}}],"partialFingerprints":{"codehealthFindingId/v1":"fcb64b8f5764cca73b124ccd3aa183ef552ad9680d5202ef7a80f972d7d4493a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 11): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:369-373 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1179-1183 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:171-175 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:437-441 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1821-1825 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3606-3610 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3710-3714 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:217-221 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:329-333 | crates/libs/windows/src/Windows/Web/Http/mod.rs:494-498 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:1227-1231 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 31 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":369}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c63b80eea09b0e8012ffdc3adbd98dec5c1dd17aad0b8876d39d75c73d923ac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 11): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1314-1318 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1968-1972 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3462-3466 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:199-203 | crates/libs/windows/src/Windows/Storage/Compression/mod.rs:75-79 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:932-936 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:615-619 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2233-2237 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2502-2506 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2621-2625 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2877-2881 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1314}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b2ab22c67ce76065cd0413b67a39142053d0ffc8ada1f57a3d5acd73bff729f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 11): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:599-603 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:712-716 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:872-876 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:941-945 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1068-1072 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1131-1135 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1200-1204 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1263-1267 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1320-1324 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1651-1655 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:488-492 \u2014 there are 11 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 11 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":599}}}],"partialFingerprints":{"codehealthFindingId/v1":"e136133be9101940837d9b6492e56d4703e8aa92eb407976519fa20507772810"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 11): crates/libs/windows/src/Windows/Media/Audio/mod.rs:52-56 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:165-169 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:459-463 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:586-590 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:786-790 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:881-885 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2206-2210 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3119-3123 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3298-3302 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3800-3804 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4574-4578 \u2014 all 11 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"c17deebcd9cdffd1b150d65be39fde78c25e998a9bb559612c3a65414559f143"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 11): crates/libs/windows/src/Windows/Media/Audio/mod.rs:63-67 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:176-180 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:470-474 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:597-601 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:797-801 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:892-896 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2217-2221 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3130-3134 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3309-3313 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3811-3815 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4585-4589 \u2014 all 11 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":63}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed7dea2f454e54c3f1c846b23fea6c140eb814a28969b5850cae19d922520d1a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 11): crates/libs/windows/src/Windows/Media/Audio/mod.rs:78-82 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:191-195 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:485-489 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:612-616 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:812-816 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:907-911 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2232-2236 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3145-3149 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3324-3328 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3826-3830 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4600-4604 \u2014 all 11 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"d102e879425cccaeed4a3ced3f1a40cb553e6dfcde1c438a28e7b7a6feed8092"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 10): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1417-1421 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:692-696 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:873-877 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:25-29 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:138-142 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:344-348 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1003-1007 | crates/libs/windows/src/Windows/Storage/mod.rs:303-307 | crates/libs/windows/src/Windows/Storage/mod.rs:472-476 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:207-211 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Security/Credentials/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1417}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9ea6921efd05a3a0f562c2ba6f997416e3648f5cae524611baff1f3b6c2ab2d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 10): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:591-595 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:704-708 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:864-868 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:933-937 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1060-1064 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1123-1127 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1192-1196 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1255-1259 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1312-1316 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1643-1647 \u2014 all 10 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":591}}}],"partialFingerprints":{"codehealthFindingId/v1":"d01962ee2b4166c67c01800bbb925161cd52ec9d71d645e5312aa5e1fb850ea3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 10): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:606-610 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:719-723 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:879-883 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:948-952 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1075-1079 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1138-1142 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1207-1211 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1270-1274 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1327-1331 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1658-1662 \u2014 all 10 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":606}}}],"partialFingerprints":{"codehealthFindingId/v1":"739892411eaa8c942da502635d7b7d2e6b682afa77edb9281fe7e74d6aa1b899"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 10): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2130-2134 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2536-2540 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2779-2783 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3880-3884 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4005-4009 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4201-4205 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4385-4389 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4689-4693 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4796-4800 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4973-4977 \u2014 all 10 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2130}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e710ed8c6cc5941a10d767710ff6b2ec2ddaa2212d1eb55f1929649c77fe2d6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 10): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2137-2141 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2543-2547 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2786-2790 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3887-3891 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4012-4016 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4208-4212 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4392-4396 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4696-4700 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4803-4807 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4980-4984 \u2014 all 10 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2137}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ee3fbb49368eeef3991b1520e129eb01858d2e8746891a60cf3dbda06e514e5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 10): crates/libs/windows/src/Windows/UI/Core/mod.rs:39-43 | crates/libs/windows/src/Windows/UI/Core/mod.rs:96-100 | crates/libs/windows/src/Windows/UI/Core/mod.rs:163-167 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4897-4901 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4931-4935 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4979-4983 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5081-5085 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5142-5146 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5176-5180 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5210-5214 \u2014 all 10 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0ef0be65810f271c2493e2ba6d98b079174ebdb9903a2c99c1094fa8f3c1dbd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1157-1161 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1287-1291 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1370-1374 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6993-6997 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7128-7132 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7442-7446 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7526-7530 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7672-7676 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7925-7929 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1157}}}],"partialFingerprints":{"codehealthFindingId/v1":"55c004dabca1a0a5966cda56cdf9bead609b6133c3a072a684d7c92ef7257afa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1390-1394 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1468-1472 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1593-1597 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7455-7459 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7540-7544 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2921-2925 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3070-3074 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3902-3906 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3991-3995 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1390}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d5b70cfb28c07f2fb08e0c7947fd605cc1f8b7a22f06a58b0141306a2334de0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1658-1662 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:495-499 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:149-153 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:523-527 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:353-357 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:287-291 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:383-387 | crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs:97-101 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2169-2173 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":1658}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e1ee3b8f090aa78bd0029b093fbffbd2a8930e3dd3233f6fd8de04cf26256f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Media/Core/mod.rs:123-127 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6005-6009 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6085-6089 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7528-7532 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2375-2379 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2452-2456 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2535-2539 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2594-2598 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2949-2953 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Vpn/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 89 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"47b65daed71fa21b4e89df19fb886c10717c23a4cfb1683e08a2a956969e91ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Media/Core/mod.rs:1053-1057 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5722-5726 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:123-127 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:287-291 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1365-1369 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2371-2375 | crates/libs/windows/src/Windows/Media/mod.rs:139-143 | crates/libs/windows/src/Windows/Media/mod.rs:2652-2656 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1540-1544 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 66 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":1053}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c92430df0a695bded8aa32344a6f2e33195782c50b027145168bf2d9ea2bc91"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2158-2162 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2564-2568 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3935-3939 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4051-4055 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4229-4233 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4451-4455 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4726-4730 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4824-4828 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5043-5047 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2158}}}],"partialFingerprints":{"codehealthFindingId/v1":"89c4d193d8e5811c05877c80acd819c8f39e0d9480cbaeecf6ff7322d39ef5ab"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2165-2169 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2571-2575 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3942-3946 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4058-4062 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4236-4240 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4458-4462 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4733-4737 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4831-4835 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5050-5054 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2165}}}],"partialFingerprints":{"codehealthFindingId/v1":"9be1542340eb071a95b4dcb2210052233766430a081feef70e7b39309215d264"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2176-2180 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2582-2586 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3953-3957 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4069-4073 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4247-4251 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4469-4473 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4744-4748 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4842-4846 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5061-5065 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2176}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9a83e0e0df3d74c070d45a19bd81c3ad9382f241803bda015b0b38500a615e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2183-2187 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2589-2593 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3960-3964 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4076-4080 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4254-4258 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4476-4480 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4751-4755 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4849-4853 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5068-5072 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2183}}}],"partialFingerprints":{"codehealthFindingId/v1":"1daaca743bb06898ae56bc4ff6c0583d228e860e7367cedb8c177398a8822f25"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2190-2194 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2596-2600 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3967-3971 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4083-4087 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4261-4265 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4483-4487 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4758-4762 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4856-4860 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5075-5079 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2190}}}],"partialFingerprints":{"codehealthFindingId/v1":"31d98ce30b66fae2fa994ee26d9952fe93ac98ea442ca7148c3f65c5f5ffb1ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2593-2597 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2739-2743 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2826-2830 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3294-3298 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3387-3391 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3452-3456 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3889-3893 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3977-3981 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4131-4135 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":2593}}}],"partialFingerprints":{"codehealthFindingId/v1":"23b8e8b6788e3dce4aa3bd72b474c92cc0cb0f38928d63e2c7a3d96816de437a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3159-3163 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3928-3932 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4800-4804 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5746-5750 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6795-6799 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8370-8374 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9960-9964 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11562-11566 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13179-13183 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":3159}}}],"partialFingerprints":{"codehealthFindingId/v1":"f594784c25714d83cf5ab53e7809982bc472e29d3c8f24d2642cc258d6d2d15e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3313-3317 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4082-4086 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4954-4958 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5900-5904 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6949-6953 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8524-8528 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10114-10118 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11716-11720 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13333-13337 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":3313}}}],"partialFingerprints":{"codehealthFindingId/v1":"34879002f35b177a621973a9e40673370cf8858a0b90eb5b78eadb525c88b032"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1177-1181 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1315-1319 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1406-1410 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7027-7031 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7157-7161 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7471-7475 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7563-7567 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7700-7704 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1177}}}],"partialFingerprints":{"codehealthFindingId/v1":"084e43df64da926b6b0b25cd4d11263adc224764b4129129b3e926099e85a806"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4792-4796 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4923-4927 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1281-1285 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6865-6869 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7968-7972 | crates/libs/windows/src/Windows/Win32/control/mod.rs:23-27 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:482-486 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:777-781 \u2014 \u0060crates/libs/windows/src/Windows/Win32/comadmin/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 76 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":4792}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3889311cd7ff1e53098445bfe8df1f157e3330407cf582693c3897323fd6c43"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1770-1774 | crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs:182-186 | crates/libs/windows/src/Windows/Networking/mod.rs:148-152 | crates/libs/windows/src/Windows/Storage/mod.rs:2773-2777 | crates/libs/windows/src/Windows/UI/Text/mod.rs:605-609 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2014-2018 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2840-2844 | crates/libs/windows/src/Windows/UI/Text/mod.rs:4759-4763 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":1770}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd47f9363c61513607179a761af5790e208f0722bd4513518c50dc379301335e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:20-24 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:94-98 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:262-266 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:336-340 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:680-684 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:766-770 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:840-844 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:914-918 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"5725e97b36d94a54214fd856cd25ba33774d1add481e33a496eecf768aeedd6a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:139-143 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:374-378 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:656-660 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:854-858 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1563-1567 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1845-1849 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2118-2122 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1139-1143 \u2014 there are 8 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 8 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"82398ac31a7425566105d0c6eff5a5093bd7a1630c5bcff8e63c1da3a80f711f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/Media/Core/mod.rs:73-77 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6020-6024 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7542-7546 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:59-63 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:273-277 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1315-1319 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2303-2307 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2461-2465 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 66 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc3cfb521cfb9473f313a25ba4cbc184260fa0154932b0d06aa44231103b364e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/Media/Import/mod.rs:895-899 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:199-203 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:776-780 | crates/libs/windows/src/Windows/Storage/mod.rs:1642-1646 | crates/libs/windows/src/Windows/Storage/mod.rs:2182-2186 | crates/libs/windows/src/Windows/Storage/mod.rs:2823-2827 | crates/libs/windows/src/Windows/Storage/mod.rs:4507-4511 | crates/libs/windows/src/Windows/Storage/mod.rs:4939-4943 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Import/mod.rs"},"region":{"startLine":895}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e5c3fa8dedea8aa6b719df16731a3367f8c10a56f1771a3d2a31f4ee9cc428d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:551-555 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1140-1144 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1185-1189 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1223-1227 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1292-1296 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1349-1353 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1412-1416 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1481-1485 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs"},"region":{"startLine":551}}}],"partialFingerprints":{"codehealthFindingId/v1":"0290e678d2f14a20e8b458e72f63bb5b204a460d10845266078e5e60858d010d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:392-396 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:478-482 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:558-562 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:638-642 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:712-716 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:861-865 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:959-963 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1068-1072 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":392}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0f586947e224ec81f4e2719e0c9f8ca5bc18a2fe43ead1b6494d68ac8cf32d1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:399-403 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:485-489 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:565-569 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:645-649 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:719-723 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:868-872 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:966-970 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1075-1079 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":399}}}],"partialFingerprints":{"codehealthFindingId/v1":"0db50c9852cfb36d4e4086eb6da8154f2718fb4ce6c942ba3dc83798dffb55f0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:406-410 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:492-496 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:572-576 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:652-656 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:726-730 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:875-879 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:973-977 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1082-1086 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":406}}}],"partialFingerprints":{"codehealthFindingId/v1":"92ace013de7bc60bd37a9d03bac455d3cf66e1253b34af8d7677d0c0b507bfab"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:413-417 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:499-503 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:579-583 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:659-663 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:733-737 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:882-886 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:980-984 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1089-1093 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":413}}}],"partialFingerprints":{"codehealthFindingId/v1":"daf28c07fdf135373aac2a05b7742bbec9d100013a7e726dc7a57fe7f0f9a7b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:420-424 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:506-510 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:586-590 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:666-670 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:740-744 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:889-893 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:987-991 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1096-1100 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":420}}}],"partialFingerprints":{"codehealthFindingId/v1":"85295edc99ca4e3471b0bbd3d6cbce909144400b0316c4c2deb3cac2e032b659"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:427-431 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:513-517 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:593-597 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:673-677 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:747-751 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:896-900 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:994-998 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1103-1107 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":427}}}],"partialFingerprints":{"codehealthFindingId/v1":"b59a04c472a0735e6203f318c44a5e19f2ff14feffcb579595c116a049f90f48"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:434-438 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:520-524 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:600-604 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:680-684 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:754-758 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:903-907 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1001-1005 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:1110-1114 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs"},"region":{"startLine":434}}}],"partialFingerprints":{"codehealthFindingId/v1":"07086a44e7fac8af836c7fa5bac651a179398181d213d94e0875fb82c16271ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 8): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3034-3038 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3162-3166 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3232-3236 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3326-3330 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3375-3379 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3453-3457 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3502-3506 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3551-3555 \u2014 all 8 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":3034}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fd53385cdd781958eecca8b21866c41458e0f2fca4c627f84d4253f7cf84609"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1300-1304 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4139-4143 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5115-5119 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5271-5275 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7135-7139 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2752-2756 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3459-3463 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1300}}}],"partialFingerprints":{"codehealthFindingId/v1":"309279fc74c6945d1e9c033790e438733cfba475a4b38a842b3bd1e7f779d3d9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1307-1311 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4146-4150 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5122-5126 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5278-5282 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7142-7146 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2759-2763 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3466-3470 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1307}}}],"partialFingerprints":{"codehealthFindingId/v1":"5815974fc7da851fbf166ae9d0ef7ecdf25cd517a99b67828010def3b5315f41"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:814-818 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2793-2797 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1585-1589 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:682-686 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:616-620 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2155-2159 | crates/libs/windows/src/Windows/UI/Input/mod.rs:189-193 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":814}}}],"partialFingerprints":{"codehealthFindingId/v1":"65c881169b3dbff2dd1253f0bda11ad7219a65c4d72f752d76a05e2dd2ae2926"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1287-1291 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1941-1945 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3435-3439 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:172-176 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:34-38 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:905-909 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2475-2479 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1287}}}],"partialFingerprints":{"codehealthFindingId/v1":"b429c5d4d0b664304a4e5a887bededac4fee7f5c44efd067a3b1049ed807beea"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1698-1702 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1832-1836 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2232-2236 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2502-2506 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2669-2673 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2306-2310 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3857-3861 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1698}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa5de16d349fe88ac350ac9561f17111c5c9a4207a1c3ca10d3e662acab24564"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:97-101 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:814-818 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1026-1030 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1306-1310 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4586-4590 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4849-4853 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5142-5146 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sensors/mod.rs"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b3484601833b7e1685c3fb8f0c28ef37f12fa5aff00f2b05ec7d530d324a4e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:68-72 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:181-185 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:279-283 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:387-391 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1046-1050 | crates/libs/windows/src/Windows/Storage/mod.rs:346-350 | crates/libs/windows/src/Windows/Storage/mod.rs:515-519 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Foundation/Collections/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Security/Credentials/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 31 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/Collections/mod.rs"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"218e0ad216777433e9c4e84e01669d47c7382a2cdb4e9f87b342cbbde3e15861"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:170-174 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:747-751 | crates/libs/windows/src/Windows/Storage/mod.rs:1613-1617 | crates/libs/windows/src/Windows/Storage/mod.rs:2153-2157 | crates/libs/windows/src/Windows/Storage/mod.rs:2794-2798 | crates/libs/windows/src/Windows/Storage/mod.rs:4478-4482 | crates/libs/windows/src/Windows/Storage/mod.rs:4910-4914 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":170}}}],"partialFingerprints":{"codehealthFindingId/v1":"d97ce07d04263d883908d134076aabe679e9eb4f5fd61780e68c8049ca8293bd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:177-181 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:754-758 | crates/libs/windows/src/Windows/Storage/mod.rs:1620-1624 | crates/libs/windows/src/Windows/Storage/mod.rs:2160-2164 | crates/libs/windows/src/Windows/Storage/mod.rs:2801-2805 | crates/libs/windows/src/Windows/Storage/mod.rs:4485-4489 | crates/libs/windows/src/Windows/Storage/mod.rs:4917-4921 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":177}}}],"partialFingerprints":{"codehealthFindingId/v1":"7057cfc16eed4930c4e1152bb2cbec08e8cb1ac66d35d7fd0fb2b2cf193bd125"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:185-189 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:762-766 | crates/libs/windows/src/Windows/Storage/mod.rs:1628-1632 | crates/libs/windows/src/Windows/Storage/mod.rs:2168-2172 | crates/libs/windows/src/Windows/Storage/mod.rs:2809-2813 | crates/libs/windows/src/Windows/Storage/mod.rs:4493-4497 | crates/libs/windows/src/Windows/Storage/mod.rs:4925-4929 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":185}}}],"partialFingerprints":{"codehealthFindingId/v1":"775ef1530aa4916c0ba04d12731313c4bec8b2b4fc3b42ebbe12658de939170d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15136-15140 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16771-16775 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18565-18569 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20607-20611 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23555-23559 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26584-26588 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29654-29658 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15136}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ecc9abce3625782ea68ae079916de8114a5f14805f0f8b85ff6ca4ae73cb54f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15142-15146 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16777-16781 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18571-18575 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20613-20617 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23561-23565 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26590-26594 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29660-29664 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15142}}}],"partialFingerprints":{"codehealthFindingId/v1":"5de406f10faaa0e2d17da39279178581a6c13703bca5582341aa2ca3983b1e6e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15181-15185 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16816-16820 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18610-18614 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20652-20656 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23600-23604 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26629-26633 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29699-29703 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15181}}}],"partialFingerprints":{"codehealthFindingId/v1":"70203f88affd56ca97787c4270d11f29099a6ebe15aa28049d155bad3f0c8090"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1600-1604 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:656-660 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:838-842 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:280-284 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:487-491 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3077-3081 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 33 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1600}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d0f4c33daf34bc19edcb8308ab383313d783b5c68535815932e06309051196e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:488-492 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:615-619 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:236-240 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2416-2420 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1962-1966 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2957-2961 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 64 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":488}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d1aa02d1b8812e8ac398b6c65b74b6d9a05932d8affcba5b9fabbf872a02cb7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1223-1227 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2376-2380 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2859-2863 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2155-2159 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:479-483 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:785-789 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 14 separate duplicated blocks between them, totalling at least 81 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1223}}}],"partialFingerprints":{"codehealthFindingId/v1":"09d4af931a20772d793540a4882567906bcc24290970f2be1c613f7ba0d5e486"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2586-2590 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2698-2702 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:144-148 | crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs:193-197 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1724-1728 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1581-1585 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 66 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2586}}}],"partialFingerprints":{"codehealthFindingId/v1":"786fb199286762e9635270f942b0f08c934979cdc0261233f146350f93abe736"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:323-327 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1447-1451 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3450-3454 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:550-554 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2888-2892 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4475-4479 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 64 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs"},"region":{"startLine":323}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fc1115e83b8802010a19d9b4a521afe07ca8c6c6331a3af0a4d3711ff5eb502"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1332-1336 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1986-1990 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3480-3484 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:217-221 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:950-954 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2520-2524 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1332}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dafca6d0226e057c599dcdf470c2b6fafa5dacd50b6e0b3c72cce69205d7a4f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1339-1343 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1993-1997 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3487-3491 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:224-228 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:957-961 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2527-2531 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1339}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6172941e7f6f7b79039d1411e291a77aadf6e4a25c985b7df023582f554b351"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1357-1361 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2011-2015 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3505-3509 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:242-246 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:975-979 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2545-2549 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1357}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ea7321ae0d2263df640315a363694bb95cbb3358063dec93d347babf00ec6e2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Input/mod.rs:523-527 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3279-3283 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3504-3508 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3710-3714 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3779-3783 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3849-3853 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Input/mod.rs"},"region":{"startLine":523}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7d11f6b00f7624eddb6aa0ad9b10b10659f121a04ce12340de2a6d1e577e275"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:756-760 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2368-2372 | crates/libs/windows/src/Windows/Gaming/UI/mod.rs:170-174 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:272-276 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2232-2236 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2629-2633 \u2014 \u0060crates/libs/windows/src/Windows/Devices/Midi/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 40 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":756}}}],"partialFingerprints":{"codehealthFindingId/v1":"c31f281532c327cf604cce87ff4893661cac34b00ba3bcdc329cbbcc4ce00786"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1360-1364 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1532-1536 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2562-2566 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2790-2794 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2922-2926 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3000-3004 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":1360}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc31ef84778b6fe199bb26db2f88ab90f3514a9841fe24adf71790c923041e9b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1374-1378 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1546-1550 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2576-2580 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2804-2808 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2936-2940 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3014-3018 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":1374}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9a79dc367344d0dbecd8170e827b554feeff2ecd35f1365c61e19b3e22cc7c7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1381-1385 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1553-1557 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2583-2587 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2811-2815 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2943-2947 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3021-3025 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":1381}}}],"partialFingerprints":{"codehealthFindingId/v1":"150dd5eaa7d2e06902a3fa572888cf068f08ce0ff07d39791df19085f9adcd59"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1388-1392 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1560-1564 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2590-2594 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2818-2822 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2950-2954 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3028-3032 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":1388}}}],"partialFingerprints":{"codehealthFindingId/v1":"29c658589ac98549c58073b96abcbc7dcc33464b2bfa067ebd653f8553a9f9ac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:116-120 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:351-355 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:633-637 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1540-1544 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1822-1826 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2095-2099 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee27196fe312ac51c98c6fe7825b39a6e04b91153989f2f625cffac72d727543"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Gaming/Input/mod.rs:123-127 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:358-362 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:640-644 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1547-1551 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1829-1833 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2102-2106 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/mod.rs"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec6f7b89af11dd80904a52423e8897cc0171b443fd3b05e077ef11fbe28366da"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:761-765 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:899-903 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1152-1156 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1239-1243 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1922-1926 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2917-2921 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs"},"region":{"startLine":761}}}],"partialFingerprints":{"codehealthFindingId/v1":"52d3e86c2152e671574598d0f85dc1682fca6f0db7552bc76e635c2cff0d1966"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:196-200 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:626-630 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1835-1839 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2415-2419 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3946-3950 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:131-135 \u2014 \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 92 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"efb1825a1358b7073b7bc43eaf9405a004adcb2808a09801bd389c14b4fc450d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:212-216 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:642-646 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1851-1855 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2431-2435 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3962-3966 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:147-151 \u2014 \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 92 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":212}}}],"partialFingerprints":{"codehealthFindingId/v1":"b94e7efddbc6feef3b0678b33281470151e8c349eca3ff117f490bdc5dba6259"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:238-242 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:668-672 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:960-964 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2309-2313 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1933-1937 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2928-2932 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":238}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad74179db1228976ef5def3075c6e50d6ce590180ae8c8e8ecedd4f174de8fbd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:316-320 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:892-896 | crates/libs/windows/src/Windows/Storage/mod.rs:3140-3144 | crates/libs/windows/src/Windows/Storage/mod.rs:3288-3292 | crates/libs/windows/src/Windows/Storage/mod.rs:4554-4558 | crates/libs/windows/src/Windows/Storage/mod.rs:4985-4989 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":316}}}],"partialFingerprints":{"codehealthFindingId/v1":"0261a943b9cdf2df7514468936176011a5c60da2bf4ec7b69314d2843cd7e6e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:346-350 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:922-926 | crates/libs/windows/src/Windows/Storage/mod.rs:3170-3174 | crates/libs/windows/src/Windows/Storage/mod.rs:3318-3322 | crates/libs/windows/src/Windows/Storage/mod.rs:4584-4588 | crates/libs/windows/src/Windows/Storage/mod.rs:5015-5019 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":346}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8aab45d19815b283168419fa583804afcb43a3c8c904f9d4ecc62711e912258"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:353-357 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:929-933 | crates/libs/windows/src/Windows/Storage/mod.rs:3177-3181 | crates/libs/windows/src/Windows/Storage/mod.rs:3325-3329 | crates/libs/windows/src/Windows/Storage/mod.rs:4591-4595 | crates/libs/windows/src/Windows/Storage/mod.rs:5022-5026 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":353}}}],"partialFingerprints":{"codehealthFindingId/v1":"ced856cc6bea4bb758db1b739c05bcb34cbb4311d7b37fa13c9c7d93832151f1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:47-51 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:121-125 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:566-570 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:733-737 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:873-877 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1161-1165 \u2014 all 6 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4ef61a3d72ec37c0f5815bddd114af484e76638c7d4bd54019bfa435f530015"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7463-7467 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7548-7552 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2968-2972 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3910-3914 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3999-4003 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Notifications/mod.rs\u0060 as WHOLE FILES: this scan already matched 13 separate duplicated blocks between them, totalling at least 80 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":7463}}}],"partialFingerprints":{"codehealthFindingId/v1":"b645b08717ea7aa975feb9ffaebb0882fabbc7db27fd5c08ed0dffc781f54519"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:296-300 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:289-293 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:361-365 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:583-587 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1114-1118 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs"},"region":{"startLine":296}}}],"partialFingerprints":{"codehealthFindingId/v1":"740d80f211787c72bcda436aac40ddf5e70f6a467b6b520d39f0fe5f7526c87b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:392-396 | crates/libs/windows/src/Windows/UI/Core/mod.rs:564-568 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1021-1025 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1739-1743 | crates/libs/windows/src/Windows/UI/Input/Core/mod.rs:65-69 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 64 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs"},"region":{"startLine":392}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5f0e608f9a216f90db9f110240e535191905219dd38f8cc30a7b4e409cda472"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:1022-1026 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1126-1130 | crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs:251-255 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:359-363 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1163-1167 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":1022}}}],"partialFingerprints":{"codehealthFindingId/v1":"aad555b8ceb90f53c3eb9b0e472a850854c5675268fe9a4e3bc242606b4c8278"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:372-376 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:520-524 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:601-605 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:676-680 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:897-901 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs"},"region":{"startLine":372}}}],"partialFingerprints":{"codehealthFindingId/v1":"a54397901a01e1fc946ef5e244d0f9d4a2dcb0a041b1a54097be9a242e3f4358"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1602-1606 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1817-1821 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2079-2083 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2473-2477 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2654-2658 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1602}}}],"partialFingerprints":{"codehealthFindingId/v1":"54f45f1f1e0a26ab66453e306c24edbf70ba973c64fa9649622ed72e0707de8b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:48-52 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:69-73 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:301-305 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1687-1691 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1905-1909 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d95036a64d14813f2a5e2f7d430c15e0e0f73a27cd222e5c9b9616ffad295c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:55-59 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:76-80 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:308-312 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1694-1698 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1912-1916 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9eb68e7c4bb7fc1fc1f7fb7d9f7d409420ce4fdc90b446e8b3f978dbe5006ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:62-66 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:83-87 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:315-319 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1701-1705 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1919-1923 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f7093fab0159cca9c9710b1c379c690d1a9275f91bd652cd7b89aed4c863bad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Audio/mod.rs:16-20 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:423-427 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:750-754 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3269-3273 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4538-4542 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"6321079166c76dbe506fcf918656ff82c3a2a2b02bd9f7facf0f158806681c85"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Audio/mod.rs:44-48 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:451-455 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:778-782 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2198-2202 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4566-4570 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef009ad82461a0d766eb6c2d4e8d9d0237b93d8aeb89b42fa10d8b671db220ac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Capture/mod.rs:7554-7558 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:134-138 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:298-302 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1376-1380 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2382-2386 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/mod.rs"},"region":{"startLine":7554}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ea62ca8863986a4d77af358f0a227a0b4936f55d512ec411ff4fbcb9558115d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Core/mod.rs:329-333 | crates/libs/windows/src/Windows/Media/Core/mod.rs:843-847 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3587-3591 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5880-5884 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6377-6381 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":329}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc57802876f49e30279e791659efcdf76bf3b3d7cc8c4915d0c46829060aad05"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Core/mod.rs:340-344 | crates/libs/windows/src/Windows/Media/Core/mod.rs:854-858 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3598-3602 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5891-5895 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6388-6392 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":340}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9ba2009c29a38d2dbf552455a9bfb8362f2b0f04219f90eb5be98feac15fadd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Devices/mod.rs:1051-1055 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1115-1119 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1312-1316 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3844-3848 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4487-4491 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/mod.rs"},"region":{"startLine":1051}}}],"partialFingerprints":{"codehealthFindingId/v1":"efb1817009656c5b7eccecd2cac2d2be7a6b1c0a8fdbcf1669af03bb702e9d26"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2386-2390 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2463-2467 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2546-2550 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2605-2609 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2960-2964 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":2386}}}],"partialFingerprints":{"codehealthFindingId/v1":"08e298cc337db7e8ba54a3e0c1c58349583e30c73ac91e620dbd5e95d255a3b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2397-2401 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2474-2478 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2557-2561 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2616-2620 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2971-2975 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":2397}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5865037619bd98901d1e5228fd1aa95e5aadbbe0ca3a00c8d8ade0cff6068aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:238-242 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:814-818 | crates/libs/windows/src/Windows/Storage/mod.rs:4546-4550 | crates/libs/windows/src/Windows/Storage/mod.rs:4977-4981 | crates/libs/windows/src/Windows/UI/Text/mod.rs:3860-3864 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":238}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c91a90b3f8ba58249346568f5ca6e1aec47387feb6df9f596da7ed157f6dd76"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Storage/mod.rs:1649-1653 | crates/libs/windows/src/Windows/Storage/mod.rs:2189-2193 | crates/libs/windows/src/Windows/Storage/mod.rs:2830-2834 | crates/libs/windows/src/Windows/Storage/mod.rs:4514-4518 | crates/libs/windows/src/Windows/Storage/mod.rs:4946-4950 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":1649}}}],"partialFingerprints":{"codehealthFindingId/v1":"aff9591e82d95a6049b49a94b1d36acb1d2ee6fdf334079180dbedfd5d0a8b31"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Storage/mod.rs:1656-1660 | crates/libs/windows/src/Windows/Storage/mod.rs:2196-2200 | crates/libs/windows/src/Windows/Storage/mod.rs:2837-2841 | crates/libs/windows/src/Windows/Storage/mod.rs:4521-4525 | crates/libs/windows/src/Windows/Storage/mod.rs:4953-4957 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":1656}}}],"partialFingerprints":{"codehealthFindingId/v1":"16f0ac3260d9973b9db7bece26bcc278e771f24e79cd782ad9d6d0dd46bc7c74"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Storage/mod.rs:1663-1667 | crates/libs/windows/src/Windows/Storage/mod.rs:2203-2207 | crates/libs/windows/src/Windows/Storage/mod.rs:2844-2848 | crates/libs/windows/src/Windows/Storage/mod.rs:4528-4532 | crates/libs/windows/src/Windows/Storage/mod.rs:4960-4964 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":1663}}}],"partialFingerprints":{"codehealthFindingId/v1":"a82e843c74498b3471eab8adfdabf3126094f0a4ec9a98b895708f4f8b84aad8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/UI/Core/mod.rs:351-355 | crates/libs/windows/src/Windows/UI/Core/mod.rs:868-872 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1503-1507 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2470-2474 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3506-3510 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":351}}}],"partialFingerprints":{"codehealthFindingId/v1":"d31ee40e55ce31c4137b996c5caf5678fe3933a55b6650ae84b8d0d5aceb1a57"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/UI/Core/mod.rs:1587-1591 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2679-2683 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3590-3594 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3186-3190 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4210-4214 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1587}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e8d6d6f7924a2502c010582ef34099ce0423a396e827dd346eed66b18a97740"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/UI/Core/mod.rs:1601-1605 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2693-2697 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3604-3608 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3171-3175 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4195-4199 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1601}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6086ca39372855cf7a00f0a1b914873037c4499600d220c2598f44ef64266c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/UI/Core/mod.rs:1615-1619 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2707-2711 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3618-3622 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3201-3205 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4225-4229 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1615}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ad9e6de9ebe499dc4fd4b3d5b8d1ce6db759abd896327086da2057e5eb9ff3e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7123-7127 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8698-8702 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10288-10292 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11890-11894 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13507-13511 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":7123}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbf296fc31eecb49bb8600f6f67e569cdae9dfcdb08f7673f6dc8eef55b08fd8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7221-7225 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8796-8800 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10386-10390 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11988-11992 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13605-13609 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":7221}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9ff0a529df80128c5d49d38c908b526a8ff3f6677d5cc0ee04ef26f81ae9a6e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7231-7235 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8806-8810 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10396-10400 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11998-12002 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13615-13619 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":7231}}}],"partialFingerprints":{"codehealthFindingId/v1":"75db230b95990f3c0fb99df7a2d6468fcfcc4ec245a448bea74d7bdd8bf101af"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37110-37114 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38018-38022 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39054-39058 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41244-41248 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43538-43542 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37110}}}],"partialFingerprints":{"codehealthFindingId/v1":"b85ea2022bf8299cf92f7f43f54e85bddc14b938177778a0c10b84b14b4bcb68"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37168-37172 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38076-38080 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39112-39116 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41302-41306 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43596-43600 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37168}}}],"partialFingerprints":{"codehealthFindingId/v1":"39996f6331775058c20f7e63049e971574570f6f57ab13ca7b1c54521dcab19c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37267-37271 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38175-38179 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39211-39215 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41401-41405 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43695-43699 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37267}}}],"partialFingerprints":{"codehealthFindingId/v1":"11626a48275fb5c58cd10997deeb45ae9e553a9e4d00a34ea823740281cfd164"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:3367-3371 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:3910-3914 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:4489-4493 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:5084-5088 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:5751-5755 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ddraw/mod.rs"},"region":{"startLine":3367}}}],"partialFingerprints":{"codehealthFindingId/v1":"454f214ea21bd4d12b864528850998fb57b2be3ebef3d7654648048ec7c2c896"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1144-1148 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1797-1801 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1856-1860 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2139-2143 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1144}}}],"partialFingerprints":{"codehealthFindingId/v1":"64efcbcf2e86c16bc3d44631ef445937dc73e1a268ecc4cfe6d8a5807c662c6f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1151-1155 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1804-1808 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1863-1867 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2146-2150 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1151}}}],"partialFingerprints":{"codehealthFindingId/v1":"90daceb971109dce3dbcfc340bc52819ba84e6ab4bec0567a821938e2391fbc0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7692-7696 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:652-656 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:773-777 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4151-4155 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":7692}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c5a80ea4cf0a8b5f4b36b6493f6246a722cd5a65436e82effe82d29a8dba610"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:616-620 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:801-805 | crates/libs/windows/src/Windows/System/mod.rs:893-897 | crates/libs/windows/src/Windows/System/mod.rs:930-934 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":616}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0523d78b5a476b7539f0248460cc5d5a4be691f64e728c2e00e6ff9d1eb830f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:574-578 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:90-94 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:35-39 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1570-1574 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 32 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":574}}}],"partialFingerprints":{"codehealthFindingId/v1":"a44065b48b11d691810a56e0218d0aca776defa4905f68545e1fc7ce3cfe05e7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1076-1080 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1205-1209 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3209-3213 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3388-3392 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":1076}}}],"partialFingerprints":{"codehealthFindingId/v1":"107a3dd3eade8a49514921a35a223e6a31bac480a9e20fda62d8e003779727a2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1962-1966 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2556-2560 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2847-2851 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5221-5225 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1962}}}],"partialFingerprints":{"codehealthFindingId/v1":"dbb0db5beef8a0e81d6844a9e7e9c03e6a20a8ae186add08225c67b8aaa11802"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1973-1977 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2567-2571 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2858-2862 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5232-5236 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1973}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae6119d6f6d56b4e78171dfebe99ae1c253649e594081bcb5df092f73c2ba8cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1980-1984 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2574-2578 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2865-2869 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5239-5243 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1980}}}],"partialFingerprints":{"codehealthFindingId/v1":"01e84920de67a04f1c5943667b3746f33aef7104690bc87fcbd4ead4f388df0f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1104-1108 | crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs:243-247 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:351-355 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1155-1159 \u2014 \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 39 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":1104}}}],"partialFingerprints":{"codehealthFindingId/v1":"34c9bb316ef59e6e25a827f2bd2ba3c1a97815b53d697ce9321448e02b3c58e9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1321-1325 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1975-1979 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3469-3473 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:206-210 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1321}}}],"partialFingerprints":{"codehealthFindingId/v1":"0639640c9251fb0716ad9c48bb6bd7f12cac27d2ee88b4bd76d3fd5c038b0431"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1346-1350 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2000-2004 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3494-3498 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:231-235 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1346}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e2b1d6d88470515dbfca1cedbca90e02d4f8894a5bbb58c0d786b553b95921c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1364-1368 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2018-2022 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3512-3516 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:249-253 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1364}}}],"partialFingerprints":{"codehealthFindingId/v1":"77984ea0ddcdc645a60f3094b38c39d38b6d2639da095ed1ddbf880b6814303b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1371-1375 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2025-2029 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3519-3523 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:256-260 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1371}}}],"partialFingerprints":{"codehealthFindingId/v1":"044fc9a58d2a4005d48cb39c8cc549dd1ef5e1104b40e1336e55430273a0f9e8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:167-171 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:245-249 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:644-648 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:712-716 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"9530874a06ad556535d97019c5cd5409769a89abc1634e2b082d1e60f179721e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:174-178 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:252-256 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:651-655 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:719-723 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"96a7cdd55828dfa6f0b23b81a2901b0717eb50efca3da54e073dc6b419dfa1de"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:181-185 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:259-263 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:658-662 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:726-730 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs"},"region":{"startLine":181}}}],"partialFingerprints":{"codehealthFindingId/v1":"e562309ffff19022c4d67a4ed25c0c800049949c2e024e972e5e6fdd2e359c46"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:509-513 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:658-662 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3151-3155 | crates/libs/windows/src/Windows/Media/mod.rs:1767-1771 \u2014 \u0060crates/libs/windows/src/Windows/Media/Miracast/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 51 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs"},"region":{"startLine":509}}}],"partialFingerprints":{"codehealthFindingId/v1":"7005285db3efa78eccdf20e5351d429f66d1f1f62d740d20c2fa36f6fc383831"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:184-188 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:92-96 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:720-724 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1287-1291 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs"},"region":{"startLine":184}}}],"partialFingerprints":{"codehealthFindingId/v1":"96c9a844c1804312a8f5fd0ba0aa15b96ec21bdd082c49bb6b07e6d3bd5056a6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:28-32 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1101-1105 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7345-7349 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8191-8195 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":28}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f7f0ef84da132ada84599937446a28b5fead04b2e422004c8595bf64156e1ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:72-76 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1120-1124 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7377-7381 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8210-8214 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b382a3a8cc9f304a5665ae54d4b8504be4a1ec6a1d92fb7bd1ab7433cb2561e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1630-1634 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2487-2491 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:50-54 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5297-5301 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 94 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1630}}}],"partialFingerprints":{"codehealthFindingId/v1":"494c9c702b44b8103f5332a2681b6151431cbe4a33fe45d26596c14d83910c94"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4719-4723 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6222-6226 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9166-9170 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9542-9546 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4719}}}],"partialFingerprints":{"codehealthFindingId/v1":"320bffb931f202c3765d34b7c5b2ace001ed8484279314229c9c6ccad5c26aad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4726-4730 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6229-6233 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9173-9177 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9549-9553 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4726}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b0f2016481c826b9763ae8bea84e60348b5bc80cc26a9aa1cef862a5c077c82"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4733-4737 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6236-6240 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9180-9184 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9556-9560 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4733}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9b8fc334c351ffccce2e9550c4ecc5ccc94c5bef48920197ea743417e1427d1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4740-4744 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6243-6247 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9187-9191 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9563-9567 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4740}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0dc76c3dc3510b858546f9e54653163a1aec2979394d62a27d7f20a1163c93a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4747-4751 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6250-6254 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9194-9198 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9570-9574 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4747}}}],"partialFingerprints":{"codehealthFindingId/v1":"692fde7fdca7f0c0fcbf98b875a40d5eae14beb123a417b10f15afb5116d1c85"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4754-4758 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6257-6261 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9201-9205 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9577-9581 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4754}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1a7aaac29469dfe464df24b455e76a298cf0fdda6eb493637ec714783beb6f5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4761-4765 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6264-6268 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9208-9212 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9584-9588 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4761}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a5bdb0300b4ddd0e6aed4d45b9dd78cfde8137aa1740a175b28adb3bedf3e62"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4768-4772 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6271-6275 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9215-9219 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9591-9595 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4768}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a87342f52da5c9e1236ea36ae935c707ead20ef57a2d0372953701ad23ec6fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4775-4779 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6278-6282 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9222-9226 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9598-9602 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4775}}}],"partialFingerprints":{"codehealthFindingId/v1":"273ef83b15de22f0ab7b77e694e762271a42246aa6d49d679da129285a407ab0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4782-4786 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6285-6289 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9229-9233 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9605-9609 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4782}}}],"partialFingerprints":{"codehealthFindingId/v1":"1039ecec24bcfb51d947c10f10c510de6a04cdc8802d2a3169038de626959d51"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4789-4793 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6292-6296 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9236-9240 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9612-9616 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4789}}}],"partialFingerprints":{"codehealthFindingId/v1":"d16d41082b8ff7f5af00689a19de045001f1ddce4053d692e68e006c4e653503"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4796-4800 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6299-6303 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9243-9247 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9619-9623 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4796}}}],"partialFingerprints":{"codehealthFindingId/v1":"8680fca9ea5d4c9a93b08f3b3edac986f6f74b7ca347accdec7364e43131f86d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4803-4807 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6306-6310 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9250-9254 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9626-9630 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":4803}}}],"partialFingerprints":{"codehealthFindingId/v1":"123f474e1bdcf088695178c8ec9b8d10de6225603a4c6f09eff7d78475c060bd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:87-91 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:957-961 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1439-1443 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2665-2669 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ad48a937b0db38f6709282167154b7a9ab21e3f22af68f40a1c93ead52f90f1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:94-98 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:964-968 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1446-1450 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2672-2676 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"d667d8c70137373dc475424f9f79eafb6c51ff241bdeef0a029b023040b351b7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:90-94 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:322-326 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1708-1712 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1926-1930 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"defad4933a46826a0b70d149e03740c9dbb96774b00f1567b62071ba2e7555bb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:97-101 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:329-333 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1715-1719 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1933-1937 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8429da2aa0f37fa21121a686f85122f0c5312c1351f453a573ec41ad2946d2a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:104-108 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:336-340 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1722-1726 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1940-1944 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"447837f8b0f472057312137935b3386b0db3c2f52c3fc8daecaa7858e3e1e178"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:115-119 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:347-351 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1733-1737 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1951-1955 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":115}}}],"partialFingerprints":{"codehealthFindingId/v1":"270f8333bb033c1930802b5217873b1970344ba5d65b4c71c300ee5155b32dcb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:126-130 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:358-362 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1744-1748 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1962-1966 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":126}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1dde7630f9c2c52c42174217deed1668e9901d6ae0789914b1061b82f123a57"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:137-141 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:369-373 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1755-1759 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1973-1977 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":137}}}],"partialFingerprints":{"codehealthFindingId/v1":"531e1fac36c404375f85b096f366e38fdfe27202b140e532bb35cadd2b7d14ba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:148-152 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:380-384 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1766-1770 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1984-1988 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb1b1e13acdd4d8373c6c02b1784a425c8a2f60512bad84a339f9a05aa55b05d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:159-163 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:391-395 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1777-1781 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1995-1999 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":159}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7f9928a2901b438d902ed952178fa0503fee33a2cb1a9a1dfdd55a2c957857a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:166-170 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:398-402 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1784-1788 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:2002-2006 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":166}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc5937299af342ae630e9ed9a3becef391b998481d83019667167e85b35b7604"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:194-198 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:426-430 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1812-1816 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:2030-2034 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"39e1d310f16b1652f357ab8c3d7364d5afe3b8294a33e883b8dd3c178ee6149f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:208-212 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:440-444 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1835-1839 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:2053-2057 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":208}}}],"partialFingerprints":{"codehealthFindingId/v1":"7edfe2277eeafd5c5617030f33e830c0a5d025fa0990f3d147c00fb2a8966460"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:219-223 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:451-455 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1846-1850 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:2064-2068 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8776c215098b364e781c19aa6e71450a52b3f0446bc9e0d837b6304e82d286b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:142-146 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:323-327 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:458-462 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:866-870 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8b170239153cabfcbfeaa3a78279f1f8016738bba7c1c367c274793516426ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:149-153 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:330-334 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:465-469 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:873-877 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"13d0d6972ce53c63f458ca6efcce3fa262dc6de5999f3468a67693bd09737c79"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:160-164 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:341-345 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:476-480 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:884-888 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"13509a93e6766cea5dc79b48e780e5b934d5e3edee1e9d9129b1faba2ba4ca9d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:171-175 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:352-356 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:487-491 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:895-899 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":171}}}],"partialFingerprints":{"codehealthFindingId/v1":"ffe0558d1c690a8901b42f7703bbd64d63eb464f4d6855103e158fe81c7a89d1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:178-182 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:359-363 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:494-498 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:902-906 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"483ec5af739a43d0b446f850449bff2b25ff31b9408824e4c1ff2c5ffa298b58"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:188-192 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:369-373 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:504-508 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:912-916 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3dd7885be98da3c7acae04d63b739c0d2bd003d3c261d5086d6d46d6a20656c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Audio/mod.rs:2520-2524 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2648-2652 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4468-4472 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4786-4790 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":2520}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd20dfad2011644b5adab678cf0d85d4f526887b11017fa9ee29dfed4baff5a5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Core/mod.rs:1115-1119 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5784-5788 | crates/libs/windows/src/Windows/Media/mod.rs:201-205 | crates/libs/windows/src/Windows/Media/mod.rs:2714-2718 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 18 separate duplicated blocks between them, totalling at least 129 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":1115}}}],"partialFingerprints":{"codehealthFindingId/v1":"e82431e63058aca102766e2a33f0d5ce42478c24d84c1a332164a321938785ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:750-754 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:888-892 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1141-1145 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1228-1232 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs"},"region":{"startLine":750}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc78e8ec1c25a3809ce032aa051b269094e2b46e800e3918989b7b4753115c8d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:772-776 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:910-914 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1163-1167 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1250-1254 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs"},"region":{"startLine":772}}}],"partialFingerprints":{"codehealthFindingId/v1":"707de729a3f1ee3ce5ea0c2e7e94b119246246c5bef6af3f500b3bf4de1e1da9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:779-783 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:917-921 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1170-1174 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1257-1261 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs"},"region":{"startLine":779}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e4363f84b5a644578c34536d5449b2e9bca2670f004780251e875f3a159e62c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:508-512 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:701-705 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:792-796 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:895-899 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs"},"region":{"startLine":508}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c9912f4aa656cf2a877315d104974da8d41613bd6a3f201b36f10447dfad283"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:67-71 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:742-746 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1035-1039 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2378-2382 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":67}}}],"partialFingerprints":{"codehealthFindingId/v1":"d32ced2ce002842ad1dfc4adb9803fde5e40923c4bbb78058e07cd3c6163085b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:227-231 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:657-661 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:953-957 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2302-2306 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":227}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d3269bf9c8b6920c6e02b172a6f4be9c56d2ecbae0d17c1d393ad073fa5020d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2679-2683 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2738-2742 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2809-2813 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2877-2881 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":2679}}}],"partialFingerprints":{"codehealthFindingId/v1":"43cfe60ded753e404727b6d54a946b0543d06ccd32877e79968e00eb2d58f587"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2690-2694 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2749-2753 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2820-2824 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2888-2892 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":2690}}}],"partialFingerprints":{"codehealthFindingId/v1":"c26433503a5078606b2a12f6661369e14de0c88dd83d50b0d4d855bdfc3fbce8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:494-498 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:20-24 | crates/libs/windows/src/Windows/Storage/mod.rs:1592-1596 | crates/libs/windows/src/Windows/Storage/mod.rs:4273-4277 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs"},"region":{"startLine":494}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3caeca5431eb376f5cca166789fb17547e54ad81c7c56441685f92d11fe114d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:228-232 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:804-808 | crates/libs/windows/src/Windows/Storage/mod.rs:4536-4540 | crates/libs/windows/src/Windows/Storage/mod.rs:4967-4971 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":228}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad60356465af031200788158427fd5a66520b40125b902230ca80e46fecf9fd6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:368-372 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:944-948 | crates/libs/windows/src/Windows/Storage/mod.rs:4630-4634 | crates/libs/windows/src/Windows/Storage/mod.rs:5061-5065 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":368}}}],"partialFingerprints":{"codehealthFindingId/v1":"829412c1b903d91481b1d61a518d8963f4aaf50f5362976e19386a4f20467895"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Storage/Streams/mod.rs:630-634 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2169-2173 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2636-2640 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2892-2896 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":630}}}],"partialFingerprints":{"codehealthFindingId/v1":"b82091d93d137457bf56b9f6d2534d54422e9a64ffd019e6882d31a4f0f44d5b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Storage/Streams/mod.rs:636-640 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2175-2179 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2642-2646 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2898-2902 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":636}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f67f1ccfcedf4a1667204935dc36fe54cf9e36775933b02b5151676aaeb3ca0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/UI/Core/mod.rs:444-448 | crates/libs/windows/src/Windows/UI/Core/mod.rs:901-905 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3031-3035 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:184-188 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":444}}}],"partialFingerprints":{"codehealthFindingId/v1":"d19302c680dda64e6e53ed7a96d1b3a14b60535bf115b1570e866c8d32b81401"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/UI/Core/mod.rs:1559-1563 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2651-2655 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3562-3566 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3126-3130 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1559}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f96c964021deee87c86b1d256becc96591316cd81cfa4bd760a2633874eefe6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/UI/Core/mod.rs:1573-1577 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2665-2669 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3576-3580 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3156-3160 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1573}}}],"partialFingerprints":{"codehealthFindingId/v1":"f35056688d4cf121e87d2d6caa9b698927bbece5531015b5b7c265fb1da6a90b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:14230-14234 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:18262-18266 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:19284-19288 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:20265-20269 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":14230}}}],"partialFingerprints":{"codehealthFindingId/v1":"d167df602b2b87f79d8cab310f4e9f3ba11c28a38e61b5fdcb8e4bd751f3988d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20970-20974 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23918-23922 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26947-26951 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30017-30021 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20970}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d96719627d2a84571fd6afdee56bc921b05791ea813b6123c1d9c325c3a2603"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20976-20980 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23924-23928 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26953-26957 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30023-30027 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20976}}}],"partialFingerprints":{"codehealthFindingId/v1":"80c562d571e219c42ac0d9396e34cee5f0ae0dd6b4edee5b3ce59efc873a71b4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:21008-21012 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23956-23960 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26985-26989 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30055-30059 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":21008}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8fbcc8633beb0bea6b3075101c6140129df2e4e8060868336e7553bd3347d69"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32413-32417 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:32768-32772 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33228-33232 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33773-33777 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":32413}}}],"partialFingerprints":{"codehealthFindingId/v1":"99b40c70dbfdac679729cd672f9ed3fe8b9ad6d8f77e9901b09ed4d620be2fc3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5900-5904 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6398-6402 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6716-6720 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6963-6967 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":5900}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d6871fa70cc720c2a9242be0dd13dc512e8a7ea2337b396b0e70d016dab9194"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/clang/src/extract.rs:1433-1437 | crates/libs/clang/src/extract.rs:1455-1461 | crates/libs/clang/src/extract.rs:1479-1485 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/extract.rs"},"region":{"startLine":1433}}}],"partialFingerprints":{"codehealthFindingId/v1":"2446222a7a927838a28fb7fc8639960f173c498b105a9a528487abc4bb3b542f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1398-1402 | crates/libs/windows/src/Windows/System/mod.rs:3133-3137 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2847-2851 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 39 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1398}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e5c8c9bceb3609668ffc7709fcb209ef8ab1d29e99b03d226ab25509d3e14ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:129-133 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:246-250 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2219-2223 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbd93bdd060becba8309ef504e46a842268f70f7fae631e0fd3f5029cfe192ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:157-161 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:274-278 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2233-2237 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d88752d9e63b59c677a100167a51b46cc34b25037953c28e7d26e758b52cc16"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:171-175 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:288-292 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2247-2251 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":171}}}],"partialFingerprints":{"codehealthFindingId/v1":"21c763f33aabe470d71d525efd85131746d5a10bd6d46b6cbe2582691ef9f243"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:566-570 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:11-15 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:186-190 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":566}}}],"partialFingerprints":{"codehealthFindingId/v1":"da85fe41381fc801e718c08e647d6986ec3c595f74cbc9c59aa7208360f519cb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:643-647 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2049-2053 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1218-1222 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 27 separate duplicated blocks between them, totalling at least 156 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":643}}}],"partialFingerprints":{"codehealthFindingId/v1":"44e9be1b201248189993fe9ab5258f57091a8c7b56631a013287e79637f7073e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1813-1817 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1349-1353 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:555-559 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 64 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1813}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a86dba61b69090acac27432180c15f23775920b22eee8290aeb74c4a88591e8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2348-2352 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3792-3796 | crates/libs/windows/src/Windows/UI/Input/mod.rs:203-207 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2348}}}],"partialFingerprints":{"codehealthFindingId/v1":"48af0ebc1e9344cd537a5df01a4c8d40e2d7ff927876e917c23b6677f8087cdd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2539-2543 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2651-2655 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1677-1681 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2539}}}],"partialFingerprints":{"codehealthFindingId/v1":"fecca28adad1e626bce0052c19a1ac0295ec3be48c39c4a69b823dc2f6e17462"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2557-2561 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2669-2673 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1695-1699 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2557}}}],"partialFingerprints":{"codehealthFindingId/v1":"a394216f411bfcec0f6c5f0edbf918ab66f91938a3b078c9735284123c666721"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2568-2572 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2680-2684 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1706-1710 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2568}}}],"partialFingerprints":{"codehealthFindingId/v1":"8815d82c3eaf10523e0fe46b6a4f64b48633a7041d106b568afe0757288b311e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:51-55 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:226-230 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:749-753 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"26a1ab61f35acf8d26003a6b82d9b78701c1b6a3375363f39bab266bb36a4aec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:139-143 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:153-157 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:167-171 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5df2d6e4b98904511814617d5013d77fa0a80253aed0907fe79afd2656de763"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:96-100 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:110-114 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:124-128 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc03770bf670ea663216ab8eef66e8ff61099a1658ce4a1eba8f46bdd298bd18"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:441-445 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1671-1675 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3674-3678 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs"},"region":{"startLine":441}}}],"partialFingerprints":{"codehealthFindingId/v1":"5782134009ec28eccebb3461400c5df896a63e59d024676dbb03ac160b69fbcf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs:156-160 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs:211-215 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs:246-250 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8c352bf074755c31f0bd24d13826ee5b50984e3bd2914dc01992a2fc35c0237"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Data/Json/mod.rs:367-371 | crates/libs/windows/src/Windows/Data/Json/mod.rs:687-691 | crates/libs/windows/src/Windows/Foundation/mod.rs:1288-1292 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Json/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":367}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee2c2fad9aba418d5b6f98f49b57d7fbe27892fe3f525208cc7b645001141848"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:100-104 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:118-122 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:334-338 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Gpio/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcddca65ee99dc5f75e68ecb0cdebe8d51fe7335e0afd5144f039fc60b51466d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1560-1564 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1528-1532 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4125-4129 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1560}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0d9fdb7ee04afc72bcaf2909e895462b8d0ef5e25d6b34e1cb004bc0784dc54"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1892-1896 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2759-2763 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2965-2969 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1892}}}],"partialFingerprints":{"codehealthFindingId/v1":"11b24a54ed9eb07a2d98cd52e8c0ebc49dce918e006d8f2c32abbbdb2d146b13"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1903-1907 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2770-2774 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2976-2980 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1903}}}],"partialFingerprints":{"codehealthFindingId/v1":"8aae70efed90d5feddbcdcdbf9493b547ac5d916669e8808133574ef12e9e4c4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1914-1918 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2781-2785 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2987-2991 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1914}}}],"partialFingerprints":{"codehealthFindingId/v1":"37063dcdacb5cd968cc4d52caf33cb97c5376f0235b18a99cf719a4ecafab06d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1921-1925 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2788-2792 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2994-2998 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1921}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ef51e17a4226346f447ff5f14db533c498cac64fe5cadd52e29f1beb281408d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1932-1936 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2799-2803 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3005-3009 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1932}}}],"partialFingerprints":{"codehealthFindingId/v1":"9069cc6bd96bdd11fe6efa4ba81bb923807d9dd5fc899648917b1283b3cbd813"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1939-1943 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2806-2810 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3012-3016 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1939}}}],"partialFingerprints":{"codehealthFindingId/v1":"84698ca4355691a77881353d63e34528f511d8f3d241735ce81cb811a5621a11"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1950-1954 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2817-2821 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3023-3027 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1950}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c20ebc4a81c010ae676b8b36c74c0e5f1aa8ca3f44267d7f889cd97ee718d1d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1957-1961 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2824-2828 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3030-3034 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1957}}}],"partialFingerprints":{"codehealthFindingId/v1":"6814e8a9151fa24c90c19ee4d65e09d6f31b3af76b32d6f341972b110a3a89fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1964-1968 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2831-2835 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3037-3041 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1964}}}],"partialFingerprints":{"codehealthFindingId/v1":"72d78f228f45fb9659535e0e1d542ce576145b418a443899e6104897bf1eecfa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1971-1975 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2838-2842 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3044-3048 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1971}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0d07ae371ee60523eb0d0dd2fc01dd48ab468c545eb5e6ab6f9725214311782"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1978-1982 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2845-2849 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3051-3055 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1978}}}],"partialFingerprints":{"codehealthFindingId/v1":"e159620e0fc47154b60c03db701cf08fcfc06440578d6c89d7ae766f48074daa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1985-1989 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2852-2856 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3058-3062 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1985}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e152baa22b585de148e2aed8a69f2644841ff1e052afae68cd79de95c8a8cc1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1992-1996 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2859-2863 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3065-3069 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1992}}}],"partialFingerprints":{"codehealthFindingId/v1":"77b80d3b665ab8827ae9cc2f3275579f013fa2153db5489cf03465aaf1fdc0a6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1999-2003 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2866-2870 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3072-3076 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1999}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d7f0de6f3437d6c64777f42cc6f3c458309215edd2b01137b2bad6431d6d89f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:5856-5860 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9020-9024 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9424-9428 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":5856}}}],"partialFingerprints":{"codehealthFindingId/v1":"642504b05bd9482ff3f83953d66fbbb7a5f1857eb6a633a9e38695fa4125c679"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:210-214 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1640-1644 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1788-1792 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":210}}}],"partialFingerprints":{"codehealthFindingId/v1":"201611fd0b4e2bbf0a6372730275aa2041ca663ff267bf51b2ca84d23c01d96e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:130-134 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:215-219 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:833-837 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"afb53ad21fd610662748f74bcaf9cb63858e24cc1fefbf984f95b77e92de9459"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:137-141 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:222-226 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:840-844 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs"},"region":{"startLine":137}}}],"partialFingerprints":{"codehealthFindingId/v1":"8da2808ef650540e1b6b11c6d445103cd8070a731ff6e0d50488fa8949f6ff10"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:144-148 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:229-233 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:847-851 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs"},"region":{"startLine":144}}}],"partialFingerprints":{"codehealthFindingId/v1":"58740d3c447929b4802af1beb67d840c7495fc2ec6bae25dfa381ccbe7f53725"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:151-155 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:236-240 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:854-858 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs"},"region":{"startLine":151}}}],"partialFingerprints":{"codehealthFindingId/v1":"c253922d194b6688701d9e2c25352058bfc0e8f0b268a04c7f084d800dc55a65"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:158-162 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:243-247 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:861-865 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1edba4f0acad7fdd3971c03dd7b8a479b060bb78001380c968f77a6beb9673b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:257-261 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1584-1588 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3416-3420 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 50 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":257}}}],"partialFingerprints":{"codehealthFindingId/v1":"df746196b977ed297f53c0dbf26389cbcdcfadf7b8f50dddf4702fe719996b79"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Management/Deployment/mod.rs:214-218 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:2789-2793 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:3242-3246 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Deployment/mod.rs"},"region":{"startLine":214}}}],"partialFingerprints":{"codehealthFindingId/v1":"61810061c885f5d80712e1ac714820eb04cdc4728cea6b9bb8c10f9c9bfdcdac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Core/mod.rs:90-94 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2195-2199 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7495-7499 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"d68379a6ad58a0e7d5555cb29bbc70aa91804bd019b4805b1bb55bdbfc5576f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Core/mod.rs:176-180 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6171-6175 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7632-7636 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":176}}}],"partialFingerprints":{"codehealthFindingId/v1":"adf2bff01412deeb861757e33c7cd5a2ea4f15a2466a55ec7c952c5e4d599362"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Devices/mod.rs:1276-1280 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:2877-2881 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4457-4461 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/mod.rs"},"region":{"startLine":1276}}}],"partialFingerprints":{"codehealthFindingId/v1":"cdeaae36f50a78bebb931e8705184e477e9dfdb7b3afb899b437ccd18ba8a414"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1025-1029 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1636-1640 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:502-506 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Miracast/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Miracast/mod.rs"},"region":{"startLine":1025}}}],"partialFingerprints":{"codehealthFindingId/v1":"c59eca56d0354731fe72435ba053ee5c5c83933fe61357727aef60eb3f736f9d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:134-138 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3640-3644 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3996-4000 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs"},"region":{"startLine":134}}}],"partialFingerprints":{"codehealthFindingId/v1":"50517944f927b26516c423a5fe4ddee52bc6f0cfd56843c93e89f2741d9a07f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:294-298 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3259-3263 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3622-3626 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":294}}}],"partialFingerprints":{"codehealthFindingId/v1":"5406935f553ae61a3da20817114151b603571492b927a73c43942258c80175aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1823-1827 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2403-2407 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3934-3938 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":1823}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c31850c00f0d555043d0cd23bd667bc1dc201a90db1feb8fa9410c6f45915dc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1866-1870 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2446-2450 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3977-3981 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":1866}}}],"partialFingerprints":{"codehealthFindingId/v1":"88a903e5fda5f418cebad0e66523d660d7e344fec9169d7fce1b7a5e9fadbf50"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2247-2251 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3820-3824 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:152-156 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2247}}}],"partialFingerprints":{"codehealthFindingId/v1":"c63a9af6531db668b2a3a5c6feccb534ee3ae7e2c2e1419496725ceeda6e9ad1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2388-2392 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3397-3401 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3919-3923 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2388}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f56fa6500aa5c7e8dda9cd4b35ea8bd56787ece20ddb5cdbc4d27c0659d5d10"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2454-2458 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3378-3382 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3985-3989 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2454}}}],"partialFingerprints":{"codehealthFindingId/v1":"555aa8bc69fa53bb6459d459c560894fb36d6c5051759f0364af7f297b2fd021"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2499-2503 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3518-3522 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4030-4034 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2499}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f989d73b9bbbfeb8492ac2211074a2b9118ca5cbe0c0c5eba50df29fdf2a652"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2514-2518 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3510-3514 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4045-4049 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2514}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b291b21b606ca7b7b7d7f1b43e40fa411be4fcf611bd116aac88f5fdb703750"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2522-2526 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3526-3530 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4053-4057 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2522}}}],"partialFingerprints":{"codehealthFindingId/v1":"953d1797efeb18cc9c1334e5a7be994888acc1c8c42af8598b98b1ed01858aa0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:1292-1296 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:1306-1310 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:1320-1324 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs"},"region":{"startLine":1292}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5205d2180d315c8675b1acf774a36be0aa7b308e531000bccbcf03ea9315056"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:260-264 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:735-739 | crates/libs/windows/src/Windows/Win32/gameux/mod.rs:114-118 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs"},"region":{"startLine":260}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f83b081d888f6697aa5f14d0836d3313a82bc78a0e7a55e88a8a542de9dfb4c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:13-17 | crates/libs/windows/src/Windows/Storage/mod.rs:1585-1589 | crates/libs/windows/src/Windows/Storage/mod.rs:4266-4270 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a94c4b356dc535219a90b2736f19de7428b844b64c60ec0ddfeb1257a7df862"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:290-294 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:866-870 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1074-1078 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":290}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c8d5539c428879c1e208ba2ac2752a8e64a98a548dc54f5bc43d49a085eb8db"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:304-308 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:880-884 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1088-1092 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":304}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa04c4480efd69cf13cc7eea69a0756328283e11fd0d8dc1ee377468a02f2bce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Storage/Search/mod.rs:1660-1664 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1757-1761 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1854-1858 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Search/mod.rs"},"region":{"startLine":1660}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb8d4843bed534ea3ec29996d1fe3d1d53feeb8df5ee9f011e8bd243cf9b4000"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Storage/Search/mod.rs:1667-1671 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1764-1768 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1861-1865 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Search/mod.rs"},"region":{"startLine":1667}}}],"partialFingerprints":{"codehealthFindingId/v1":"f36c054eb526d4c37a0967e341223169d5cfc83446ef3ff0e88b96ce5a563267"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Storage/Search/mod.rs:1714-1718 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1811-1815 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1908-1912 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Search/mod.rs"},"region":{"startLine":1714}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c865e9c6121abdada61bc3f60bd021eba7b471a1cf710a8845f186c2fb65c9c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/System/mod.rs:3268-3272 | crates/libs/windows/src/Windows/System/mod.rs:3282-3286 | crates/libs/windows/src/Windows/System/mod.rs:3296-3300 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/mod.rs"},"region":{"startLine":3268}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a1ec3d36d6ddc681f54ddf71cb3858d6e3ff9121c308aec74ced89fce812a90"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Core/mod.rs:430-434 | crates/libs/windows/src/Windows/UI/Core/mod.rs:887-891 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3017-3021 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":430}}}],"partialFingerprints":{"codehealthFindingId/v1":"e14029a5aaf18c1dd1bac32fc466bca21da9232608b9580ec148ea01545581af"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Core/mod.rs:437-441 | crates/libs/windows/src/Windows/UI/Core/mod.rs:894-898 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3024-3028 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":437}}}],"partialFingerprints":{"codehealthFindingId/v1":"31320c8653bab4f381f85ab6c572c8a8b383ab0a0291fdd7a1fccaf2e0a128f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Core/mod.rs:1517-1521 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3520-3524 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2174-2178 \u2014 \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 48 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1517}}}],"partialFingerprints":{"codehealthFindingId/v1":"67b74de0866e0e5d1cefe05daa35aced1df7dc025041a1f44f9b576cfd84fe50"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Core/mod.rs:1531-1535 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3534-3538 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2189-2193 \u2014 \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 48 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1531}}}],"partialFingerprints":{"codehealthFindingId/v1":"4cf990da0efb1b9c97839786ccd4b38ece07f19da4fab6e80d60dc654fb8eee2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Core/mod.rs:1545-1549 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2637-2641 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3548-3552 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1545}}}],"partialFingerprints":{"codehealthFindingId/v1":"00e2559ef330a86367f15f72bf0d87411df686335979fe83f7233d682fc0b95b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Core/mod.rs:1643-1647 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2721-2725 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3646-3650 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1643}}}],"partialFingerprints":{"codehealthFindingId/v1":"adf2125f2788a8edec0736d0ec69110dd8eed10533db91d573d75fe5992c2bb7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Core/mod.rs:1827-1831 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1982-1986 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:1570-1574 \u2014 \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 33 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1827}}}],"partialFingerprints":{"codehealthFindingId/v1":"d751dbeb4ed5d7c811a1f9dea229ebbdd16c016f6747fe0fc3ba0e28c55f23fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:717-721 | crates/libs/windows/src/Windows/UI/Input/mod.rs:495-499 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2681-2685 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 56 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs"},"region":{"startLine":717}}}],"partialFingerprints":{"codehealthFindingId/v1":"b827439625a987422516654ec74d2168cabe17c9c1a0318dd48ad3ee438f5005"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:773-777 | crates/libs/windows/src/Windows/UI/Input/mod.rs:551-555 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2639-2643 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 56 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs"},"region":{"startLine":773}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cbd8ea1fd28f5f68fa602b216b62fabe253d12f773e44b731fd60c4255f22a0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:787-791 | crates/libs/windows/src/Windows/UI/Input/mod.rs:565-569 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2653-2657 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 56 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs"},"region":{"startLine":787}}}],"partialFingerprints":{"codehealthFindingId/v1":"f013cb40dd59a3e753d49ab20580af0bb1dee1c73b1c9ef58243d143706e4e39"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:801-805 | crates/libs/windows/src/Windows/UI/Input/mod.rs:593-597 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2667-2671 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 56 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs"},"region":{"startLine":801}}}],"partialFingerprints":{"codehealthFindingId/v1":"07fc99a80a39409fb0a903b707d84af6cde163cd926f7f4687d92a85c85a37ef"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:857-861 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:299-303 | crates/libs/windows/src/Windows/Web/UI/mod.rs:186-190 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs"},"region":{"startLine":857}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b1cfadb88e93c5e7172bcdef8973c5653784d219fbf77e52e8e09d35764b00b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1105-1109 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1120-1124 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1148-1152 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":1105}}}],"partialFingerprints":{"codehealthFindingId/v1":"a09b1b862583f5daf5ded8fa07994ad83dec15786fd08ae23b6481dbd8ac2d64"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:727-731 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:760-764 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:855-859 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs"},"region":{"startLine":727}}}],"partialFingerprints":{"codehealthFindingId/v1":"6745c7c87353ceb18beaa0ac19f531e346f0da3677dac8094aa93c3ecd591e0d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2874-2878 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3307-3311 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13791-13795 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":2874}}}],"partialFingerprints":{"codehealthFindingId/v1":"9821f3adfb0ef1ec14654879ce53e4c26f6cc8330f8488547006025346c6e1ee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:24117-24121 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:27146-27150 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30216-30220 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":24117}}}],"partialFingerprints":{"codehealthFindingId/v1":"e04654414ddb2bb2bbc9d977c9e85c416fad7f15413ffaf8a8b1af9e73da163f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39339-39343 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41529-41533 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43823-43827 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":39339}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c1a53b8db690e0754fc9d7c3642a6fdd345bbea0effbdbe7def6927efed03c7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39374-39378 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41564-41568 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43858-43862 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":39374}}}],"partialFingerprints":{"codehealthFindingId/v1":"53b7c8de3f3e4b8cc93157d523a58a0cb6d1ce4d3f6ff1bf80c0f67f7b6eb0bd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39430-39434 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41620-41624 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43914-43918 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":39430}}}],"partialFingerprints":{"codehealthFindingId/v1":"77dc27a5b4a80ff48017572d11a9c260c51ba38173bc944916b9396fffa341ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3705-3709 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3805-3809 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3869-3873 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":3705}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a844012ee9359e0cf0cb6b71f83dd2f2fa2a6ae74bf958a5d4cb63616d6fcf1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:5894-5898 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6316-6320 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6392-6396 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":5894}}}],"partialFingerprints":{"codehealthFindingId/v1":"f623081f370a702fdaf59293d4ab48d461f426958bba064b72734c3695beb276"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/future/src/bindings.rs:1330-1334 | crates/libs/future/src/bindings.rs:1339-1343 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":1330}}}],"partialFingerprints":{"codehealthFindingId/v1":"82a1ebeb387e1bcaffbdff8248f121983ac42ff964bb11c1422d2ddf2a10c6e5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/reactor/src/core/pump/planner/view.rs:1865-1869 | crates/libs/reactor/src/core/pump/planner/view.rs:2171-2175 | crates/libs/reactor/src/core/pump/planner/view.rs:2268-2272 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":1865}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe730bc9de86b2f3871ec9c894997857777e1a11176a7834dec133f0316789e9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7012-7016 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3313-3317 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":7012}}}],"partialFingerprints":{"codehealthFindingId/v1":"2586de86a42d9fe2bb9f17d0a3e0da594e5b1f3094ee6f1c209e2fc50337caf2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7789-7793 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2874-2878 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Notifications/mod.rs\u0060 as WHOLE FILES: this scan already matched 13 separate duplicated blocks between them, totalling at least 80 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":7789}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3317bbfde4c741333a4b441eb876f186cc69c705f03d8b134db7c3071e65486"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:52-56 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:20-24 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac26f81bf568dad4417b6ab58b78f1247579ec9dab2cf78155068025214564ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:115-119 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:232-236 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":115}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f8d0b23e8f06e309abd03b670f206cd4756fe840527a0340339caf0f3648c1a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:143-147 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:260-264 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":143}}}],"partialFingerprints":{"codehealthFindingId/v1":"f865bc1a9273e0c891bf2d355afd45b2c8a574a5659807bbacf103e630d7281c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:109-113 | crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs:25-29 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs"},"region":{"startLine":109}}}],"partialFingerprints":{"codehealthFindingId/v1":"68bd232a3928183c1a20613faef4a5a33fac1c2f2c4d004b07290cd6e6f9818b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:608-612 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:123-127 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 15 separate duplicated blocks between them, totalling at least 87 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":608}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa53e52d511b5b330ec8d1fc726006ca900fe47c2363d8ebcd267e723c6c6736"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:622-626 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:137-141 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 15 separate duplicated blocks between them, totalling at least 87 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":622}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e88bd03cbd36b0d532315d30ca1fecb0670f0064be87673cba9c56de0501142"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:636-640 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:109-113 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 15 separate duplicated blocks between them, totalling at least 87 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":636}}}],"partialFingerprints":{"codehealthFindingId/v1":"18baa2149f5147871952573db847a68ab7da79da2ccc1c7c0cb9072f4b06e940"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:494-498 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:835-839 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":494}}}],"partialFingerprints":{"codehealthFindingId/v1":"7174af6f6c080e67cd9fb54e0b7aebee64f5d2cf1275e4eaddb51841ba4b2fac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1233-1237 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:971-975 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1233}}}],"partialFingerprints":{"codehealthFindingId/v1":"da5318c67ec63e8f114d65b91e5d8696e19bd960e650173f8b1f0de750b0f6fb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2532-2536 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2644-2648 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2532}}}],"partialFingerprints":{"codehealthFindingId/v1":"3efbab0a4ea1360ebdc40db5d247bdf8a4f04fd0f4dc3ecb3fe54982baedc4af"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2546-2550 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2658-2662 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2546}}}],"partialFingerprints":{"codehealthFindingId/v1":"bcd6b3fe1c161bd198f10b76f5fcdd35166135a8f0a4aa9e5afb245e243b3235"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2579-2583 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2691-2695 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2579}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fc20994edc512a50b9bb49294a0a2d481f2c795fedf7f2ee65fefa66d0bb629"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2930-2934 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:3026-3030 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2930}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea19dda53b7b4915949a93326b482e7d8c01ad69ed7e638690123b6a40d446f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1484-1488 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3820-3824 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":1484}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8e2408bacb2432f6a921de89e3aecab9c683c5dc8937915978ffe072c951ee2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:204-208 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:364-368 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":204}}}],"partialFingerprints":{"codehealthFindingId/v1":"aae96d10732903904a36efaf2d35f189db4a810171f7993765fdff8aa21f7be1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:234-238 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1748-1752 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":234}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cd7afd706345e9e196dde92e44d5e8a99fc69e65be2f914bad4782a6f4d5db9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:693-697 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:148-152 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":693}}}],"partialFingerprints":{"codehealthFindingId/v1":"b54b78f5ad4c2901d3dfab0c25d9a6151410355b6e7cdb6ce3b0c7f5bda185d8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:25-29 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:207-211 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"53e7ee12ac5a4014b96322fae99fcc76304325830f81f868c7ca83aaebe1d490"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs:77-81 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3221-3225 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a5a1eb778e0311fd12bbb6c97c38df118c391593f4b05c3a3444fbc2d4a6085"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:197-201 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:324-328 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 51 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":197}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c4178eaba2261e6e14780cd9d562594c0987912e65a73de3bd2a4b59a8ed19c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:204-208 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:622-626 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":204}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd391aa489d69665db56bf25c1c06422707a126355973f16efa46c5ebc4ead69"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1668-1672 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2548-2552 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1668}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ffe736d74d1190178afa09d1f7c6243531cba14b710d48b26659a84327e53e4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1675-1679 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2555-2559 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1675}}}],"partialFingerprints":{"codehealthFindingId/v1":"0902aef8f1b5e20d27f439cf5b17f45df4b039662157775ecbc2baa755c7f100"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1689-1693 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2569-2573 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1689}}}],"partialFingerprints":{"codehealthFindingId/v1":"11780b56a4f0225b6a961d84d8842b04c09c1e61546b745085aa89474161eba4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3024-3028 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:97-101 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 39 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":3024}}}],"partialFingerprints":{"codehealthFindingId/v1":"14051548de271b0ec5e9f96d274459bf28f787764036424ff805ecf6acb816c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3667-3671 | crates/libs/windows/src/Windows/Storage/mod.rs:5188-5192 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 20 separate duplicated blocks between them, totalling at least 142 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":3667}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ce193d498e1e7b5297e282932c5bec56ac4f3024d33c74632a78fe0331b3a59"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:482-486 | crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:1016-1020 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs"},"region":{"startLine":482}}}],"partialFingerprints":{"codehealthFindingId/v1":"65b3e2a5914cd6dedbf4c72c95c02403e8e4a2fb283aa56fe19bb5dcaa64511f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:85-89 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:99-103 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"91d63386ac9129e515783d9aeeff901a8ef8164606b9986ede05867b54d7fce0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:361-365 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:212-216 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs"},"region":{"startLine":361}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d17d47c06346fd1d34bf7b622c6243c6c1a148852810b09f1acc9e1b7748b17"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:588-592 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:808-812 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":588}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b30550f00c80990a5202d5ad930e7969ec98597def08bc924a0e38b7ae6b663"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:602-606 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:815-819 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":602}}}],"partialFingerprints":{"codehealthFindingId/v1":"8724e19a0cc62c879d77fe4ca77c68e003f4bde7682554cd2d4a41f46693dd1c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:628-632 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:823-827 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":628}}}],"partialFingerprints":{"codehealthFindingId/v1":"272c63dcfa2130f6895c86aea39b1c7de39100f92b7cf5c9195e9c3ccbe23e17"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:667-671 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:845-849 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":667}}}],"partialFingerprints":{"codehealthFindingId/v1":"66894cb6f5a96ec7e882d67313477f98ebce705b13794c3ea3e876efae8febea"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs:100-104 | crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/mod.rs:119-123 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"aec33f5f4f6c577250351aa7402f5b0c154aaabd6cd2cda30032371c1e565c20"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:222-226 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:469-473 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs"},"region":{"startLine":222}}}],"partialFingerprints":{"codehealthFindingId/v1":"a94b54a09dcbbbf2c59b5215e98938582720c9b44fca0031b3c560927148d942"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1893-1897 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1062-1066 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/mod.rs"},"region":{"startLine":1893}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9b42deed43da7e3151657718c7391c653580cdce6c0c0022b6faa33e5eee4f5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Json/mod.rs:353-357 | crates/libs/windows/src/Windows/Data/Json/mod.rs:673-677 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":353}}}],"partialFingerprints":{"codehealthFindingId/v1":"d71262f06f506872707ed3d874e00072878db125d729e62600d0bc180d189416"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Json/mod.rs:360-364 | crates/libs/windows/src/Windows/Data/Json/mod.rs:680-684 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":360}}}],"partialFingerprints":{"codehealthFindingId/v1":"dee283e72525a2bb50202b1438c3dd30b5dd18f34d098d6f9b96d4b5b0223835"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Json/mod.rs:374-378 | crates/libs/windows/src/Windows/Data/Json/mod.rs:694-698 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":374}}}],"partialFingerprints":{"codehealthFindingId/v1":"09bcf1e8ed3759680bd658daef2d14adf2d7865d98b037f91bb80a532ba3aea6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Json/mod.rs:381-385 | crates/libs/windows/src/Windows/Data/Json/mod.rs:701-705 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":381}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c53db221b48597ea1e6320334d6a963e7516fed0e04fe45e7b4e63e516b668a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Json/mod.rs:388-392 | crates/libs/windows/src/Windows/Data/Json/mod.rs:708-712 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":388}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b1417b250755c287e8720056ae84a8fe50449bc10fbd3fc5f4987fe38dd3357"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Json/mod.rs:395-399 | crates/libs/windows/src/Windows/Data/Json/mod.rs:715-719 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":395}}}],"partialFingerprints":{"codehealthFindingId/v1":"23acde593169253c4661fb93db1eb5237b1c123a6b96283172bae4a7be9a07c4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1955-1959 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5485-5489 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1955}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb8553c1517d64f875ecc987b77bd9969ffe0ed2fc5fb3f2454254dafc140832"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4763-4767 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4894-4898 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":4763}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3896839198c71a135c779872107f7bf81dc01fc0f8691e6f630b6ea6ef265f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:58-62 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:902-906 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"623bd2f9d812681ce8e973cdc5ac839acd4de8347e662c122d0fc035022338b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1075-1079 | crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs:235-239 \u2014 \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 39 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":1075}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8b0829fbed823cc910b3d0383175d7214d06dc4b02fffdd73cb09de96953718"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1133-1137 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:41-45 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":1133}}}],"partialFingerprints":{"codehealthFindingId/v1":"d18e8647209f34a66669904aaa4413cd6c5c154b30fdcd9146ed59f8cafb96db"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2440-2444 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:499-503 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 44 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":2440}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac4955a59641dd547add1281bfd152bfd0aae4a9554c76bd683ebe36cbcb9b3f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2857-2861 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:759-763 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 44 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":2857}}}],"partialFingerprints":{"codehealthFindingId/v1":"a50de158302e1f7dde3bb02d8746129d12e1329228b680ea722e63b21910695a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:343-347 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1133-1137 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs"},"region":{"startLine":343}}}],"partialFingerprints":{"codehealthFindingId/v1":"31eafd36944340e67af1afd64a170340f96c76b8173593dc62ceabe78565b414"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:404-408 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1202-1206 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs"},"region":{"startLine":404}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5c7bf1f7d533c6ca0f434b01f99ca6f2a7d2821f31e7465178988971878de5b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:51-55 | crates/libs/windows/src/Windows/Security/Authorization/AppCapabilityAccess/mod.rs:36-40 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f026b385f0ea57dc98f6b7d27ff8d481c3fce583bb94b8a9a763c508ad5ef26"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1010-1014 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:254-258 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1010}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ac5454ea3f0cf368a1bbf7759dab9c109423e20b42adc0b1a7bc5120a1b809f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Geolocation/Provider/mod.rs:33-37 | crates/libs/windows/src/Windows/Media/ContentRestrictions/mod.rs:269-273 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/Provider/mod.rs"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0618857bb2d4092984f6059fdfb08ec84089614d67b02c98047a51e2797525d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:242-246 | crates/libs/windows/src/Windows/Devices/Pwm/mod.rs:111-115 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/mod.rs"},"region":{"startLine":242}}}],"partialFingerprints":{"codehealthFindingId/v1":"108ff1b3988151fc434f48dbe33fdb59b5e94db40ea7cce034c2ad0bc760a072"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2107-2111 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6426-6430 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":2107}}}],"partialFingerprints":{"codehealthFindingId/v1":"eed342f9e966b671c1e094f5b6b38b9465f1d2c3ca7ee4e130c4dc83a3461ec9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9257-9261 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9633-9637 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":9257}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b4243669e483744150d49ed354fb81c9ec2baeb63d9f3b98fda2298dfa0b2a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9264-9268 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9640-9644 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":9264}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d8787e9930ce76959280167291cf9779ef1a096749ba2d7d012143bf62da6f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9271-9275 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9647-9651 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":9271}}}],"partialFingerprints":{"codehealthFindingId/v1":"79ce273bb627eb359a2712383992e526809b581bffb27c2a8341ab567b6311dc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9278-9282 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9654-9658 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":9278}}}],"partialFingerprints":{"codehealthFindingId/v1":"dbca4dc404a7c4ecaf0e2f43aeabdc90ccb9c47f055390056ad9afeecff5a49f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9285-9289 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9661-9665 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":9285}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd0a4e2bcabefc52f52a45a14dd99c7e18c0a8444b80c3c43fb03181d23b7462"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9292-9296 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9668-9672 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":9292}}}],"partialFingerprints":{"codehealthFindingId/v1":"82edd06a7f0835340ec41bb2ddc8a53c3bf2b8487635cd78c83c4743b61a0751"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9299-9303 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9675-9679 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":9299}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d4dc2605aff8d7819d07fcbe2002593073876d5009dbd7ea474681916990021"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9306-9310 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9682-9686 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":9306}}}],"partialFingerprints":{"codehealthFindingId/v1":"463a3b40fafb78a0185a7ab0cb02635990500618cb38a7e63da2f0f63077b570"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9313-9317 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9689-9693 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":9313}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9c662be78b7cfef17df6a129426967b609407473e44b19a664bafa773b41e33"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1119-1123 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1344-1348 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1119}}}],"partialFingerprints":{"codehealthFindingId/v1":"24a4f95f5c7c0e67432a3f2850ac5da06332bed41211409ed69e00165d303db8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1126-1130 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1351-1355 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1126}}}],"partialFingerprints":{"codehealthFindingId/v1":"afe3b6e35c1dbc938870e060e1fffec6bf33d7833d9cd57dead60ba273c61152"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1133-1137 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1358-1362 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1133}}}],"partialFingerprints":{"codehealthFindingId/v1":"0755dc082644e2fa703f0b52416c3293e2af52fd4801f28f39fc6c63c169406e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1144-1148 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1369-1373 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1144}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1d68574ffd4c540fc44a57a40b4b031aeb0c4431e5e10e30d1e0e081eb87bc8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1155-1159 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1380-1384 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1155}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2316ec3b50a6012bc2c43e0e68d2278e8abc60dfe5cfc678466cdb9fa068cb4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1162-1166 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1387-1391 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1162}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb7dd596e2c827acb1cfbf8e6b48a6fd02de7275e98f8910cd2ab4419a056e34"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1169-1173 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1394-1398 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1169}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c69133f4f79050da32b3dab5099f8eff410ae6cb28f9d67e4b2f171cdeeff72"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1176-1180 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1401-1405 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1176}}}],"partialFingerprints":{"codehealthFindingId/v1":"3606d6431e518110050b7149efaa87b144a8d2134bf0e40b80333b4489a1441d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1183-1187 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1408-1412 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1183}}}],"partialFingerprints":{"codehealthFindingId/v1":"36869b9b5cfb5a8b3441f54f520717084febc5a1949eb5d342cb77de9defa1e7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1194-1198 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1419-1423 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1194}}}],"partialFingerprints":{"codehealthFindingId/v1":"69bb80c4bc7f643827c6a182a365bf8999f9d608831408e503b2b6feebc1b8b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1201-1205 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1426-1430 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1201}}}],"partialFingerprints":{"codehealthFindingId/v1":"df811b4a4f73332911bd1c21cc223863e18072c7f89aec86f745b77b680d705b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1208-1212 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1433-1437 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1208}}}],"partialFingerprints":{"codehealthFindingId/v1":"3aa604f1e68500d931d1bbb2a08dad60909f6a9e0f8035090fd372bd01c0e143"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1219-1223 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1444-1448 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1219}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8f8440f1d6df4121b6399e7f95297a027dd1cb0736ab7623ea33f8539e84bc3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1226-1230 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1451-1455 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1226}}}],"partialFingerprints":{"codehealthFindingId/v1":"84ceb7adf47a471ab4734f0dcbee86e249c7068104b6ed070185d23d4b3c34aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1233-1237 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1458-1462 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1233}}}],"partialFingerprints":{"codehealthFindingId/v1":"15f78ab08b748bc72b9ef65bf92d036428f7fd45be87f12d8fd9290cb38d4795"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1240-1244 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1465-1469 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1240}}}],"partialFingerprints":{"codehealthFindingId/v1":"acb8489caf59954fc247832baf90a36bf373299a799fc505b7c7c2c4f239636c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1247-1251 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1472-1476 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1247}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ae22d5d21aed1a4f6f18ecfa8def70fcdf0dad5ea8a4ccd66740a137884f9bf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1254-1258 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1479-1483 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1254}}}],"partialFingerprints":{"codehealthFindingId/v1":"edc0ce978d6909366f4d1b5f4730cc94967bcb1267f858993f6192e58d76d0ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1265-1269 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1490-1494 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1265}}}],"partialFingerprints":{"codehealthFindingId/v1":"41651bd3898b4729218d7cf58aef1eef2af209e7fdee682875ee4d03d48c1db4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1272-1276 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1497-1501 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1272}}}],"partialFingerprints":{"codehealthFindingId/v1":"762b52ff30b78748db9df9d10aeee9e30b28eedcbba12fa35f7f86e9e1f1e67c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1279-1283 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1504-1508 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1279}}}],"partialFingerprints":{"codehealthFindingId/v1":"909f1085b35bd3d98783899e523dae338554905f3efc6391056ff602be9aaf54"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1286-1290 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1511-1515 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1286}}}],"partialFingerprints":{"codehealthFindingId/v1":"c262c7df69c8ff4f313e714b401f6dac79c90b696815541ed8038358bc86d1c8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1293-1297 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1518-1522 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":1293}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9f956f66e02f4e682168f9e97262cc9cfbd97899299071f7e21c7b73019a18b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:6304-6308 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:600-604 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sensors/mod.rs"},"region":{"startLine":6304}}}],"partialFingerprints":{"codehealthFindingId/v1":"c92a1e6e957b1591bde0da16411bc81e1ac87156d5a50adc786f34dd65086195"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:950-954 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2738-2742 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":950}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae2ff79ca0b4e49d8384db26d8196f305108a0b7f410fc628dc4d72362249903"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:459-463 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:488-492 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs"},"region":{"startLine":459}}}],"partialFingerprints":{"codehealthFindingId/v1":"a03609aeadf08e6813389c4f59b82288345d68e7247de7c66105ec1d44494d93"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:244-248 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:422-426 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs"},"region":{"startLine":244}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4211ca74ba85a08b566d2452e9da6656545a0ec448c167acae83d34380eb6e0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:651-655 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1646-1650 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs"},"region":{"startLine":651}}}],"partialFingerprints":{"codehealthFindingId/v1":"503d16372e9f782b4396d9aa802ed520e7772369c2a74b3f5032c00292fdca5a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1501-1505 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1688-1692 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs"},"region":{"startLine":1501}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa1101d780962845f4683c32a49972c3504315e63babc36d2df70395bdb6fd3e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1508-1512 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1695-1699 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs"},"region":{"startLine":1508}}}],"partialFingerprints":{"codehealthFindingId/v1":"24b8253608baf4f226253cf4e8c9487678822637a7af070f2c636a57404e2719"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1515-1519 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1702-1706 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs"},"region":{"startLine":1515}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0c8d5eeaa62e59f21d2f5f007096fed15b6b609817192defc150d383d78fa2b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:173-177 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:489-493 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs"},"region":{"startLine":173}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6fd8d10f279adcdc7d6d010e89fdd1e678404e6658e78fc1b504fccedb316df"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Globalization/mod.rs:516-520 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:269-273 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/mod.rs"},"region":{"startLine":516}}}],"partialFingerprints":{"codehealthFindingId/v1":"02e0a8257f1a22bad10a6b62bd4b98a90de14e9d81b7ba42a2f5899e04e5f9ae"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:250-254 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1577-1581 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":250}}}],"partialFingerprints":{"codehealthFindingId/v1":"467811603e65fec5e1297e101e2119b93b9258bba91ffb79e96f3a6e5f161635"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:264-268 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1591-1595 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":264}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fe26636a595c8ab6e5b7d6cb0ed8b669b6b70fb2d19b8d90a9dac17471aaa57"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:271-275 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1598-1602 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":271}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fd2d42d96fef12dcd231f0bd0d0fa942783fb354190eb702e3aad02b615d9fd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:278-282 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1605-1609 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":278}}}],"partialFingerprints":{"codehealthFindingId/v1":"e109367993feab78a14b87d683b9cfdbdd15c131861e954c340f3cd9d29d0f8b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:285-289 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1612-1616 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":285}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdaaf2768003b4cfa9610addcfc615702efb9c7cabafd1d664ca5401d63d2d94"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:292-296 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1619-1623 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":292}}}],"partialFingerprints":{"codehealthFindingId/v1":"5374a024c6d4ebf9a69e9d11a2b350dbe4d575384900458d090dbe97e8ba366d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:299-303 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1626-1630 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":299}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a2ad186639efeadb63e3662012a5036cb3e340c88eddc603111ba1154301aee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:306-310 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1633-1637 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":306}}}],"partialFingerprints":{"codehealthFindingId/v1":"3584596693d27a1da9918b37226aa32a81e14682444d3ddae7fb000c0168fc72"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:313-317 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1640-1644 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":313}}}],"partialFingerprints":{"codehealthFindingId/v1":"817b8debd6f4f200075ee1ded17c0ff24ba151e271954e82ff434c074f940373"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:320-324 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1647-1651 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":320}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd6bac84183f7ed619c6ad97da1b091e407cb62e78b23fc7a48da679c95f97dc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:337-341 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:676-680 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":337}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc75ad0e9c37fff7d1f928d01595cd5d5539f8e201bd10c0dc76baf2c437c432"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2166-2170 | crates/libs/windows/src/Windows/Media/mod.rs:122-126 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":2166}}}],"partialFingerprints":{"codehealthFindingId/v1":"b006a477c02d5be963e6b45ce7c3a12b9592bf4bc3557081b3a4ed2ab79b2b28"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2678-2682 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1865-1869 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":2678}}}],"partialFingerprints":{"codehealthFindingId/v1":"501c28c8e8c5d29b9cc679a2be0257a334be864562536c048ad9c7e28d9a1460"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:818-822 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:953-957 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs"},"region":{"startLine":818}}}],"partialFingerprints":{"codehealthFindingId/v1":"52d2eee4878d8ac4496e0ee9145cfcfecd620766e0057445543541d6b282aa4f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1693-1697 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2367-2371 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs"},"region":{"startLine":1693}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ed42d62089bafdac0acb375ca99469992a7bd49b884b1f6dc1d3b6f37a8e487"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Audio/mod.rs:739-743 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1094-1098 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":739}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f234f5b65d93efafe6de5b4bc033eb3f5ce482e2baf2129088b9af860772e6c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:117-121 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6139-6143 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs"},"region":{"startLine":117}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a4f6689bac88251c47c783a11d6905e7a9698ea92ea608eb38e368f43d188aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Capture/mod.rs:1587-1591 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3051-3055 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/mod.rs"},"region":{"startLine":1587}}}],"partialFingerprints":{"codehealthFindingId/v1":"a46580e62d4adafa2324e0a2e78ebfd6f37a9c26f3b44eb520d9a205f028cbd3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Capture/mod.rs:6296-6300 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2902-2906 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Notifications/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/mod.rs"},"region":{"startLine":6296}}}],"partialFingerprints":{"codehealthFindingId/v1":"92247823a7f1fe76435d846984ff96849964ac67d78a1a59bcb60a2d2e10b5c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:156-160 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7612-7616 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"62c60580ba3f9d9fd1f10ea627649c5298eac203fb070fb108561fb599c3a8fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:168-172 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7624-7628 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":168}}}],"partialFingerprints":{"codehealthFindingId/v1":"c63b3a1969aab565b089209be38109851fa682b818ba8c406db93fbec6139c1e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:190-194 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7646-7650 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":190}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4732da8fff93b671cfa542ace3674a94d1a9be63cda55f820d80cdf83277082"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:1060-1064 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5729-5733 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":1060}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4d08469f0425c9cf33548591ab189d2805a0b33ced5afe2aca9863217818d37"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:1107-1111 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5776-5780 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":1107}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0ff2cf1ab715117aa7a0b75261562cdc47bc3d99a6fbf366503b483e195a8ae"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:4487-4491 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2059-2063 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 66 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":4487}}}],"partialFingerprints":{"codehealthFindingId/v1":"03666bbe4824125c66cc4051186d814f998db153618b1e6ca91b4e1a43825ac8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:4613-4617 | crates/libs/windows/src/Windows/UI/Input/mod.rs:175-179 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 56 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":4613}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ee2f1b946b0f287786ea5b7f6968eda5a21564470afa66264d2346049910d6f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:272-276 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4013-4017 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":272}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0500fb77c2363bfac9ef5629053765391d1fad0f270053ddba7ac5dbf505fb5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/mod.rs:130-134 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4203-4207 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/mod.rs"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"8656131238fb1ac89e404aa0396bac5fdfba67d7b8e276cfb9be787a538ad541"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/mod.rs:138-142 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4211-4215 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/mod.rs"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a86e60887626d44405f882047dfed4faed2902f5379e16bbbf8b774dbf463fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/mod.rs:3304-3308 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3318-3322 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/mod.rs"},"region":{"startLine":3304}}}],"partialFingerprints":{"codehealthFindingId/v1":"90f3bb39d776a899378af2ae379fb9d6d00346fd825cc2b53b8803a7342d7ccc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:645-649 | crates/libs/windows/src/Windows/Media/mod.rs:2282-2286 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 44 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/PlayTo/mod.rs"},"region":{"startLine":645}}}],"partialFingerprints":{"codehealthFindingId/v1":"eff459b94b36805656d7372de2d57b77b441e8b99f08cfcdbac77de80cb1c81b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Playback/mod.rs:1815-1819 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3704-3708 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Playback/mod.rs"},"region":{"startLine":1815}}}],"partialFingerprints":{"codehealthFindingId/v1":"7619bf82492bcbf2b6ba3a6dd4f79cee0719908dabe6b8b6cc33311c6cf935b4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Playback/mod.rs:4367-4371 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4510-4514 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Playback/mod.rs"},"region":{"startLine":4367}}}],"partialFingerprints":{"codehealthFindingId/v1":"18013ba6d25c80dbd147a35ae5ada8235ae8202f4b09c979722652b75c55cd32"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:680-684 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:771-775 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs"},"region":{"startLine":680}}}],"partialFingerprints":{"codehealthFindingId/v1":"d848736a6c2564071f0d3ee5e72d78ddecdbad6ddf74ebb608dea64c6cd3fd78"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/mod.rs:146-150 | crates/libs/windows/src/Windows/Media/mod.rs:2659-2663 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/mod.rs"},"region":{"startLine":146}}}],"partialFingerprints":{"codehealthFindingId/v1":"340a73efe8b10a2de72ab0fff5c61ccc17b09af8097b142bf87e6cf28ff35723"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/mod.rs:193-197 | crates/libs/windows/src/Windows/Media/mod.rs:2706-2710 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/mod.rs"},"region":{"startLine":193}}}],"partialFingerprints":{"codehealthFindingId/v1":"a435513896bbaa35f50cb915a3d94b24eb19b8bb3b8ad6c582b9eb63de641197"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/mod.rs:1952-1956 | crates/libs/windows/src/Windows/Media/mod.rs:2606-2610 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/mod.rs"},"region":{"startLine":1952}}}],"partialFingerprints":{"codehealthFindingId/v1":"770f873d5d39f906439935ba96ec46231ea5913dd0b73a00869379fe2f104a9e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:82-86 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:757-761 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a396eb526e1ceb9618f6bc291e58258f658e1321811a324f0564f6d3753344c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:98-102 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:773-777 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"7206e8128f88c6239517a1fe2d0928d13b69120edeb7707044235193b7d89c12"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:114-118 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:789-793 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":114}}}],"partialFingerprints":{"codehealthFindingId/v1":"46325b752831e0c676a84fddefa1a3746bacd7226618ff3c8de6494abfdb6ebc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:130-134 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:805-809 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0f4d87eb6077928913928cee4ad6857352f10926de29d32d9c51a811cf09a11"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:145-149 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:820-824 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":145}}}],"partialFingerprints":{"codehealthFindingId/v1":"09a7e7634b1e9798b1e684fb49e785fb2e4001460765785ff2cb3c92553194ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:249-253 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:679-683 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":249}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd10260d1fcf609a90f2c454dec07316c86159e5183f259b321faf7f0b5726da"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:939-943 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2288-2292 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":939}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b924f780c9b5b0b5e433bb52142ae867fd566162aa4666a122608da6632c8a8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:946-950 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2295-2299 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":946}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8d43393025dbfd66e3d140aa0731f4f48430abc13a556a571dd511b07fa383a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:967-971 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2316-2320 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":967}}}],"partialFingerprints":{"codehealthFindingId/v1":"d086fc3313ee910770edaffa879bf6a9ad4636664c9720e75aaa72b5c7938e9a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:979-983 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2328-2332 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":979}}}],"partialFingerprints":{"codehealthFindingId/v1":"25fba267e198a1b2b2c74f8b865cbb6badae1d1fa762efe88808d6093bbba47a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:986-990 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2335-2339 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":986}}}],"partialFingerprints":{"codehealthFindingId/v1":"681c75ee347513676d719e601279d9ae0120d67daefbbb7261dc4472c58da352"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:993-997 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2342-2346 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":993}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea25307ccbabf3a2ee8ca6be0964ac47804b632eedc5122249d7ec04687a4103"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:497-501 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:511-515 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Proximity/mod.rs"},"region":{"startLine":497}}}],"partialFingerprints":{"codehealthFindingId/v1":"4fff38a61a54ff6023511da6503ae89a3ebe17a500061b69f312160c2c52baf2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2281-2285 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3832-3836 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2281}}}],"partialFingerprints":{"codehealthFindingId/v1":"48587e8207514de53dc4100b9a33f7cf45e1324886bb78391798831b29314c44"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2506-2510 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4037-4041 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2506}}}],"partialFingerprints":{"codehealthFindingId/v1":"6694a3ebd447b673f53879fe1ade64e335c37f15199211e7f4b51b809951b535"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3651-3655 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:4007-4011 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":3651}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf02888dd220c7276a26324cb50a830c5b3d41c2e87f7df81e862f97277be5a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3658-3662 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:4014-4018 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":3658}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f7908bc5dbd47880ddeb3c11e8522067df06da7d042adc200edc2369d87649a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3665-3669 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:4021-4025 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":3665}}}],"partialFingerprints":{"codehealthFindingId/v1":"94cdd404456b6cc4f8fb8675dd37c64d58e58dbbaf0afb252eb62f4ba3cc2099"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3672-3676 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:4028-4032 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":3672}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ee84887939a98d260f7b181a36c0843275e294282e1084c62bce745658e091e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3679-3683 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:4035-4039 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":3679}}}],"partialFingerprints":{"codehealthFindingId/v1":"03213f6280d31a50d09bb574f7314c83e001b072e7614f19d4c7175ba6b9a0fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3690-3694 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:4046-4050 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":3690}}}],"partialFingerprints":{"codehealthFindingId/v1":"95e528a63907e50c3fde8458dd3938278d4f3595bcb3cb173ac8f019cf0ea2ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:138-142 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:754-758 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d896646f1c5162cfac30f0b7ca48814b3410fdd7d32b5de8d8d2c18b5b38fc4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:152-156 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:536-540 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs"},"region":{"startLine":152}}}],"partialFingerprints":{"codehealthFindingId/v1":"0fd85cca02a30242d774e5e9cdc2d3db43235fd2fd89cbb652d2fd859e5f2521"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:142-146 | crates/libs/windows/src/Windows/Storage/mod.rs:4383-4387 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a0292c7ede2bd361bf185c19d7736a73715adc7d823b21c8164c2d77cd2d997"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:206-210 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:783-787 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":206}}}],"partialFingerprints":{"codehealthFindingId/v1":"7606420d3228865f453bb6f71a78aa4895e69e7af43740e6d568146debbf54de"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:213-217 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:790-794 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":213}}}],"partialFingerprints":{"codehealthFindingId/v1":"01b5a38f982a38bf6178a20c08ac8ab638240d17b6d82be633df7da5a0c09f75"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:220-224 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:797-801 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":220}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1034e19ad49b379052b3b36d6713f3deb08ee98cba19778c50dd3d0299a559b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:600-604 | crates/libs/windows/src/Windows/Storage/mod.rs:4747-4751 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":600}}}],"partialFingerprints":{"codehealthFindingId/v1":"212713a66c0fd18d238103933454b6c4b10f5983a5728800ddf2ec448f10a1c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:607-611 | crates/libs/windows/src/Windows/Storage/mod.rs:4754-4758 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":607}}}],"partialFingerprints":{"codehealthFindingId/v1":"bee2049f48edce5e728f5c2ca1cdaf5aeb4aecb6bdffec05466657a892588347"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:614-618 | crates/libs/windows/src/Windows/Storage/mod.rs:4761-4765 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":614}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b5d4f2db0ede80a6cfe71a8b3ee786496ec418eba4395dc46dd9e28e71bd116"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:631-635 | crates/libs/windows/src/Windows/Storage/mod.rs:4778-4782 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":631}}}],"partialFingerprints":{"codehealthFindingId/v1":"a428988b9adce2d7b8b03dc5f73a8892ddee689c21d891301fa7152cd5ddcec7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:638-642 | crates/libs/windows/src/Windows/Storage/mod.rs:4785-4789 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":638}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e9daf15334830d56c312598c107538b7fe01452f12bf16fc9f09216436fa293"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:655-659 | crates/libs/windows/src/Windows/Storage/mod.rs:4802-4806 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":655}}}],"partialFingerprints":{"codehealthFindingId/v1":"0208b0e021818106f45af86a8ced5c4deff7c875cf18c5aaed26e8e1e19563d8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:681-685 | crates/libs/windows/src/Windows/Storage/mod.rs:4828-4832 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":681}}}],"partialFingerprints":{"codehealthFindingId/v1":"f25d3a6822c2a884c71a43d52bc163fac134c561a11affd760aeb3e6dc9c99d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:695-699 | crates/libs/windows/src/Windows/Storage/mod.rs:4842-4846 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":695}}}],"partialFingerprints":{"codehealthFindingId/v1":"6114e44291e091e8ed82a105a6c7d0777d2d96630bae17de8ea7d32dccda2344"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:712-716 | crates/libs/windows/src/Windows/Storage/mod.rs:4859-4863 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":712}}}],"partialFingerprints":{"codehealthFindingId/v1":"1070328890a9154b5216f359c829b33d4c90361b3243e7158f8283401b748686"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:719-723 | crates/libs/windows/src/Windows/Storage/mod.rs:4866-4870 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":719}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ebd0e75d91cebffe930a741eadedbac6ed456c780f5fa8a5e3679a06c51b3b3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:726-730 | crates/libs/windows/src/Windows/Storage/mod.rs:4873-4877 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":726}}}],"partialFingerprints":{"codehealthFindingId/v1":"b543212695e5c21c704e3789869920165e72b60829adeb8dc3380541ad34a83d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/Streams/mod.rs:133-137 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:887-891 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":133}}}],"partialFingerprints":{"codehealthFindingId/v1":"db0b7ef0e8bf772e87f192b433c84ee271007112064cc4b528fa69a46722cfb2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/Streams/mod.rs:217-221 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:971-975 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Streams/mod.rs"},"region":{"startLine":217}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2803add61058a74609aba04897180f0926b16c1fa94a142072d3d94708ef457"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/mod.rs:1500-1504 | crates/libs/windows/src/Windows/Storage/mod.rs:4291-4295 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":1500}}}],"partialFingerprints":{"codehealthFindingId/v1":"a375bc7a127fa7869444bec0da50285e0b4c496865ba2a5a028e0b50862d83a0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/mod.rs:4607-4611 | crates/libs/windows/src/Windows/Storage/mod.rs:5038-5042 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":4607}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2e6f79e3ff9dac6b47870cbec1438cc122a3435a27f1b8ef12f2fd0f82d8aaf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1151-1155 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1332-1336 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs"},"region":{"startLine":1151}}}],"partialFingerprints":{"codehealthFindingId/v1":"c020091b226454cd99d1fa00bfab773d83c218d80ea1450388e1275cf335d61b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/System/mod.rs:1317-1321 | crates/libs/windows/src/Windows/System/mod.rs:3171-3175 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/mod.rs"},"region":{"startLine":1317}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc0f48fbc0ec16b9a5138c89e4f41a6813d51ad0ba06aea49c6e0252cdf6ade2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:345-349 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:462-466 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs"},"region":{"startLine":345}}}],"partialFingerprints":{"codehealthFindingId/v1":"93fae830f085fc415e6c9e9d54a014996eea3b34233377ff87d362e60e9c4db4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:352-356 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:469-473 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs"},"region":{"startLine":352}}}],"partialFingerprints":{"codehealthFindingId/v1":"3644ed3e4afacbcdbc0d06462efeec9d059942eb20b25cbb1b01d1f0e86c2d53"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:359-363 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:476-480 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs"},"region":{"startLine":359}}}],"partialFingerprints":{"codehealthFindingId/v1":"4640ebb39e2eb6ad7ab872151ace31e52acdbfe3161b181edfad0ddeba24fc5f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:366-370 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:483-487 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs"},"region":{"startLine":366}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfc97974752e3bd0b56a5e8423162f834a5c83365d826506e4cf646b8ac83a0c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:373-377 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:490-494 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs"},"region":{"startLine":373}}}],"partialFingerprints":{"codehealthFindingId/v1":"0eba40f7e7c0054a7cbdefb59b380c6cdda963bc85e9676d250c304d59384203"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/Preview/mod.rs:136-140 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:165-169 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/Preview/mod.rs"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"0aeb0af358165ccec44085b2da411b946b8e037b8f93f2bfb3a375f2dab66e99"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:307-311 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:578-582 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":307}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a1bba9aa8f5d9bc9e55765b41b567b85f10ecfd9d8e4f17f43bd341a64acf03"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:322-326 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:593-597 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":322}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cc5cacb028ca28653e535a8ee3c0a0c9f2e34949ddcf2884d6b0641e3e039e7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:415-419 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1701-1705 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":415}}}],"partialFingerprints":{"codehealthFindingId/v1":"eed710c3e5484f8fd5982aa242261acbd711a80094de009c6f3d98789349306e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:1461-1465 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3464-3468 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1461}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea7a364eac5f2a5fced167a5095eeb8e6425b55b536d6c3e41d1cb2d2f6bd3a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:1475-1479 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3478-3482 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1475}}}],"partialFingerprints":{"codehealthFindingId/v1":"01e84626f6c90d30e9ee0b9749e35d511df9796ede3b032f69b92ab3a9f0c24f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:1629-1633 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3632-3636 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1629}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a96ed41b7f98a26fd27e6e274d08927e55f178d26fe0000e9257892ed56c8bb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:1657-1661 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3660-3664 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1657}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a1162c712ef3169aa7c5aeb1e14983a591a391170b447a3d209dfa47fdaee0d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:1759-1763 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:395-399 \u2014 \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 33 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1759}}}],"partialFingerprints":{"codehealthFindingId/v1":"78aeafd3316ff0c8e2ab2b0aa8b59b676032111c911e82c2dc85852333d296a8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:873-877 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2798-2802 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":873}}}],"partialFingerprints":{"codehealthFindingId/v1":"b35705cf414872683c0c97a1b2c944d1cd8c49eee8c6578e058677bd0f5b6d6c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2234-2238 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2357-2361 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":2234}}}],"partialFingerprints":{"codehealthFindingId/v1":"eac5546b5758c4a89247b0aa62d8598eb85cc9fce4258dca1faac593a11381c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2241-2245 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2364-2368 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":2241}}}],"partialFingerprints":{"codehealthFindingId/v1":"f17530a1537cf095413de3c4cf367cf6d854e10bcddd18d6a4c18ccefd08d11c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2252-2256 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2375-2379 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":2252}}}],"partialFingerprints":{"codehealthFindingId/v1":"d88da6d3c114cfc8e4eabfe58813de24866dadf95f69f02386c0835e28c8228c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2263-2267 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2386-2390 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":2263}}}],"partialFingerprints":{"codehealthFindingId/v1":"5602e294c58082fc23f56a00b0390f52e1fc9f1ea6090de9d17b8d7fd565029b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2274-2278 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2397-2401 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":2274}}}],"partialFingerprints":{"codehealthFindingId/v1":"3eb926b84b183fbd6d7bea240ff467bf12c7082fd197dc2bc232e19ff376b945"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Text/mod.rs:2815-2819 | crates/libs/windows/src/Windows/UI/Text/mod.rs:4734-4738 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":2815}}}],"partialFingerprints":{"codehealthFindingId/v1":"e73cf21eb84f6594356e511c00ca75bccdcb856e06b9dc1b7c1fcb6558a2ad17"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Text/mod.rs:2831-2835 | crates/libs/windows/src/Windows/UI/Text/mod.rs:4750-4754 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":2831}}}],"partialFingerprints":{"codehealthFindingId/v1":"716b4a46208bbd4d7d6fceba886c1f3128cb4a6410a6a1ce5ee6174da8091aa3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Text/mod.rs:3729-3733 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1529-1533 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":3729}}}],"partialFingerprints":{"codehealthFindingId/v1":"25550162d086b7f10e91aa75a3c9fd84e8f3e86c725a10cc221fa2ec7a22299c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:55-59 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:174-178 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"628324424840f6e8bce97e2a12098ad727dcbbd22b4b18baafe67c06b0651190"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:25-29 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:142-146 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"27df09f85feaaa56820a288bd5de4bedc2f6fae2fe090a09c3c25615a5cd8720"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1163-1167 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1178-1182 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":1163}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee624ee732e76597e07ede794daeb2b658c379c1de1c2189079f5feedc5ef504"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1212-1216 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1227-1231 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WebUI/mod.rs"},"region":{"startLine":1212}}}],"partialFingerprints":{"codehealthFindingId/v1":"1190332550317db9b90b9eaf13d085353c8e02729253eae7ec57dac1e4df1639"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/Syndication/mod.rs:596-600 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2595-2599 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/Syndication/mod.rs"},"region":{"startLine":596}}}],"partialFingerprints":{"codehealthFindingId/v1":"27c04932a8942d74b69aa4d726adcd268ec2643ab5a5381b5635a139b7bc7d7f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:257-261 | crates/libs/windows/src/Windows/Web/UI/mod.rs:144-148 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":257}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b82e1bc8e8c371dc31abd119324a317394b588a1e1789ed7f22e2a671e78d3b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:271-275 | crates/libs/windows/src/Windows/Web/UI/mod.rs:158-162 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":271}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba737e549936239afac472de766e067cd7ab0621ce2783fd485ff878ab81e7fb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:285-289 | crates/libs/windows/src/Windows/Web/UI/mod.rs:172-176 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":285}}}],"partialFingerprints":{"codehealthFindingId/v1":"f300066663c7daea71a965308b585c1ff51876e5340a95fbd8a74067e278c7d9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:313-317 | crates/libs/windows/src/Windows/Web/UI/mod.rs:200-204 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":313}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb60482878f753c0a69e302ae95e5dd6e166f72eb5857af962bd4e7b9e65a19f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:327-331 | crates/libs/windows/src/Windows/Web/UI/mod.rs:214-218 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":327}}}],"partialFingerprints":{"codehealthFindingId/v1":"8beb9643343d6391485700e6cdbbfa6f7d4000222fb610c1f51ddffa6d017f9f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:341-345 | crates/libs/windows/src/Windows/Web/UI/mod.rs:228-232 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":341}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c67c18d58910e5f1973b5306bdda49e9823149ca22ee8aade6f21c3e9f8b8c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:355-359 | crates/libs/windows/src/Windows/Web/UI/mod.rs:242-246 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":355}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0387fddc08969e7e02f57d3212cece1d015142e495d6640fd76d039f94057a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:369-373 | crates/libs/windows/src/Windows/Web/UI/mod.rs:256-260 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":369}}}],"partialFingerprints":{"codehealthFindingId/v1":"7bb203163293de36aea7c1a6ffba886b85c87114425dbc1ddaf92ff2a8aded99"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:383-387 | crates/libs/windows/src/Windows/Web/UI/mod.rs:270-274 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":383}}}],"partialFingerprints":{"codehealthFindingId/v1":"f55b733f2d34fa6447db3bc7c5793f5dbb779d0206729b157026ec9dfc10c7c8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:397-401 | crates/libs/windows/src/Windows/Web/UI/mod.rs:284-288 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":397}}}],"partialFingerprints":{"codehealthFindingId/v1":"951512371da5aee30994d4c4f018254ae12d56e2bc406b1abe4bdca0b0957cd2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:411-415 | crates/libs/windows/src/Windows/Web/UI/mod.rs:298-302 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":411}}}],"partialFingerprints":{"codehealthFindingId/v1":"b60d0b65cf84ce7ca96b0afcadd6eb85bb07915f71575b1a211f7dfe2263cbab"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:425-429 | crates/libs/windows/src/Windows/Web/UI/mod.rs:312-316 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":425}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ffb5857ee51515d7e6d1b06e4adf9b15aade3c0e6fb0e75c77e98f78082a800"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:439-443 | crates/libs/windows/src/Windows/Web/UI/mod.rs:326-330 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":439}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc2168c6b23b2a34ac3575cb4d22ce2e658d0b116f39c421c307ba6a08c02bb5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:453-457 | crates/libs/windows/src/Windows/Web/UI/mod.rs:340-344 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":453}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d29643277967b637acf8552bd7a6bae4aa67dad70d2d21ac81dcd8e7004b70e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:467-471 | crates/libs/windows/src/Windows/Web/UI/mod.rs:354-358 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":467}}}],"partialFingerprints":{"codehealthFindingId/v1":"2565a07a5fde54822025f89d71afb703be6071543a53ac9102797d78076598f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:481-485 | crates/libs/windows/src/Windows/Web/UI/mod.rs:368-372 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":481}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1109cbab724f5c3070266f63128bc9f11cb0870585bcfae7015c497cd8ef9ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1628-1632 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6827-6831 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":1628}}}],"partialFingerprints":{"codehealthFindingId/v1":"63f31dad5d1b336a76fda8b63e53d98cdd914bb5f73ec8a32e0ca530346c0991"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3925-3929 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5635-5639 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":3925}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a70530bff5cff565be731b341e1eae45d6a98751c309fe830326317ea9492f6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:265-269 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:583-587 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certcli/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 80 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":265}}}],"partialFingerprints":{"codehealthFindingId/v1":"f806186628b951375d32c035ddd0c78d89461076eb65e8c0b6009c755a323c25"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2640-2644 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2907-2911 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":2640}}}],"partialFingerprints":{"codehealthFindingId/v1":"c09c6092195be63e63ecdcc5db9530b74fa04eceadb062bc0201c7e72796f86c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:35732-35736 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:35969-35973 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":35732}}}],"partialFingerprints":{"codehealthFindingId/v1":"95119c4eb85b0e0ddbea6007c41306c9e25556a294170316a34c8379a92b761f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1044-1048 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1174-1178 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1044}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd6d3cd894b4d0888ddaf7f03bf19c1ae4beffdbe2d1657e350f765b906c3c15"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1051-1055 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:1181-1185 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1051}}}],"partialFingerprints":{"codehealthFindingId/v1":"f38f87e8fbf5b41ad9524e4ceb43a8b90e3a63dc6d43df97802be50fd09332a6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2203-2207 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:2632-2636 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ddraw/mod.rs"},"region":{"startLine":2203}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c96935cfd019523138b16d2505af45f24b768387c072b6cf532ca6fa0f1feed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:496-500 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:791-795 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs"},"region":{"startLine":496}}}],"partialFingerprints":{"codehealthFindingId/v1":"999d08386e3d6318875dd46a26e9a8f7133ff163c93f88257384047651f4ee85"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): crates/libs/windows/src/Windows/AI/Agents/Mcp/mod.rs:247-265 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:194-212 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Agents/Mcp/mod.rs"},"region":{"startLine":247}}}],"partialFingerprints":{"codehealthFindingId/v1":"7da737900736e763fc75e15152637d9c502cfb3cac5b822e9ba793b49512002d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2599-2616 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:225-242 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2599}}}],"partialFingerprints":{"codehealthFindingId/v1":"18e7df2e9b24165151c024e9796e46c88c39f6a17a400881f7f5d0d858cf16fb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (2\u201325 lines \u00D7 68): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2443-2444 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2846-2847 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2864-2865 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:657-681 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:192-193 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:361-362 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:379-380 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:498-499 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:743-744 | crates/libs/windows/src/Windows/Foundation/mod.rs:408-409 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1041-1042 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1059-1060 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1077-1078 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2927-2928 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1567-1568 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1197-1198 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1215-1216 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:606-607 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1345-1346 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1156-1157 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1174-1175 | crates/libs/windows/src/Windows/System/Implementation/FileExplorer/mod.rs:53-77 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2289-2313 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2524-2525 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2814-2815 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2832-2833 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2850-2851 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2868-2869 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2886-2887 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2904-2905 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2922-2923 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3255-3256 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3273-3274 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3291-3292 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3925-3926 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3943-3944 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3961-3962 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3979-3980 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3997-3998 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4015-4016 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4033-4034 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4051-4052 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4069-4070 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4087-4088 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4105-4106 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4123-4124 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4141-4142 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4159-4160 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4177-4178 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4195-4196 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4213-4214 | crates/libs/windows/src/Windows/Web/UI/mod.rs:664-665 | crates/libs/windows/src/Windows/Web/UI/mod.rs:682-683 | crates/libs/windows/src/Windows/Web/UI/mod.rs:700-701 | crates/libs/windows/src/Windows/Web/UI/mod.rs:718-719 | crates/libs/windows/src/Windows/Web/UI/mod.rs:736-737 | crates/libs/windows/src/Windows/Web/UI/mod.rs:754-755 | crates/libs/windows/src/Windows/Web/UI/mod.rs:772-773 | crates/libs/windows/src/Windows/Web/UI/mod.rs:790-791 | crates/libs/windows/src/Windows/Web/UI/mod.rs:808-809 | crates/libs/windows/src/Windows/Web/UI/mod.rs:826-827 | crates/libs/windows/src/Windows/Web/UI/mod.rs:844-845 | crates/libs/windows/src/Windows/Web/UI/mod.rs:862-863 | crates/libs/windows/src/Windows/Web/UI/mod.rs:880-881 | crates/libs/windows/src/Windows/Web/UI/mod.rs:898-899 | crates/libs/windows/src/Windows/Web/UI/mod.rs:916-917 | crates/libs/windows/src/Windows/Web/UI/mod.rs:934-935 | crates/libs/windows/src/Windows/Web/UI/mod.rs:952-953 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 3 separate duplicated blocks between them, totalling at least 43 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2443}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef26c27ebc2dc6a42c53bca67777081f04662f6368fadd903cd3f6ba5d4a480f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2259-2270 | crates/libs/windows/src/Windows/Media/mod.rs:1816-1827 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 36 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/mod.rs"},"region":{"startLine":2259}}}],"partialFingerprints":{"codehealthFindingId/v1":"12f028447a15a630e1e227098943746ac600fdd7af6cbfe3883262e4cd1e8574"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (2\u201325 lines \u00D7 82): crates/libs/windows/src/Windows/AI/Agents/Mcp/mod.rs:168-169 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:244-245 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5508-5509 | crates/libs/windows/src/Windows/Data/Json/mod.rs:199-200 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1516-1517 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:176-200 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4177-4178 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4189-4190 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4219-4220 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4231-4232 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4243-4244 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4255-4256 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4267-4268 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4279-4280 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4460-4461 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4472-4473 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4508-4509 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4520-4521 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4532-4533 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4544-4545 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4556-4557 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4568-4569 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4580-4581 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4592-4593 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4826-4827 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4838-4839 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4850-4851 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4862-4863 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4874-4875 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:4886-4887 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:695-696 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1250-1251 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:540-541 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1108-1109 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:888-889 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:906-907 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1395-1419 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1567-1568 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3536-3537 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2104-2105 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:612-613 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:772-773 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:796-797 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:982-983 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:311-312 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:945-946 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1974-1975 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1986-1987 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2658-2659 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:112-113 | crates/libs/windows/src/Windows/Media/mod.rs:571-572 | crates/libs/windows/src/Windows/Media/mod.rs:646-647 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1863-1887 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:670-671 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:682-683 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:470-471 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:488-489 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:611-612 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:629-630 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1514-1515 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1532-1533 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1120-1121 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2331-2332 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2343-2344 | crates/libs/windows/src/Windows/Storage/mod.rs:1987-1988 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2506-2507 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2771-2772 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3816-3817 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3865-3866 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4483-4507 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:528-529 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1047-1048 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1508-1509 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1520-1521 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1532-1533 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1544-1545 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:244-245 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:589-613 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:228-229 | crates/libs/windows/src/Windows/Web/UI/mod.rs:478-479 | crates/libs/windows/src/Windows/Web/UI/mod.rs:490-491 | crates/libs/windows/src/Windows/Web/UI/mod.rs:520-521 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 43 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Agents/Mcp/mod.rs"},"region":{"startLine":168}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ef55c0c4d02888d177fcaef592d2e2492f368caf5cd1f5857f65e8255f06bc0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 3): crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1285-1310 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:331-356 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2344-2369 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs"},"region":{"startLine":1285}}}],"partialFingerprints":{"codehealthFindingId/v1":"c411805591766835ceceb4640d16b2627a65935394ed40867c35abf8b28ae4f9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6108-6122 | crates/libs/windows/src/Windows/Win32/certexit/mod.rs:138-152 | crates/libs/windows/src/Windows/Win32/certpol/mod.rs:140-154 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:2026-2040 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:16132-16146 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:2523-2537 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6487-6501 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d2d/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 84 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":6108}}}],"partialFingerprints":{"codehealthFindingId/v1":"49f909828fc2f6081bba8b654db0ed0f105363a3dfa3743f2dbacbb48be6d844"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/bits/mod.rs:2409-2427 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:154-172 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bits/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 41 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bits/mod.rs"},"region":{"startLine":2409}}}],"partialFingerprints":{"codehealthFindingId/v1":"453ca96c4e560a4a50f75191dc0d1719dbc62a6a83f9a56b6f257e4b83a89c89"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7656-7674 | crates/libs/windows/src/Windows/Win32/dcomp/mod.rs:2566-2584 \u2014 \u0060crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dcomp/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 78 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs"},"region":{"startLine":7656}}}],"partialFingerprints":{"codehealthFindingId/v1":"82112e589affec0c928778ef4c83b428239ecaecc5377f5c4905dd86d4979282"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/corewindow/mod.rs:26-44 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:1365-1383 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/corewindow/mod.rs"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"3986970e8d2a94d9ea46829037510433df2c2b283ee5548541edd64b5432d6a9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (25 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:1257-1281 | crates/libs/windows/src/Windows/Win32/evr/mod.rs:76-100 \u2014 \u0060crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/evr/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs"},"region":{"startLine":1257}}}],"partialFingerprints":{"codehealthFindingId/v1":"4bf3a686a2d69ec5708f0613e0e78a970cdd10c67ba691b7897f36684ca967c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7833-7858 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11453-11478 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7833}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f83ffa0952ce746a4b1308b9a2e6e4cda29c109ced06959f3879ab35b749933"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8354-8377 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11860-11883 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:17139-17162 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":8354}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c77acba2ca3fe62be28ff425a637610df0a93b16f3a211fd034ca2634f4f658"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (2\u201319 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7598-7599 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8725-8743 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10802-10803 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12439-12457 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3949-3950 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7598}}}],"partialFingerprints":{"codehealthFindingId/v1":"d849cdb4fedb3a143e0a472d0892f4279fcab4d506d4f4f743664b7d873e4d6f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (25 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10432-10456 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:15643-15667 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 26 separate duplicated blocks between them, totalling at least 284 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d11/mod.rs"},"region":{"startLine":10432}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5a25408ab12d36ec0e46d56851dd1a108490f53580662a3184b48783ab59bb3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (31 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12119-12149 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:17398-17428 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 26 separate duplicated blocks between them, totalling at least 284 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d11/mod.rs"},"region":{"startLine":12119}}}],"partialFingerprints":{"codehealthFindingId/v1":"4cea0d15d26253ae5fd2cf70f302eed54d919bcd0764c0d585c726cdb2c07030"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (25 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:1633-1657 | crates/libs/windows/src/Windows/Win32/evr/mod.rs:137-161 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dxgi/mod.rs"},"region":{"startLine":1633}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad83ade37cbe399dbcc0953b166bfc33e911b0ab6dc5428833712c9db199f929"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/evr/mod.rs:377-395 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1858-1876 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/evr/mod.rs"},"region":{"startLine":377}}}],"partialFingerprints":{"codehealthFindingId/v1":"b19b19d8a75c1113576a732b2bcbc5ff1bfa154b6df20175328b8905ff83fc1c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (2\u201325 lines \u00D7 275): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1957-1958 | crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:78-79 | crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:90-91 | crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:102-103 | crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:114-115 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:65-66 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:228-229 | crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs:72-73 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:604-605 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:616-617 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:640-641 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:652-653 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:670-671 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:682-683 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:706-707 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:718-719 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:852-853 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:870-871 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1472-1473 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2951-2952 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1156-1157 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1079-1080 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1556-1557 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1568-1569 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2208-2209 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2226-2227 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2442-2443 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:102-103 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:114-115 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:126-127 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:144-145 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:398-399 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:416-417 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:434-435 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:598-599 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:616-617 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:646-647 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:688-689 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:833-834 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:920-921 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:932-933 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:944-945 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:956-957 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:968-969 | crates/libs/windows/src/Windows/Win32/amvideo/mod.rs:980-981 | crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:353-354 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:3061-3062 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:3073-3074 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:3109-3110 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:3818-3819 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:139-140 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1317-1318 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1626-1627 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:219-220 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:474-475 | crates/libs/windows/src/Windows/Win32/certcli/mod.rs:486-487 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:89-90 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:345-346 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:589-590 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:842-843 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1054-1055 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1274-1275 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1286-1287 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:433-434 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:773-774 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1451-1452 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2340-2341 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2584-2585 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2927-2928 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3127-3128 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3139-3140 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3175-3176 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3187-3188 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3354-3355 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3720-3721 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3756-3757 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3989-3990 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4205-4206 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4403-4404 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4769-4770 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5046-5047 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5263-5264 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5429-5430 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5597-5598 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5737-5738 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6057-6058 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6758-6759 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:7108-7109 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:7945-7946 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:8047-8048 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:9128-9129 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10015-10016 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10278-10279 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10811-10812 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11024-11025 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11407-11408 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11521-11522 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13014-13015 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13625-13626 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13637-13638 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13844-13845 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14146-14147 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14289-14290 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15329-15330 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15527-15528 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15977-15978 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:176-177 | crates/libs/windows/src/Windows/Win32/certif/mod.rs:455-456 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:328-329 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:508-509 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:544-545 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:556-557 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:568-569 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:716-717 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:740-741 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:889-890 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:961-962 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:464-465 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:476-477 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1444-1445 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1480-1481 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1552-1553 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1564-1565 | crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:391-392 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:3813-3814 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4607-4608 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5000-5001 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5141-5142 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5719-5720 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6514-6515 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6532-6533 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6667-6668 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6819-6820 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6893-6894 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7861-7862 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7999-8000 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8102-8103 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9648-9649 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9660-9661 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9678-9679 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9696-9697 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9708-9709 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10725-10726 | crates/libs/windows/src/Windows/Win32/control/mod.rs:54-55 | crates/libs/windows/src/Windows/Win32/control/mod.rs:171-172 | crates/libs/windows/src/Windows/Win32/control/mod.rs:287-288 | crates/libs/windows/src/Windows/Win32/control/mod.rs:305-306 | crates/libs/windows/src/Windows/Win32/control/mod.rs:572-573 | crates/libs/windows/src/Windows/Win32/control/mod.rs:584-585 | crates/libs/windows/src/Windows/Win32/control/mod.rs:596-597 | crates/libs/windows/src/Windows/Win32/control/mod.rs:608-609 | crates/libs/windows/src/Windows/Win32/control/mod.rs:626-627 | crates/libs/windows/src/Windows/Win32/control/mod.rs:644-645 | crates/libs/windows/src/Windows/Win32/control/mod.rs:662-663 | crates/libs/windows/src/Windows/Win32/control/mod.rs:680-681 | crates/libs/windows/src/Windows/Win32/control/mod.rs:698-699 | crates/libs/windows/src/Windows/Win32/control/mod.rs:716-717 | crates/libs/windows/src/Windows/Win32/control/mod.rs:734-735 | crates/libs/windows/src/Windows/Win32/control/mod.rs:752-753 | crates/libs/windows/src/Windows/Win32/control/mod.rs:968-969 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1159-1160 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1569-1570 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1808-1809 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1820-1821 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2112-2113 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2625-2626 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2643-2644 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2661-2662 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2679-2680 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2697-2698 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2715-2716 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2733-2734 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2751-2752 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2769-2770 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2787-2788 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2835-2836 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2853-2854 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2919-2920 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5035-5036 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2704-2705 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:1574-1575 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:290-291 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:302-303 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:314-315 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:829-830 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:883-884 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:973-974 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3138-3139 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3587-3588 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3605-3606 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3623-3624 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3641-3642 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:4486-4487 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:182-183 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:452-453 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:816-840 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1179-1180 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:324-325 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1201-1202 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1782-1783 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2657-2658 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2687-2688 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:3027-3028 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1281-1282 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1299-1300 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1317-1318 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1335-1336 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1515-1516 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1533-1534 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1714-1715 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1935-1936 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:2612-2613 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3563-3564 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4109-4110 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4127-4128 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4145-4146 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4163-4164 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4181-4182 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4199-4200 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4217-4218 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4235-4236 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4332-4333 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4644-4645 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4836-4837 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4902-4903 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5148-5149 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5232-5233 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5250-5251 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5521-5522 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5852-5853 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6688-6689 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6881-6882 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6941-6942 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7277-7278 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7289-7290 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7319-7320 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7510-7511 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7522-7523 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7534-7535 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7546-7547 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7964-7965 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7982-7983 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8147-8148 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8347-8348 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8365-8366 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8549-8550 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8567-8568 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8725-8726 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9037-9038 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9145-9146 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9163-9164 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9482-9483 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9500-9501 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9518-9519 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9668-9669 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9896-9897 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9914-9915 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10221-10222 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10498-10499 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10516-10517 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10570-10571 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10753-10754 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10933-10934 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10945-10946 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11010-11034 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11094-11095 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11112-11113 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11227-11228 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11245-11246 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:12084-12085 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:12558-12559 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:12576-12577 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:12648-12649 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:12666-12667 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:12702-12703 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 62 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1957}}}],"partialFingerprints":{"codehealthFindingId/v1":"a266b7a90ff693503f0de169bf10aec9b27a3e363acacb56379a8810dbc7aa7c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (77 lines \u00D7 132): crates/libs/metadata/src/bindings.rs:18-186 | crates/libs/sys/src/Windows/Win32/appmodel/mod.rs:167-243 | crates/libs/sys/src/Windows/Win32/bcrypt/mod.rs:205-931 | crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs:76-355 | crates/libs/sys/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/compstui/mod.rs:41-920 | crates/libs/sys/src/Windows/Win32/cryptuiapi/mod.rs:98-367 | crates/libs/sys/src/Windows/Win32/d2d/mod.rs:294-888 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3d9/mod.rs:39-2145 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbgeng/mod.rs:462-1309 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dhcpsapi/mod.rs:385-1314 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/directml/mod.rs:550-1464 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/dxva2api/mod.rs:118-426 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntcons/mod.rs:44-204 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fltuserstructures/mod.rs:9-204 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/fwptypes/mod.rs:32-292 | crates/libs/sys/src/Windows/Win32/hidpi/mod.rs:81-334 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/httpext/mod.rs:36-273 | crates/libs/sys/src/Windows/Win32/icm/mod.rs:413-612 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/imm/mod.rs:139-538 | crates/libs/sys/src/Windows/Win32/ipexport/mod.rs:50-187 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/iprtrmib/mod.rs:61-147 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mfapi/mod.rs:249-915 | crates/libs/sys/src/Windows/Win32/mfidl/mod.rs:205-487 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/minwinbase/mod.rs:42-473 | crates/libs/sys/src/Windows/Win32/mlang/mod.rs:49-142 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mmreg/mod.rs:37-2337 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/mswsock/mod.rs:71-334 | crates/libs/sys/src/Windows/Win32/nb30/mod.rs:42-252 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntddvol/mod.rs:66-181 | crates/libs/sys/src/Windows/Win32/ntdsapi/mod.rs:403-710 | crates/libs/sys/src/Windows/Win32/ntenclv/mod.rs:20-197 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/ntsecpkg/mod.rs:292-1139 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/objidl/mod.rs:108-296 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/pdh/mod.rs:281-659 | crates/libs/sys/src/Windows/Win32/poclass/mod.rs:17-389 | crates/libs/sys/src/Windows/Win32/prsht/mod.rs:117-839 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rasdlg/mod.rs:93-191 | crates/libs/sys/src/Windows/Win32/richedit/mod.rs:142-971 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/sapi/mod.rs:852-1324 | crates/libs/sys/src/Windows/Win32/schannel/mod.rs:97-688 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj/mod.rs:30-214 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/shobjidl_core/mod.rs:212-1555 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/tdh/mod.rs:72-430 | crates/libs/sys/src/Windows/Win32/traffic/mod.rs:63-223 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usb/mod.rs:24-642 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/vfw/mod.rs:240-1160 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/werapi/mod.rs:117-507 | crates/libs/sys/src/Windows/Win32/wiadef/mod.rs:154-1185 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhttp/mod.rs:487-1121 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/wininet/mod.rs:566-1379 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winsafer/mod.rs:53-165 | crates/libs/sys/src/Windows/Win32/winsock2/mod.rs:216-820 | crates/libs/sys/src/Windows/Win32/winspool/mod.rs:333-2058 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/wintrust/mod.rs:134-771 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/wmistr/mod.rs:57-324 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/sys/src/Windows/Win32/wtypesbase/mod.rs:32-197 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/windows/src/Windows/Win32/fltuserstructures/mod.rs:9-204 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/windows/src/Windows/Win32/fwptypes/mod.rs:32-292 \u2014 before extracting anything, compare \u0060crates/libs/metadata/src/bindings.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/appmodel/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 39039 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/bindings.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"2be83c377db3db5218ce9b313ff74b049670ec3e6d9b60ebd2377b5b3459992f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (25 lines \u00D7 161): crates/libs/metadata/src/bindings.rs:18-186 | crates/libs/sys/src/Windows/Win32/adtgen/mod.rs:32-137 | crates/libs/sys/src/Windows/Win32/amvideo/mod.rs:47-97 | crates/libs/sys/src/Windows/Win32/appmodel/mod.rs:167-243 | crates/libs/sys/src/Windows/Win32/authz/mod.rs:164-273 | crates/libs/sys/src/Windows/Win32/bcrypt/mod.rs:205-931 | crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs:76-355 | crates/libs/sys/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/compstui/mod.rs:41-920 | crates/libs/sys/src/Windows/Win32/cryptuiapi/mod.rs:98-367 | crates/libs/sys/src/Windows/Win32/cryptxml/mod.rs:201-385 | crates/libs/sys/src/Windows/Win32/d2d/mod.rs:294-888 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3d9/mod.rs:39-2145 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbgeng/mod.rs:462-1309 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dcommon/mod.rs:31-153 | crates/libs/sys/src/Windows/Win32/dde/mod.rs:32-64 | crates/libs/sys/src/Windows/Win32/ddeml/mod.rs:107-279 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dhcpsapi/mod.rs:385-1314 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/directml/mod.rs:550-1464 | crates/libs/sys/src/Windows/Win32/dxcore_interface/mod.rs:31-196 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/dxva2api/mod.rs:118-426 | crates/libs/sys/src/Windows/Win32/eaptypes/mod.rs:110-269 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntcons/mod.rs:44-204 | crates/libs/sys/src/Windows/Win32/evntprov/mod.rs:30-120 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fltuserstructures/mod.rs:9-204 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/fwptypes/mod.rs:32-292 | crates/libs/sys/src/Windows/Win32/hidpi/mod.rs:81-334 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/httpext/mod.rs:36-273 | crates/libs/sys/src/Windows/Win32/iads/mod.rs:57-445 | crates/libs/sys/src/Windows/Win32/icm/mod.rs:413-612 | crates/libs/sys/src/Windows/Win32/icu/mod.rs:1819-2952 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/imm/mod.rs:139-538 | crates/libs/sys/src/Windows/Win32/ipexport/mod.rs:50-187 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/iprtrmib/mod.rs:61-147 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/joystickapi/mod.rs:52-156 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mfapi/mod.rs:249-915 | crates/libs/sys/src/Windows/Win32/mfidl/mod.rs:205-487 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/minwinbase/mod.rs:42-473 | crates/libs/sys/src/Windows/Win32/mlang/mod.rs:49-142 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mmreg/mod.rs:37-2337 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/msctf/mod.rs:61-250 | crates/libs/sys/src/Windows/Win32/mswsock/mod.rs:71-334 | crates/libs/sys/src/Windows/Win32/nb30/mod.rs:42-252 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntddser/mod.rs:85-202 | crates/libs/sys/src/Windows/Win32/ntddvol/mod.rs:66-181 | crates/libs/sys/src/Windows/Win32/ntdsapi/mod.rs:403-710 | crates/libs/sys/src/Windows/Win32/ntenclv/mod.rs:20-197 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/ntsecpkg/mod.rs:292-1139 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/objidl/mod.rs:108-296 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/pdh/mod.rs:281-659 | crates/libs/sys/src/Windows/Win32/poclass/mod.rs:17-389 | crates/libs/sys/src/Windows/Win32/powrprof/mod.rs:216-340 | crates/libs/sys/src/Windows/Win32/propidlbase/mod.rs:174-230 | crates/libs/sys/src/Windows/Win32/prsht/mod.rs:117-839 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rasdlg/mod.rs:93-191 | crates/libs/sys/src/Windows/Win32/richedit/mod.rs:142-971 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/sapi/mod.rs:852-1324 | crates/libs/sys/src/Windows/Win32/schannel/mod.rs:97-688 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj/mod.rs:30-214 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/shobjidl_core/mod.rs:212-1555 | crates/libs/sys/src/Windows/Win32/shtypes/mod.rs:102-126 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/sti/mod.rs:40-188 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/tdh/mod.rs:72-430 | crates/libs/sys/src/Windows/Win32/tlhelp32/mod.rs:88-158 | crates/libs/sys/src/Windows/Win32/traffic/mod.rs:63-223 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usb/mod.rs:24-642 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/vfw/mod.rs:240-1160 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/werapi/mod.rs:117-507 | crates/libs/sys/src/Windows/Win32/wiadef/mod.rs:154-1185 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincontypes/mod.rs:10-89 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhttp/mod.rs:487-1121 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/wininet/mod.rs:566-1379 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winldap/mod.rs:498-626 | crates/libs/sys/src/Windows/Win32/winnls/mod.rs:311-533 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winperf/mod.rs:93-185 | crates/libs/sys/src/Windows/Win32/winsafer/mod.rs:53-165 | crates/libs/sys/src/Windows/Win32/winscard/mod.rs:327-422 | crates/libs/sys/src/Windows/Win32/winsock2/mod.rs:216-820 | crates/libs/sys/src/Windows/Win32/winspool/mod.rs:333-2058 | crates/libs/sys/src/Windows/Win32/winsvc/mod.rs:349-657 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/wintrust/mod.rs:134-771 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/wmistr/mod.rs:57-324 | crates/libs/sys/src/Windows/Win32/wmsdkidl/mod.rs:54-401 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/sys/src/Windows/Win32/wtypesbase/mod.rs:32-197 | crates/libs/windows/src/Windows/Win32/adtgen/mod.rs:32-137 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/windows/src/Windows/Win32/eaptypes/mod.rs:110-269 | crates/libs/windows/src/Windows/Win32/fltuserstructures/mod.rs:9-204 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/windows/src/Windows/Win32/fwptypes/mod.rs:32-292 \u2014 before extracting anything, compare \u0060crates/libs/metadata/src/bindings.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/appmodel/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 39039 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/bindings.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a6d71d5d2e48c17cdbd3de39a9c58e462636e8bf75b4e3f9327170b94ae823e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (635 lines \u00D7 36): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 25 separate duplicated blocks between them, totalling at least 325325 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ecc0c0e5c2e07c6b19984ad0d6323413fcf5ede780ededb592f2eae743ddb6c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (268 lines \u00D7 87): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs:76-355 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/compstui/mod.rs:41-920 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3d9/mod.rs:39-2145 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbgeng/mod.rs:462-1309 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dhcpsapi/mod.rs:385-1314 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntdsapi/mod.rs:403-710 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/ntsecpkg/mod.rs:292-1139 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/pdh/mod.rs:281-659 | crates/libs/sys/src/Windows/Win32/prsht/mod.rs:117-839 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/schannel/mod.rs:97-688 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usb/mod.rs:24-642 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/werapi/mod.rs:117-507 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/wininet/mod.rs:566-1379 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winspool/mod.rs:333-2058 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/wmistr/mod.rs:57-324 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 91091 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e241ce15cce0b3601d5e865c5fef73976c3dfdbb0ac39b44e1ffba61e6f5633"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (254 lines \u00D7 96): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs:76-355 | crates/libs/sys/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/compstui/mod.rs:41-920 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3d9/mod.rs:39-2145 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbgeng/mod.rs:462-1309 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dhcpsapi/mod.rs:385-1314 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/dxva2api/mod.rs:118-426 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/hidpi/mod.rs:81-334 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/mswsock/mod.rs:71-334 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntdsapi/mod.rs:403-710 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/ntsecpkg/mod.rs:292-1139 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/pdh/mod.rs:281-659 | crates/libs/sys/src/Windows/Win32/prsht/mod.rs:117-839 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/schannel/mod.rs:97-688 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/shobjidl_core/mod.rs:212-1555 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/tdh/mod.rs:72-430 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usb/mod.rs:24-642 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/vfw/mod.rs:240-1160 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/werapi/mod.rs:117-507 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/wininet/mod.rs:566-1379 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winsock2/mod.rs:216-820 | crates/libs/sys/src/Windows/Win32/winspool/mod.rs:333-2058 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/wmistr/mod.rs:57-324 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 91091 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"63af69bed889cb2e7606c527591959d3f57459041c25f08afcca4de246511350"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (483 lines \u00D7 51): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"94911fd2fc919275b1bd2810d91d836e38ed5c6017ebe979ecb0a5bf0c781df1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (635 lines \u00D7 43): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 21 separate duplicated blocks between them, totalling at least 273273 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"81d4546ec7974827f7d02c0c9d8376956a8203d87ba3faf4882e713053e42653"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (2034 lines \u00D7 13): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"037f66790cdf27bf3e20e4d907efff31543e5d4eb75f6497b346bbcfb041237d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (306 lines \u00D7 66): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff4bd5a660151832dc0fa99fa785947947834b7c1cc736204e86610079cd4c1c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (296 lines \u00D7 82): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/compstui/mod.rs:41-920 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3d9/mod.rs:39-2145 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbgeng/mod.rs:462-1309 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dhcpsapi/mod.rs:385-1314 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntdsapi/mod.rs:403-710 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/prsht/mod.rs:117-839 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/schannel/mod.rs:97-688 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usb/mod.rs:24-642 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/werapi/mod.rs:117-507 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winspool/mod.rs:333-2058 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd88f8f3c00d74873bd929e4d2d7bf1d023bcd30b564548f60fdbef771a900f5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (87 lines \u00D7 117): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs:76-355 | crates/libs/sys/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/compstui/mod.rs:41-920 | crates/libs/sys/src/Windows/Win32/cryptuiapi/mod.rs:98-367 | crates/libs/sys/src/Windows/Win32/d2d/mod.rs:294-888 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3d9/mod.rs:39-2145 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbgeng/mod.rs:462-1309 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dhcpsapi/mod.rs:385-1314 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/dxva2api/mod.rs:118-426 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fltuserstructures/mod.rs:9-204 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/fwptypes/mod.rs:32-292 | crates/libs/sys/src/Windows/Win32/hidpi/mod.rs:81-334 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/iprtrmib/mod.rs:61-147 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mfapi/mod.rs:249-915 | crates/libs/sys/src/Windows/Win32/mfidl/mod.rs:205-487 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/minwinbase/mod.rs:42-473 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/mswsock/mod.rs:71-334 | crates/libs/sys/src/Windows/Win32/nb30/mod.rs:42-252 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntddvol/mod.rs:66-181 | crates/libs/sys/src/Windows/Win32/ntdsapi/mod.rs:403-710 | crates/libs/sys/src/Windows/Win32/ntenclv/mod.rs:20-197 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/ntsecpkg/mod.rs:292-1139 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/objidl/mod.rs:108-296 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/pdh/mod.rs:281-659 | crates/libs/sys/src/Windows/Win32/poclass/mod.rs:17-389 | crates/libs/sys/src/Windows/Win32/prsht/mod.rs:117-839 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rasdlg/mod.rs:93-191 | crates/libs/sys/src/Windows/Win32/richedit/mod.rs:142-971 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/schannel/mod.rs:97-688 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/shobjidl_core/mod.rs:212-1555 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/tdh/mod.rs:72-430 | crates/libs/sys/src/Windows/Win32/traffic/mod.rs:63-223 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usb/mod.rs:24-642 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/vfw/mod.rs:240-1160 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/werapi/mod.rs:117-507 | crates/libs/sys/src/Windows/Win32/wiadef/mod.rs:154-1185 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhttp/mod.rs:487-1121 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/wininet/mod.rs:566-1379 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winsock2/mod.rs:216-820 | crates/libs/sys/src/Windows/Win32/winspool/mod.rs:333-2058 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/wintrust/mod.rs:134-771 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/wmistr/mod.rs:57-324 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/windows/src/Windows/Win32/fltuserstructures/mod.rs:9-204 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/windows/src/Windows/Win32/fwptypes/mod.rs:32-292 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 91091 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebe464b8cf0e3c27e24e63debead41e55cd6608c8512bc97b3105a31d92a95de"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (296 lines \u00D7 72): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"4266c4b982c302d8f46139981479d75f08099a33f4fcacce644c8a8fa6f01d8c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 27): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 28 separate duplicated blocks between them, totalling at least 364364 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f0165c52ec000879de6532447c0a4b1a302f0f72a7cde56ef42afd25f0d4c8f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (3278 lines \u00D7 10): crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 45 separate duplicated blocks between them, totalling at least 585585 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":161}}}],"partialFingerprints":{"codehealthFindingId/v1":"82b1638ab97855f7469ba23171abfa18ecdf01bdf56cfa7c79c9121339056c12"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 20): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"c57a9ef068de7fce759e765e403c5a9b2a3b20bf5896415ed10b5a31163c2f54"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6383 lines \u00D7 5): crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/ntddk/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 50 separate duplicated blocks between them, totalling at least 650650 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs"},"region":{"startLine":442}}}],"partialFingerprints":{"codehealthFindingId/v1":"520350e5792d906b8e1860203da0e09fb6115d5494898411dbf4181f496acd69"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (2034 lines \u00D7 14): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"445b4c3fca629d0722bc525e4dc58d6dd2ae7e91a2212549de3025db2dd6ece1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (296 lines \u00D7 77): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbgeng/mod.rs:462-1309 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dhcpsapi/mod.rs:385-1314 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/prsht/mod.rs:117-839 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usb/mod.rs:24-642 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/werapi/mod.rs:117-507 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"26644f4967ee55a6b6be8da92d3b93f740c1be93d10e3cf8114ccac99b88e739"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 24): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ccd759beed7fa4677e544a14341e1061c42dc71c771a3a4b7ee30430d021dbe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (71 lines \u00D7 145): crates/libs/metadata/src/bindings.rs:18-186 | crates/libs/sys/src/Windows/Win32/appmodel/mod.rs:167-243 | crates/libs/sys/src/Windows/Win32/bcrypt/mod.rs:205-931 | crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs:76-355 | crates/libs/sys/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/compstui/mod.rs:41-920 | crates/libs/sys/src/Windows/Win32/cryptuiapi/mod.rs:98-367 | crates/libs/sys/src/Windows/Win32/d2d/mod.rs:294-888 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3d9/mod.rs:39-2145 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbgeng/mod.rs:462-1309 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dcommon/mod.rs:31-153 | crates/libs/sys/src/Windows/Win32/ddeml/mod.rs:107-279 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dhcpsapi/mod.rs:385-1314 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/directml/mod.rs:550-1464 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/dxva2api/mod.rs:118-426 | crates/libs/sys/src/Windows/Win32/eaptypes/mod.rs:110-269 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntcons/mod.rs:44-204 | crates/libs/sys/src/Windows/Win32/evntprov/mod.rs:30-120 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fltuserstructures/mod.rs:9-204 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/fwptypes/mod.rs:32-292 | crates/libs/sys/src/Windows/Win32/hidpi/mod.rs:81-334 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/httpext/mod.rs:36-273 | crates/libs/sys/src/Windows/Win32/icm/mod.rs:413-612 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/imm/mod.rs:139-538 | crates/libs/sys/src/Windows/Win32/ipexport/mod.rs:50-187 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/iprtrmib/mod.rs:61-147 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/joystickapi/mod.rs:52-156 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mfapi/mod.rs:249-915 | crates/libs/sys/src/Windows/Win32/mfidl/mod.rs:205-487 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/minwinbase/mod.rs:42-473 | crates/libs/sys/src/Windows/Win32/mlang/mod.rs:49-142 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mmreg/mod.rs:37-2337 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/mswsock/mod.rs:71-334 | crates/libs/sys/src/Windows/Win32/nb30/mod.rs:42-252 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntddser/mod.rs:85-202 | crates/libs/sys/src/Windows/Win32/ntddvol/mod.rs:66-181 | crates/libs/sys/src/Windows/Win32/ntdsapi/mod.rs:403-710 | crates/libs/sys/src/Windows/Win32/ntenclv/mod.rs:20-197 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/ntsecpkg/mod.rs:292-1139 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/objidl/mod.rs:108-296 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/pdh/mod.rs:281-659 | crates/libs/sys/src/Windows/Win32/poclass/mod.rs:17-389 | crates/libs/sys/src/Windows/Win32/prsht/mod.rs:117-839 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rasdlg/mod.rs:93-191 | crates/libs/sys/src/Windows/Win32/richedit/mod.rs:142-971 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/sapi/mod.rs:852-1324 | crates/libs/sys/src/Windows/Win32/schannel/mod.rs:97-688 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj/mod.rs:30-214 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/shobjidl_core/mod.rs:212-1555 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/sti/mod.rs:40-188 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/tdh/mod.rs:72-430 | crates/libs/sys/src/Windows/Win32/tlhelp32/mod.rs:88-158 | crates/libs/sys/src/Windows/Win32/traffic/mod.rs:63-223 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usb/mod.rs:24-642 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/vfw/mod.rs:240-1160 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/werapi/mod.rs:117-507 | crates/libs/sys/src/Windows/Win32/wiadef/mod.rs:154-1185 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhttp/mod.rs:487-1121 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/wininet/mod.rs:566-1379 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winldap/mod.rs:498-626 | crates/libs/sys/src/Windows/Win32/winnls/mod.rs:311-533 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winsafer/mod.rs:53-165 | crates/libs/sys/src/Windows/Win32/winscard/mod.rs:327-422 | crates/libs/sys/src/Windows/Win32/winsock2/mod.rs:216-820 | crates/libs/sys/src/Windows/Win32/winspool/mod.rs:333-2058 | crates/libs/sys/src/Windows/Win32/winsvc/mod.rs:349-657 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/wintrust/mod.rs:134-771 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/wmistr/mod.rs:57-324 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/sys/src/Windows/Win32/wtypesbase/mod.rs:32-197 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/windows/src/Windows/Win32/eaptypes/mod.rs:110-269 | crates/libs/windows/src/Windows/Win32/fltuserstructures/mod.rs:9-204 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/windows/src/Windows/Win32/fwptypes/mod.rs:32-292 \u2014 before extracting anything, compare \u0060crates/libs/metadata/src/bindings.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/appmodel/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 39039 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/bindings.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e5b7198cb6c2e16d3822ad9d3a15a0603157a35026ed0bae6c4439c941ebb12"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (635 lines \u00D7 40): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 25 separate duplicated blocks between them, totalling at least 325325 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d24e6be43ce42743aea01e8897b564ede5ecb6f3057abe06ae1a288ec3ba91b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (483 lines \u00D7 55): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"c842c9b89ae2165e40bd0be06475472ce5561abdf78856309e43ab42afb99b53"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 32): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 28 separate duplicated blocks between them, totalling at least 364364 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"96013eab8e74ebb1a9503c40eba172175c262d03336e8dbf99692cc7d69f71a2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (391 lines \u00D7 60): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"f28d30cc739657789f9ed59753a4906f0b1f671faab4a2e5d202a3412cdb2bda"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (483 lines \u00D7 52): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"203e84cbc934e4617c64033b50c64586a1d0eb4eb130894e0de62ca71c6b3281"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (547 lines \u00D7 47): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 21 separate duplicated blocks between them, totalling at least 273273 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcfdef688b115847ac438f47e79d928bedbc65c50590838950d98646696e60b3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (296 lines \u00D7 71): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"c067fb302864755a2df81881f5c1d0b33adcb2cb55993c443684d1d841d24d20"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5977 lines \u00D7 6): crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 49 separate duplicated blocks between them, totalling at least 637637 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs"},"region":{"startLine":442}}}],"partialFingerprints":{"codehealthFindingId/v1":"52b51690dbc74768bfdd96c3302096246e8a1e7d86d4fdf210988f65cd5ab0ca"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (116 lines \u00D7 103): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs:76-355 | crates/libs/sys/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/compstui/mod.rs:41-920 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3d9/mod.rs:39-2145 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbgeng/mod.rs:462-1309 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dhcpsapi/mod.rs:385-1314 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/dxva2api/mod.rs:118-426 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/hidpi/mod.rs:81-334 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/minwinbase/mod.rs:42-473 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/mswsock/mod.rs:71-334 | crates/libs/sys/src/Windows/Win32/nb30/mod.rs:42-252 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntddvol/mod.rs:66-181 | crates/libs/sys/src/Windows/Win32/ntdsapi/mod.rs:403-710 | crates/libs/sys/src/Windows/Win32/ntenclv/mod.rs:20-197 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/ntsecpkg/mod.rs:292-1139 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/objidl/mod.rs:108-296 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/pdh/mod.rs:281-659 | crates/libs/sys/src/Windows/Win32/poclass/mod.rs:17-389 | crates/libs/sys/src/Windows/Win32/prsht/mod.rs:117-839 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/schannel/mod.rs:97-688 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/shobjidl_core/mod.rs:212-1555 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/tdh/mod.rs:72-430 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usb/mod.rs:24-642 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/vfw/mod.rs:240-1160 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/werapi/mod.rs:117-507 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/wininet/mod.rs:566-1379 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winsock2/mod.rs:216-820 | crates/libs/sys/src/Windows/Win32/winspool/mod.rs:333-2058 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/wintrust/mod.rs:134-771 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/wmistr/mod.rs:57-324 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/bthledef/mod.rs:28-326 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/bluetoothapis/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 91091 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"46cc5bc50db6109687f900e9ef035967783adf4b2053676e7e61db70c4c9c3f5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 23): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f4207c2b51ec9b2003a8fcd6e6f91912677dce90c838f6ae20bed5ce5a8aa6a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 26): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"859bdf7d5177fba45a5d60e0750138598a28c47dc5f9da62d6a4c0060f4a9fba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (547 lines \u00D7 46): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 21 separate duplicated blocks between them, totalling at least 273273 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a91bf9708e951838b18672a3354b7cb503e95c2f2a54958e4944069cd05e1b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 17): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"45a960692956a67f0f126f155618de1fe1cba9978edc4ec392f9e75b756d94e2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 22): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"7af0a1a8d81757407ebac6867520432105d04723cdbab172767248450514d50a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 25): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb1cf4abd1647a05130d6541801f2527aee1d61fb2872886d1e286d52159d2d8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (3278 lines \u00D7 9): crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 49 separate duplicated blocks between them, totalling at least 637637 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs"},"region":{"startLine":442}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab64676ef127b04a6c31cfda3e35aca43836ce08c046755417e0c94196ab56e9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 18): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fedabf628b7ad684eb3b1d163d5d042a57e0f02e75582337b9cc35c217f78e8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (268 lines \u00D7 84): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/commctrl/mod.rs:910-4335 | crates/libs/sys/src/Windows/Win32/compstui/mod.rs:41-920 | crates/libs/sys/src/Windows/Win32/d3d10/mod.rs:122-1895 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3d9/mod.rs:39-2145 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbgeng/mod.rs:462-1309 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ddraw/mod.rs:71-1232 | crates/libs/sys/src/Windows/Win32/dhcpsapi/mod.rs:385-1314 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/dxgi/mod.rs:31-678 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/evntrace/mod.rs:96-1407 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/http/mod.rs:139-1214 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipmib/mod.rs:59-516 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/iptypes/mod.rs:18-554 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/msacm/mod.rs:112-502 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntdsapi/mod.rs:403-710 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/ntsecpkg/mod.rs:292-1139 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/oaidl/mod.rs:11-686 | crates/libs/sys/src/Windows/Win32/oledb/mod.rs:193-2096 | crates/libs/sys/src/Windows/Win32/prsht/mod.rs:117-839 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/schannel/mod.rs:97-688 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shellapi/mod.rs:365-1161 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/sspi/mod.rs:654-1190 | crates/libs/sys/src/Windows/Win32/strmif/mod.rs:33-1169 | crates/libs/sys/src/Windows/Win32/tcpmib/mod.rs:15-320 | crates/libs/sys/src/Windows/Win32/udpmib/mod.rs:11-306 | crates/libs/sys/src/Windows/Win32/usb/mod.rs:24-642 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/usbspec/mod.rs:229-1055 | crates/libs/sys/src/Windows/Win32/vds/mod.rs:12-1807 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdbgexts/mod.rs:71-1067 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/werapi/mod.rs:117-507 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winspool/mod.rs:333-2058 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/wmistr/mod.rs:57-324 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"570a418d226b1102a632e446bc58b7efcdcbfb7280bdc5edf5dc8b0e954e0928"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5977 lines \u00D7 7): crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 49 separate duplicated blocks between them, totalling at least 637637 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs"},"region":{"startLine":442}}}],"partialFingerprints":{"codehealthFindingId/v1":"eeb552c9b10bff3c49bb5e5f4970c13937706e715bd09e5e8f8f50b304aa239e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 21): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d0fe98ee0c0ce517aa7d3e822f7f7f38a5ec08b1e7ff8e2bb43b88c97af200d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (635 lines \u00D7 41): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 25 separate duplicated blocks between them, totalling at least 325325 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6c47d853b77de5e841928f61ed1d50ef5b094ede029fe42253f6414c0b4d0ba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (2034 lines \u00D7 12): crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 45 separate duplicated blocks between them, totalling at least 585585 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":161}}}],"partialFingerprints":{"codehealthFindingId/v1":"003e9d3e237e26514b2c1d3aa7914baebf0fa23f774e733e44f002759729d87e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (635 lines \u00D7 38): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 25 separate duplicated blocks between them, totalling at least 325325 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"61ca18ec38a145c6eb36ac727ec048bbc37f6f1ad1b299c8f78f1c0bb2f1f8ca"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9111 lines \u00D7 4): crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/ntddk/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/wdm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 51 separate duplicated blocks between them, totalling at least 663663 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/ntddk/mod.rs"},"region":{"startLine":175}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cfa1b63128c7ea3075d45c6a38d2c5d86247f8a2c7ce788194e91c54bef7aa4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (2034 lines \u00D7 16): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c3747038592afe42aed5a64272481409e96dc9a7c9ff9df7849f88c238348b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 19): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"4340ee2b1eebad0197096a556c4a07a58c034b36d661349aaa6cebf7d05af36b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (3278 lines \u00D7 8): crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 49 separate duplicated blocks between them, totalling at least 637637 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs"},"region":{"startLine":442}}}],"partialFingerprints":{"codehealthFindingId/v1":"e88c81c694d3d7a73e4d15021a3e9099baac1a7475e049c95a4ca9dc03678839"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (3278 lines \u00D7 11): crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 45 separate duplicated blocks between them, totalling at least 585585 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":161}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8e34191d177c66ccca42a8be26a4438f10f3c57bda8dfa428b2c7b9223a22e4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (2034 lines \u00D7 15): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 42 separate duplicated blocks between them, totalling at least 546546 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"4505c7784459fce0d3b0bed62aa503edae83df5349b0e63764c6c0fd7b7f4b89"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9111 lines \u00D7 2): crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 \u2014 \u0060crates/libs/sys/src/Windows/Win32/ntddk/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/winioctl/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 53 separate duplicated blocks between them, totalling at least 687754 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/ntddk/mod.rs"},"region":{"startLine":175}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e517d0b2049b41d304b2881803a1fcc6767f710f736fa103852cfa5798d5006"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9111 lines \u00D7 3): crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 \u2014 \u0060crates/libs/sys/src/Windows/Win32/ntddk/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/winioctl/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 53 separate duplicated blocks between them, totalling at least 687754 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/ntddk/mod.rs"},"region":{"startLine":175}}}],"partialFingerprints":{"codehealthFindingId/v1":"fde4d52f32975d2eb4da4263fcf37ef712b11bab01ea118169ec631eeea0038a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (762 lines \u00D7 28): crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 \u2014 \u0060crates/libs/sys/src/Windows/Win32/clusapi/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 28 separate duplicated blocks between them, totalling at least 364364 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/clusapi/mod.rs"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"fdf5c89d2a9e8564556623b1e38aed0019508f4de0b080e44330b96ea6231d97"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (483 lines \u00D7 53): crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/sys/src/Windows/Win32/cfapi/mod.rs:125-843 | crates/libs/sys/src/Windows/Win32/cfgmgr32/mod.rs:427-1261 | crates/libs/sys/src/Windows/Win32/clusapi/mod.rs:1024-3781 | crates/libs/sys/src/Windows/Win32/d3d11/mod.rs:51-4690 | crates/libs/sys/src/Windows/Win32/d3d12/mod.rs:161-8937 | crates/libs/sys/src/Windows/Win32/d3dkmdt/mod.rs:69-1768 | crates/libs/sys/src/Windows/Win32/d3dkmthk/mod.rs:442-6824 | crates/libs/sys/src/Windows/Win32/d3dukmdt/mod.rs:21-2188 | crates/libs/sys/src/Windows/Win32/dbghelp/mod.rs:490-1796 | crates/libs/sys/src/Windows/Win32/dinput/mod.rs:103-2238 | crates/libs/sys/src/Windows/Win32/esent/mod.rs:244-1589 | crates/libs/sys/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 | crates/libs/sys/src/Windows/Win32/iketypes/mod.rs:12-1009 | crates/libs/sys/src/Windows/Win32/ipsectypes/mod.rs:165-1149 | crates/libs/sys/src/Windows/Win32/ks/mod.rs:48-1109 | crates/libs/sys/src/Windows/Win32/ksmedia/mod.rs:22-5998 | crates/libs/sys/src/Windows/Win32/minidumpapiset/mod.rs:24-1588 | crates/libs/sys/src/Windows/Win32/mmeapi/mod.rs:219-1621 | crates/libs/sys/src/Windows/Win32/mprapi/mod.rs:223-1688 | crates/libs/sys/src/Windows/Win32/netioapi/mod.rs:296-842 | crates/libs/sys/src/Windows/Win32/ntddcdrm/mod.rs:40-600 | crates/libs/sys/src/Windows/Win32/ntddk/mod.rs:175-11721 | crates/libs/sys/src/Windows/Win32/ntddmmc/mod.rs:26-787 | crates/libs/sys/src/Windows/Win32/ntddndis/mod.rs:9-2650 | crates/libs/sys/src/Windows/Win32/ntddscsi/mod.rs:24-1252 | crates/libs/sys/src/Windows/Win32/ntifs/mod.rs:468-4733 | crates/libs/sys/src/Windows/Win32/ntsecapi/mod.rs:293-2610 | crates/libs/sys/src/Windows/Win32/nvme/mod.rs:7-6284 | crates/libs/sys/src/Windows/Win32/ras/mod.rs:388-1452 | crates/libs/sys/src/Windows/Win32/rpc/mod.rs:739-2427 | crates/libs/sys/src/Windows/Win32/setupapi/mod.rs:1031-3064 | crates/libs/sys/src/Windows/Win32/shlobj_core/mod.rs:279-1495 | crates/libs/sys/src/Windows/Win32/usbioctl/mod.rs:41-883 | crates/libs/sys/src/Windows/Win32/virtdisk/mod.rs:69-947 | crates/libs/sys/src/Windows/Win32/wdm/mod.rs:404-13416 | crates/libs/sys/src/Windows/Win32/winbase/mod.rs:978-2676 | crates/libs/sys/src/Windows/Win32/winbio/mod.rs:170-1606 | crates/libs/sys/src/Windows/Win32/wincrypt/mod.rs:544-5760 | crates/libs/sys/src/Windows/Win32/windns/mod.rs:169-1997 | crates/libs/sys/src/Windows/Win32/windot11/mod.rs:76-3353 | crates/libs/sys/src/Windows/Win32/wingdi/mod.rs:752-5635 | crates/libs/sys/src/Windows/Win32/winhvplatformdefs/mod.rs:35-2809 | crates/libs/sys/src/Windows/Win32/winioctl/mod.rs:40-9150 | crates/libs/sys/src/Windows/Win32/winnt/mod.rs:189-12732 | crates/libs/sys/src/Windows/Win32/winternl/mod.rs:138-620 | crates/libs/sys/src/Windows/Win32/winuser/mod.rs:2689-5578 | crates/libs/sys/src/Windows/Win32/wlan/mod.rs:274-1227 | crates/libs/sys/src/Windows/Win32/ws2/mod.rs:251-1536 | crates/libs/sys/src/Windows/Win32/wtsapi32/mod.rs:136-905 | crates/libs/sys/src/Windows/Win32/wtypes/mod.rs:50-589 | crates/libs/windows/src/Windows/Win32/bdatypes/mod.rs:41-675 | crates/libs/windows/src/Windows/Win32/fwpmtypes/mod.rs:14-1561 \u2014 \u0060crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs\u0060 and \u0060crates/libs/sys/src/Windows/Win32/cfapi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 234234 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/Windows/Win32/bdatypes/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b53c93fbbecf950b221821870e646c501f7ca9c340a7ed7d9c0ec5fd8c6d117"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (2500 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3dkmdt/mod.rs:69-2568 | crates/libs/windows/src/Windows/Win32/d3dukmdt/mod.rs:21-3386 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3dkmdt/mod.rs"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"e054ad63810c18096d65cc18811ec9af4a201a1b6875167040dba63c3177e232"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/bindgen/src/lib.rs:822-826 | crates/libs/rdl/src/writer/mod.rs:266-270 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/lib.rs"},"region":{"startLine":822}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f5aed2cb41d4de500f2af423a3cb3909535545e6c726946af6e59aedd9f4208"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/collections/src/bindings.rs:182-191 | crates/libs/webview/src/bindings.rs:3834-3843 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":182}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0531234869441d23b277dceea93335a859b61229e80e8699ed86f2aff7e7a3b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 7): crates/libs/collections/src/bindings.rs:586-595 | crates/libs/collections/src/bindings.rs:1109-1118 | crates/libs/collections/src/bindings.rs:1983-1992 | crates/libs/collections/src/bindings.rs:2617-2626 | crates/libs/composition/src/bindings.rs:2841-2850 | crates/libs/composition/src/bindings_lifted.rs:2654-2663 | crates/libs/reactor/src/native/winui/bindings.rs:4982-4991 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":586}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e3e7503af4a805593adc26db4146cf4ea6711b8e6ab3468220bffb26af6082d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/collections/src/bindings.rs:639-647 | crates/libs/composition/src/bindings.rs:3042-3050 | crates/libs/composition/src/bindings_lifted.rs:2855-2863 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":639}}}],"partialFingerprints":{"codehealthFindingId/v1":"63eaa3085c3da4021198323b5cc6c4529bc79281e5901f85b97b2d327bc98b04"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): crates/libs/collections/src/bindings.rs:2894-2903 | crates/libs/collections/src/bindings.rs:3013-3022 | crates/libs/future/src/bindings.rs:120-129 | crates/libs/future/src/bindings.rs:487-496 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/future/src/bindings.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":2894}}}],"partialFingerprints":{"codehealthFindingId/v1":"e46ee18fc655d860c5c02b8b8cbce22f5e95d4cf0f729dca7e77e2b3f01f74cd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1065-1073 | crates/libs/composition/src/bindings_lifted.rs:947-955 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1065}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b4b029ddfed1b5a7d085d4491152e1740b75a7e2ee094bbc6280c7d2f4dbdb7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1134-1142 | crates/libs/composition/src/bindings_lifted.rs:1016-1024 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1134}}}],"partialFingerprints":{"codehealthFindingId/v1":"e593fd9bdfd9b5cc7ace1dde973181b53190b8c9a760e3a4ff0e724aaceb7a9a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1189-1198 | crates/libs/composition/src/bindings_lifted.rs:1071-1080 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1189}}}],"partialFingerprints":{"codehealthFindingId/v1":"93debd7db2f554abf1742e21029684b6fd323f218ff654436dbc72ab8d3c8499"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/composition/src/bindings.rs:1199-1207 | crates/libs/composition/src/bindings_lifted.rs:1081-1089 | crates/libs/reactor/src/native/winui/bindings.rs:7023-7031 | crates/libs/reactor/src/native/winui/bindings.rs:16919-16927 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1199}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ae0ddb0f4cbe7c177a0dc4fc920100ada8d387b97b67dbcef6ebdf8fe8ead62"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1290-1297 | crates/libs/composition/src/bindings_lifted.rs:2220-2227 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1290}}}],"partialFingerprints":{"codehealthFindingId/v1":"de8a8ef0de9f907389c514929dd6459f4fbfbf01fa3f01ce0cdea65a20893b06"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1339-1347 | crates/libs/composition/src/bindings_lifted.rs:1163-1171 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1339}}}],"partialFingerprints":{"codehealthFindingId/v1":"b255d0fbdfbf3d4c451174db606067e54422ca073ca56e85f94a4f25d2be99ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1423-1430 | crates/libs/composition/src/bindings_lifted.rs:2259-2266 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1423}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cdd1db38e0a321d50856d019ffc084e3a22058f4473385a3d37acd6fcace57b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1452-1460 | crates/libs/composition/src/bindings_lifted.rs:1247-1255 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1452}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad5649272f0b6bd27e6b40f0e8fb50ffa6716e6ea2971cbf5355127c4dca36d1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/composition/src/bindings.rs:1464-1472 | crates/libs/composition/src/bindings_lifted.rs:1259-1267 | crates/libs/reactor/src/native/winui/bindings.rs:10565-10573 | crates/libs/reactor/src/native/winui/bindings.rs:10687-10695 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1464}}}],"partialFingerprints":{"codehealthFindingId/v1":"2779f29ba9d71dac3eb6ef76d5712bc1a4e724cb7da804bc183b90229c5aa1fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1479-1490 | crates/libs/composition/src/bindings_lifted.rs:1274-1285 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1479}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6e8bcadf867e379d783dd2aa5f4b3ceb029741a55fd4d38a12c120005564929"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1555-1564 | crates/libs/composition/src/bindings_lifted.rs:1350-1359 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1555}}}],"partialFingerprints":{"codehealthFindingId/v1":"25faa305d4a18b1e0b8bf96e552ec12011855971a92ca44eb10af21ed0b9d1ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1594-1602 | crates/libs/composition/src/bindings_lifted.rs:1388-1396 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1594}}}],"partialFingerprints":{"codehealthFindingId/v1":"18fb913b05139c3b62c0be0ee55a10c7842405b47f7b916f2ed12c5fbfdb51e7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/composition/src/bindings.rs:1628-1636 | crates/libs/composition/src/bindings_lifted.rs:1422-1430 | crates/libs/reactor/src/native/winui/bindings.rs:5951-5959 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1628}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf2220b2641c013818258c013aa50bbedf8b329406fd460404c5b4d5a28e33ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/composition/src/bindings.rs:1637-1645 | crates/libs/composition/src/bindings.rs:2851-2859 | crates/libs/composition/src/bindings_lifted.rs:1431-1439 | crates/libs/composition/src/bindings_lifted.rs:2664-2672 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1637}}}],"partialFingerprints":{"codehealthFindingId/v1":"939310726e335e82361eea030bf3b90c0537c17812e3d9a775747ea824b5374f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/composition/src/bindings.rs:1747-1755 | crates/libs/composition/src/bindings.rs:2784-2792 | crates/libs/composition/src/bindings_lifted.rs:1541-1549 | crates/libs/composition/src/bindings_lifted.rs:2597-2605 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1747}}}],"partialFingerprints":{"codehealthFindingId/v1":"10c645516ab708692a308e825e38ad010bcc5937e8999557a0a3973666c0e392"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:1781-1789 | crates/libs/composition/src/bindings_lifted.rs:1575-1583 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1781}}}],"partialFingerprints":{"codehealthFindingId/v1":"d25a9413176da45c78458056127962fcc0243ab3002cfa51cc912c433e586bda"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/composition/src/bindings.rs:1842-1850 | crates/libs/composition/src/bindings_lifted.rs:1636-1644 | crates/libs/reactor/src/native/winui/bindings.rs:10574-10582 | crates/libs/reactor/src/native/winui/bindings.rs:21298-21306 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":1842}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f4e9e045cf0a29cddc20553e5f812698059376570d200d8667bcdc1d1496f26"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2431-2439 | crates/libs/composition/src/bindings_lifted.rs:2080-2088 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2431}}}],"partialFingerprints":{"codehealthFindingId/v1":"312b8f0741fdd3418e1d6335783b133972084c2b9ffe8407345cbda2b31f304e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 4): crates/libs/composition/src/bindings.rs:2440-2448 | crates/libs/composition/src/bindings_lifted.rs:2089-2097 | crates/libs/reactor/src/native/winui/bindings.rs:15997-16005 | crates/libs/reactor/src/native/winui/bindings.rs:21238-21246 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2440}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c2e8c9c4964e227b8d133cbd5a3e92557f9e094c389a678e7cc21677463b24b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2452-2460 | crates/libs/composition/src/bindings_lifted.rs:2101-2109 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2452}}}],"partialFingerprints":{"codehealthFindingId/v1":"03416de46a0a30ccd0b7db11e8b60aabce3104bc75269151eb94b9e69a974a5d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2461-2469 | crates/libs/composition/src/bindings_lifted.rs:2110-2118 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2461}}}],"partialFingerprints":{"codehealthFindingId/v1":"221542a723d201709c3f11a1b6b13e733a49ef5bc8bde7d7b2c65109e1eae513"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): crates/libs/composition/src/bindings.rs:2550-2559 | crates/libs/composition/src/bindings.rs:2667-2676 | crates/libs/composition/src/bindings_lifted.rs:2363-2372 | crates/libs/composition/src/bindings_lifted.rs:2480-2489 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2550}}}],"partialFingerprints":{"codehealthFindingId/v1":"83bf0438be399a2331440fea61490125de303b6d611eecf3ba18743da196e09d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 4): crates/libs/composition/src/bindings.rs:2568-2578 | crates/libs/composition/src/bindings.rs:2685-2695 | crates/libs/composition/src/bindings_lifted.rs:2381-2391 | crates/libs/composition/src/bindings_lifted.rs:2498-2508 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2568}}}],"partialFingerprints":{"codehealthFindingId/v1":"5dcd010cabf5e3f5665fa06f41502d66cf5aced846d6de1bbe84e105e9ceaab7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2634-2642 | crates/libs/composition/src/bindings_lifted.rs:2447-2455 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2634}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5361f835e7532d78556da94a9ce74ab9ad05177b5b763a021fcd264027adc76"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2725-2733 | crates/libs/composition/src/bindings_lifted.rs:2538-2546 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2725}}}],"partialFingerprints":{"codehealthFindingId/v1":"a766619c7a6b05341c601666b34fccc784c5c813f1635a7589345cd7089c6fba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2734-2742 | crates/libs/composition/src/bindings_lifted.rs:2547-2555 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2734}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ee5faba78e8516242725f8d9de785a35e91e4b32737cc7541e177620b231c03"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/composition/src/bindings.rs:2746-2754 | crates/libs/composition/src/bindings_lifted.rs:2559-2567 | crates/libs/reactor/src/native/winui/bindings.rs:20054-20062 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2746}}}],"partialFingerprints":{"codehealthFindingId/v1":"25fbe0ab6b621f0024e75668a56e10a50a0637fdebf3f83e1e9b1b66de1f10ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2755-2764 | crates/libs/composition/src/bindings_lifted.rs:2568-2577 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2755}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ed90da36c39fdfb30dc6c177541a0e7f31d8e647265019532c57b972214fa24"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2765-2773 | crates/libs/composition/src/bindings_lifted.rs:2578-2586 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2765}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0c0ac2610af9df1a552cdc685d53b35c4ab90445a8e1408895d743f1ae7f252"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2774-2783 | crates/libs/composition/src/bindings_lifted.rs:2587-2596 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2774}}}],"partialFingerprints":{"codehealthFindingId/v1":"83c38667f6021311af1030e62ba0c112558a398fd1407c61f6355c03110d27fe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2793-2802 | crates/libs/composition/src/bindings_lifted.rs:2606-2615 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2793}}}],"partialFingerprints":{"codehealthFindingId/v1":"93e6d5e1c051c78ad9f52882b418292c15f9a777b29533bf1888d15e79939a44"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/composition/src/bindings.rs:2803-2811 | crates/libs/composition/src/bindings_lifted.rs:2616-2624 | crates/libs/reactor/src/native/winui/bindings.rs:19973-19981 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2803}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d737d80ae7552e4586408931a26dc8ce869ce3817bce9aa237df478e83262a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2822-2831 | crates/libs/composition/src/bindings_lifted.rs:2635-2644 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2822}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d11fc18b91e549a1751470af255b5a4b2627a60ed706af070c75444e43872fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 3): crates/libs/composition/src/bindings.rs:2832-2840 | crates/libs/composition/src/bindings_lifted.rs:2645-2653 | crates/libs/reactor/src/native/winui/bindings.rs:20030-20038 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2832}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4fbed677996d7293d7b21619314867a015183804a8ef0d1da1542c54ab59ed9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2942-2950 | crates/libs/composition/src/bindings_lifted.rs:2755-2763 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2942}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f2c98281aca01085234a2418cc1f1d7b68473af3d1a27297e077f1dc72d0ff6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2954-2962 | crates/libs/composition/src/bindings_lifted.rs:2767-2775 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2954}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea72dd1f858010f8a733a6b01721c599c38ab1c69ec0dff6a89ac0fe4cdfea23"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:2966-2974 | crates/libs/composition/src/bindings_lifted.rs:2779-2787 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":2966}}}],"partialFingerprints":{"codehealthFindingId/v1":"72ffd9044676c382ce73bd8cd74008bdca6a20cdd1a1f98f9f5f627033d7ac07"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 3): crates/libs/composition/src/bindings.rs:3005-3014 | crates/libs/composition/src/bindings_lifted.rs:2818-2827 | crates/libs/webview/src/bindings.rs:1957-1966 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":3005}}}],"partialFingerprints":{"codehealthFindingId/v1":"a733164082c993294ab5b3d0815e633926af413287318b8a810899707ac8a071"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:3018-3026 | crates/libs/composition/src/bindings_lifted.rs:2831-2839 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":3018}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b150b48794ef49417d85df618d96d86bc8d0fd37ab6fc6ad181e27e6ccc36c5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/composition/src/bindings.rs:3030-3038 | crates/libs/composition/src/bindings_lifted.rs:2843-2851 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":3030}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a320a6042adffe66d38242d05b54f17ce3d69693f432f887df4b431d1febfd1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/composition/src/bindings.rs:3051-3056 | crates/libs/composition/src/bindings_lifted.rs:2864-2869 \u2014 before extracting anything, compare \u0060crates/libs/composition/src/bindings.rs\u0060 and \u0060crates/libs/composition/src/bindings_lifted.rs\u0060 as WHOLE FILES: this scan already matched 70 separate duplicated blocks between them, totalling at least 673 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. If that is what happened, the fix is to keep one copy and have the other call it (or delete it), which resolves this row and its siblings together \u2014 extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/composition/src/bindings.rs"},"region":{"startLine":3051}}}],"partialFingerprints":{"codehealthFindingId/v1":"de57fd11ecbb4a9658340a2c78d520bd6a8eb695ebb4fc3f7d7fdf09465a37ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/core/src/imp/delegate_box.rs:71-76 | crates/libs/core/src/imp/marshaler.rs:81-86 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/core/src/imp/delegate_box.rs"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cc6ca1ec33869bea798b41f882aa4b3fa270a1f3034ef5bf9c6949c1ff0ca51"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): crates/libs/core/src/imp/delegate_box.rs:79-90 | crates/libs/core/src/imp/marshaler.rs:88-99 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/core/src/imp/delegate_box.rs"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"2dff3ff048f7af50031573de4df2345c4cc76b3615c06d06e4b16166e2663dd7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): crates/libs/reactor/src/native/winui/bindings.rs:13205-13214 | crates/libs/reactor/src/native/winui/bindings.rs:14916-14925 | crates/libs/reactor/src/native/winui/bindings.rs:15081-15090 | crates/libs/webview/src/bindings.rs:1780-1789 \u2014 before extracting anything, compare \u0060crates/libs/reactor/src/native/winui/bindings.rs\u0060 and \u0060crates/libs/webview/src/bindings.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":13205}}}],"partialFingerprints":{"codehealthFindingId/v1":"e68ee8f3104ae0d9f1b1518b132621cd0554558b283e8fa8121bd5a423e0db66"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/reactor/src/native/winui/bindings.rs:21989-21998 | crates/libs/webview/src/bindings.rs:1549-1558 \u2014 before extracting anything, compare \u0060crates/libs/reactor/src/native/winui/bindings.rs\u0060 and \u0060crates/libs/webview/src/bindings.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/bindings.rs"},"region":{"startLine":21989}}}],"partialFingerprints":{"codehealthFindingId/v1":"46abeae3c3a1da2a77646af84aa2ed073adea4cdf7d6db967bfb146f34f84755"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/strings/src/pcstr.rs:34-39 | crates/libs/strings/src/pstr.rs:34-39 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/strings/src/pcstr.rs"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc647d8bc27c52e04d6b3fec8009a55d022ce0a4de9713cdb814dfd43b6bc3d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/strings/src/literals.rs:142-150 | crates/libs/sys/src/core/literals.rs:106-114 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/strings/src/literals.rs"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"997833233851e8d096c317a7def2d1b11255e7d83aee5606739378cb9d760357"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 86): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:72-77 | crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:6-11 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:898-903 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1941-1946 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:99-104 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:390-395 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1383-1388 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs:98-103 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:568-573 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:649-654 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1198-1203 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1898-1903 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/ShareTarget/mod.rs:104-109 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:221-226 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2666-2671 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:218-223 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:396-401 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:738-743 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:856-861 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:133-138 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:195-200 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:238-243 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:498-503 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:454-459 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:158-163 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:507-512 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:829-834 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:77-82 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:257-262 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:196-201 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:685-690 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:24-29 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:1548-1553 | crates/libs/windows/src/Windows/Devices/Haptics/mod.rs:416-421 | crates/libs/windows/src/Windows/Devices/Haptics/mod.rs:543-548 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:397-402 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2354-2359 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:2931-2936 | crates/libs/windows/src/Windows/Management/Setup/mod.rs:262-267 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1655-1660 | crates/libs/windows/src/Windows/Management/mod.rs:201-206 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1072-1077 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1130-1135 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7453-7458 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:162-167 | crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs:202-207 | crates/libs/windows/src/Windows/Media/ContentRestrictions/mod.rs:152-157 | crates/libs/windows/src/Windows/Media/Core/mod.rs:195-200 | crates/libs/windows/src/Windows/Media/Core/mod.rs:1705-1710 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2606-2611 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7579-7584 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:709-714 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:739-744 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1920-1925 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:126-131 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1228-1233 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:500-505 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:494-499 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:601-606 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2910-2915 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:906-911 | crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:377-382 | crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:460-465 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1256-1261 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:432-437 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:708-713 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:343-348 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:397-402 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:718-723 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:122-127 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:3207-3212 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:312-317 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1280-1285 | crates/libs/windows/src/Windows/Storage/mod.rs:5498-5503 | crates/libs/windows/src/Windows/System/Inventory/mod.rs:32-37 | crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs:277-282 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:913-918 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1112-1117 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1613-1618 | crates/libs/windows/src/Windows/System/Update/mod.rs:106-111 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1844-1849 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1910-1915 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2642-2647 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:26-31 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1671-1676 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2102-2107 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ddc02b652253e82f0cf3ddc5c7ebbdc7beeaa3b8965a51855519375f7bb0706"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 56): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:78-83 | crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:265-270 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:424-429 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:175-180 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1244-1249 | crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:18-23 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:519-524 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1280-1285 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1347-1352 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1831-1836 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3127-3132 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3609-3614 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3821-3826 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:536-541 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:768-773 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:747-752 | crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs:86-91 | crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/mod.rs:96-101 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:145-150 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:877-882 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:1028-1033 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:112-117 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:107-112 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:447-452 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:925-930 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1465-1470 | crates/libs/windows/src/Windows/Management/Update/mod.rs:914-919 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1484-1489 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2178-2183 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2816-2821 | crates/libs/windows/src/Windows/Management/Update/mod.rs:3158-3163 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1240-1245 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1410-1415 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:1070-1075 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:512-517 | crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs:193-198 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:815-820 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1782-1787 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2475-2480 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1716-1721 | crates/libs/windows/src/Windows/System/Update/mod.rs:100-105 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:442-447 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1332-1337 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14920-14925 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1665-1670 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2750-2755 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:2816-2821 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4586-4591 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4768-4773 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4951-4956 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5294-5299 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5914-5919 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6156-6161 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7106-7111 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7641-7646 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11331-11336 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9dea067f89e5ef700921b966452b707054071ab525824e247962e41db6cbeb5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:90-95 | crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:79-84 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:232-237 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:176-181 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:752-757 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:3070-3075 | crates/libs/windows/src/Windows/Management/Update/mod.rs:956-961 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1271-1276 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2132-2137 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"9190de97caac5aa8d051962b49182e004775a631667a6a29e286aeebb8cce20d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 109): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:183-188 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1657-1662 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:169-174 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1232-1237 | crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:361-366 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:458-463 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:789-794 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:904-909 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2768-2773 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:80-85 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1402-1407 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1600-1605 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3600-3605 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4303-4308 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:273-278 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:756-761 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:3110-3115 | crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs:433-438 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:765-770 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:1101-1106 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2478-2483 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2600-2605 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2290-2295 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:3816-3821 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:260-265 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1056-1061 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:202-207 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:424-429 | crates/libs/windows/src/Windows/Devices/Radios/mod.rs:62-67 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:3072-3077 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:208-213 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:386-391 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:616-621 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1014-1019 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1443-1448 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1611-1616 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:2372-2377 | crates/libs/windows/src/Windows/Foundation/mod.rs:1575-1580 | crates/libs/windows/src/Windows/Foundation/mod.rs:2371-2376 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:37-42 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:133-138 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:210-215 | crates/libs/windows/src/Windows/Graphics/Effects/mod.rs:9-14 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:204-209 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:343-348 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:430-435 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:514-519 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:575-580 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:675-680 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1056-1061 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1316-1321 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:2268-2273 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:743-748 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:2517-2522 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:2925-2930 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:82-87 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:435-440 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:913-918 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1453-1458 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2075-2080 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5984-5989 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6601-6606 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7018-7023 | crates/libs/windows/src/Windows/Media/Import/mod.rs:817-822 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1192-1197 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1404-1409 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1513-1518 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1347-1352 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:716-721 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:477-482 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:663-668 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:523-528 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:2527-2532 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2033-2038 | crates/libs/windows/src/Windows/Storage/mod.rs:395-400 | crates/libs/windows/src/Windows/Storage/mod.rs:2540-2545 | crates/libs/windows/src/Windows/System/mod.rs:401-406 | crates/libs/windows/src/Windows/System/mod.rs:802-807 | crates/libs/windows/src/Windows/System/mod.rs:850-855 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2494-2499 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:102-107 | crates/libs/windows/src/Windows/UI/Text/mod.rs:472-477 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:991-996 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1370-1375 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1704-1709 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2687-2692 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2760-2765 | crates/libs/windows/src/Windows/Web/Http/mod.rs:395-400 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1102-1107 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2725-2730 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1387-1392 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3060-3065 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3507-3512 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5780-5785 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13997-14002 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1318-1323 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1645-1650 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1030-1035 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1963-1968 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2270-2275 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:4180-4185 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1255-1260 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1700-1705 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1820-1825 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2397-2402 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2738-2743 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2858-2863 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:584-589 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8449-8454 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":183}}}],"partialFingerprints":{"codehealthFindingId/v1":"94483badf531296bf4f5230c4b61710e9f04b6e791888e3fa0b156a33e92ba9a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 53): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:192-197 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:11-16 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:406-411 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:181-186 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:283-288 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1751-1756 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7180-7185 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:297-302 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1389-1394 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:510-515 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1271-1276 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1338-1343 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3118-3123 | crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:354-359 | crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:1153-1158 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:450-455 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1248-1253 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2917-2922 | crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:91-96 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs:34-39 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:297-302 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:881-886 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:488-493 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1551-1556 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:643-648 | crates/libs/windows/src/Windows/Devices/Radios/mod.rs:68-73 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:3078-3083 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:1239-1244 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:88-93 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1671-1676 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1806-1811 | crates/libs/windows/src/Windows/Media/Core/mod.rs:388-393 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:270-275 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5392-5397 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5487-5492 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:263-268 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:256-261 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:19-24 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:592-597 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1487-1492 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:777-782 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:3091-3096 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:73-78 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:783-788 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:456-461 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1425-1430 | crates/libs/windows/src/Windows/UI/Input/mod.rs:238-243 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:280-285 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:424-429 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3502-3507 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3802-3807 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:425-430 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:1256-1261 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":192}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f4181920a75ffaac8792a177d1dfcebb0b85d0e415334f83bff53a6431ee07d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:223-228 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:17-22 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:6-11 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:170-175 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:148-153 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:464-469 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":223}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6bad8924388723bc24d18b0ea5b71f868d624c2dcef2009fb2e86f9f33ea912"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:235-240 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:24-29 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7628-7633 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2922-2927 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1417-1422 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:3217-3222 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":235}}}],"partialFingerprints":{"codehealthFindingId/v1":"17da7c282bce2a11b819391435451b07716c6a6e4e671acf851736a29747cea9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs:241-246 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:235-240 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/Hosting/mod.rs"},"region":{"startLine":241}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cb7d813fd23f51cfc99e136ead1ea78b92a7c367c8ced5cc5441c562cf2fb7c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 44): crates/libs/windows/src/Windows/AI/Actions/mod.rs:53-58 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:415-420 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:2749-2754 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:2863-2868 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1795-1800 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/ShareTarget/mod.rs:81-86 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:527-532 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:762-767 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2278-2283 | crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs:309-314 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1080-1085 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7621-7626 | crates/libs/windows/src/Windows/Management/Update/mod.rs:908-913 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1478-1483 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2172-2177 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2810-2815 | crates/libs/windows/src/Windows/Management/Update/mod.rs:3149-3154 | crates/libs/windows/src/Windows/Media/ContentRestrictions/mod.rs:161-166 | crates/libs/windows/src/Windows/Media/Control/mod.rs:264-269 | crates/libs/windows/src/Windows/Media/Core/mod.rs:317-322 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:1046-1051 | crates/libs/windows/src/Windows/Media/mod.rs:1267-1272 | crates/libs/windows/src/Windows/Media/mod.rs:1901-1906 | crates/libs/windows/src/Windows/Media/mod.rs:2586-2591 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1776-1781 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2469-2474 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:75-80 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:493-498 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:621-626 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1211-1216 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:69-74 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:144-149 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:86-91 | crates/libs/windows/src/Windows/System/Update/mod.rs:94-99 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1848-1853 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2003-2008 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:203-208 | crates/libs/windows/src/Windows/UI/Shell/Tasks/mod.rs:100-105 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:860-865 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:1075-1080 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:137-142 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:48-53 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2376-2381 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11421-11426 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bcb7e8d10044c0ec65204b6267c82dedbd8bf2c5a5e5c952ced4c1ec72e05c4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/AI/Actions/mod.rs:336-341 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1756-1761 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1421-1426 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:351-356 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:705-710 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:923-928 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Update/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 41 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":336}}}],"partialFingerprints":{"codehealthFindingId/v1":"190eec449f21a0b802b5f5bfe6e92a54540aae9150261022997ff085bbf5c57d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 67): crates/libs/windows/src/Windows/AI/Actions/mod.rs:345-350 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2807-2812 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:600-605 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2356-2361 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2390-2395 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2420-2425 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2448-2453 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3013-3018 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:581-586 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1366-1371 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1828-1833 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1967-1972 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:545-550 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:873-878 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1208-1213 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:515-520 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:588-593 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:3341-3346 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1224-1229 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1774-1779 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1998-2003 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2056-2061 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2337-2342 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2403-2408 | crates/libs/windows/src/Windows/Management/Update/mod.rs:3258-3263 | crates/libs/windows/src/Windows/Management/mod.rs:195-200 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:83-88 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:139-144 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2021-2026 | crates/libs/windows/src/Windows/Media/Core/mod.rs:240-245 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4230-4235 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6217-6222 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7669-7674 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:445-450 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1088-1093 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2764-2769 | crates/libs/windows/src/Windows/Media/mod.rs:1861-1866 | crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:413-418 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:797-802 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:952-957 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1224-1229 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1271-1276 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1426-1431 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1514-1519 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1579-1584 | crates/libs/windows/src/Windows/Services/Store/mod.rs:659-664 | crates/libs/windows/src/Windows/Services/Store/mod.rs:819-824 | crates/libs/windows/src/Windows/Services/Store/mod.rs:956-961 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1936-1941 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1972-1977 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2002-2007 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2085-2090 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2318-2323 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2342-2347 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2425-2430 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2640-2645 | crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:12-17 | crates/libs/windows/src/Windows/System/Update/mod.rs:130-135 | crates/libs/windows/src/Windows/System/Update/mod.rs:181-186 | crates/libs/windows/src/Windows/System/mod.rs:28-33 | crates/libs/windows/src/Windows/System/mod.rs:276-281 | crates/libs/windows/src/Windows/UI/Shell/CompanionWindows/mod.rs:127-132 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:36-41 | crates/libs/windows/src/Windows/Web/Http/mod.rs:700-705 | crates/libs/windows/src/Windows/Web/Http/mod.rs:761-766 | crates/libs/windows/src/Windows/Web/Http/mod.rs:822-827 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1394-1399 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":345}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c6ff229d25d8c5b6d4f7a9ff7e5e4d20415ee7acd9085ad45d7e21e20fc4838"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/AI/Actions/mod.rs:433-438 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:119-124 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":433}}}],"partialFingerprints":{"codehealthFindingId/v1":"9936f3f15acaf264c4359760173148df802c31c9f9996affe06f51458609e3d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/AI/Actions/mod.rs:650-655 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1772-1777 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2074-2079 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":650}}}],"partialFingerprints":{"codehealthFindingId/v1":"75e7d01d530362c4334d67b20d37e1c19526825170221b0bca49e76bd9231841"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/AI/Actions/mod.rs:657-662 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:108-113 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:896-901 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1869-1874 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":657}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1332dbe5d410ba92a8b7330c571085267ecf3ab2f46f3bb00bf650e4ac52d15"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 31): crates/libs/windows/src/Windows/AI/Actions/mod.rs:799-804 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:733-738 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:794-799 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:860-865 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:922-927 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1035-1040 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1101-1106 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3008-3013 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3133-3138 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3250-3255 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3374-3379 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3542-3547 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3672-3677 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2837-2842 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:115-120 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1036-1041 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:772-777 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3270-3275 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3302-3307 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3333-3338 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3364-3369 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3488-3493 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3694-3699 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3763-3768 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3833-3838 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2081-2086 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2154-2159 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2232-2237 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2306-2311 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2447-2452 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2525-2530 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":799}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ec81d4c664b59f3da630c4883cff8a40c193ade8b090514925091f891c82af2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 60): crates/libs/windows/src/Windows/AI/Actions/mod.rs:902-907 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:315-320 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:921-926 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:554-559 | crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs:204-209 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:49-54 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:745-750 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1054-1059 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1198-1203 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1427-1432 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1745-1750 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1960-1965 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:2014-2019 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:83-88 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:263-268 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:226-231 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:691-696 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7913-7918 | crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs:105-110 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1565-1570 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:166-171 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:482-487 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1520-1525 | crates/libs/windows/src/Windows/Management/Update/mod.rs:866-871 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1716-1721 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:672-677 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:836-841 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1161-1166 | crates/libs/windows/src/Windows/Media/Core/mod.rs:1010-1015 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5686-5691 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7424-7429 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:121-126 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:411-416 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1057-1062 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1151-1156 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1429-1434 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1480-1485 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1538-1543 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:890-895 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2272-2277 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:797-802 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:1095-1100 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:488-493 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:513-518 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1114-1119 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:919-924 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:545-550 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:815-820 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:884-889 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:943-948 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:1129-1134 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:947-952 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:361-366 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:577-582 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:321-326 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1289-1294 | crates/libs/windows/src/Windows/Storage/mod.rs:2954-2959 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1696-1701 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2763-2768 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1315-1320 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":902}}}],"partialFingerprints":{"codehealthFindingId/v1":"96a78a94ffc90867ab6b915a378ebd852c44be9c8ee38c078c44fdc9a429a4b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/AI/Actions/mod.rs:1666-1671 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:967-972 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:991-996 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1077-1082 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":1666}}}],"partialFingerprints":{"codehealthFindingId/v1":"b07be46cd901a72dda93bbb02fd8a317a0a292f50d62f970a685da97230ecce4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/AI/Actions/mod.rs:1784-1789 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:339-344 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1420-1425 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":1784}}}],"partialFingerprints":{"codehealthFindingId/v1":"0eaea0528511d4c95eec9222aa541008a9cf7417dc6fa7765df7ecb4e53a46fd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/AI/Actions/mod.rs:1790-1795 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1851-1856 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":1790}}}],"partialFingerprints":{"codehealthFindingId/v1":"62ff803270b0d0c4cf21517c7a342874108749ea91ec1042096c4d8f3c49c11d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/AI/Actions/mod.rs:1796-1801 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:374-379 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:2091-2096 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3057-3062 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1750-1755 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:958-963 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:797-802 | crates/libs/windows/src/Windows/Storage/mod.rs:1493-1498 | crates/libs/windows/src/Windows/Storage/mod.rs:4284-4289 | crates/libs/windows/src/Windows/System/mod.rs:3110-3115 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Streams/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":1796}}}],"partialFingerprints":{"codehealthFindingId/v1":"c06eec8adc16d42b604788fe88748294f5c86e5c66d4d5e42b53315b2b5c2216"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/AI/Actions/mod.rs:1814-1819 | crates/libs/windows/src/Windows/Foundation/mod.rs:2145-2150 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":1814}}}],"partialFingerprints":{"codehealthFindingId/v1":"31d7bad38e5d208ffa5c901dd2b763958d64d00b6a5513dbd692de674f51f2ca"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/AI/Actions/mod.rs:1927-1932 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:1983-1988 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2384-2389 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2542-2547 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2711-2716 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2791-2796 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2960-2965 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3061-3066 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4685-4690 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":1927}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d175b684d8d7e9052687771df777475141642f4d6fa5a427fc45467a1fd328e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/AI/Actions/mod.rs:1933-1938 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:544-549 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:676-681 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":1933}}}],"partialFingerprints":{"codehealthFindingId/v1":"04c8e34bf420954165f5605c2452a1c6ebb2cdf07ef62cff8eee39935ad0731e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 35): crates/libs/windows/src/Windows/AI/Actions/mod.rs:1977-1982 | crates/libs/windows/src/Windows/AI/Actions/mod.rs:2133-2138 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:681-686 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:2755-2760 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:2869-2874 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2934-2939 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3492-3497 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:3076-3081 | crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:97-102 | crates/libs/windows/src/Windows/Data/Text/mod.rs:315-320 | crates/libs/windows/src/Windows/Data/Text/mod.rs:931-936 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5907-5912 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6516-6521 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6729-6734 | crates/libs/windows/src/Windows/Media/Ocr/mod.rs:169-174 | crates/libs/windows/src/Windows/Media/Ocr/mod.rs:205-210 | crates/libs/windows/src/Windows/Media/Ocr/mod.rs:235-240 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4595-4600 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:837-842 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1002-1007 | crates/libs/windows/src/Windows/Media/mod.rs:727-732 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2523-2528 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2828-2833 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2911-2916 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1015-1020 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1075-1080 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:45-50 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:835-840 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:904-909 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2729-2734 | crates/libs/windows/src/Windows/UI/Text/mod.rs:4648-4653 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:848-853 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1926-1931 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2871-2876 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12358-12363 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":1977}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b982a1689095677cb4c129bc6bc16d515ddde8f1b93b5b917da040eac5ad39e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 33): crates/libs/windows/src/Windows/AI/Actions/mod.rs:2190-2195 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5697-5702 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7447-7452 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:129-134 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3809-3814 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1000-1005 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:209-214 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:746-751 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs:74-79 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:247-252 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2726-2731 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:5120-5125 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1436-1441 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1400-1405 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2687-2692 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:872-877 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:1112-1117 | crates/libs/windows/src/Windows/UI/Text/mod.rs:56-61 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3894-3899 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:338-343 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1935-1940 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2385-2390 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2734-2739 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1364-1369 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1386-1391 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1414-1419 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1479-1484 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1513-1518 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1544-1549 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1608-1613 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1708-1713 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1779-1784 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1810-1815 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/Actions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":2190}}}],"partialFingerprints":{"codehealthFindingId/v1":"04de15cc8e226ae828df7befff90c12813287c790692f2246cd961d44ce19b76"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:187-192 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2490-2495 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 41 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":187}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f0dd92b234bd2e942f2c09322ee8a18d34f2cfbfc014bc3a676f63125579328"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:496-501 | crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:2157-2162 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1524-1529 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 55 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":496}}}],"partialFingerprints":{"codehealthFindingId/v1":"acb95945c5eec55892e21486a95ea1e457ef8d60f828dd3f487f293fd38328cb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1096-1101 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:611-616 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1271-1276 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2117-2122 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1096}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7695f1e0e2546243035964767704ff23fd5da5e63a816bf8340292ca0a3a6d3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1103-1108 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:617-622 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1277-1282 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2123-2128 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1103}}}],"partialFingerprints":{"codehealthFindingId/v1":"de748a6c40c14fb6f8da0a46592990df9b6be5f6ef6273e9cb4bd5e3091c2988"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 18): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1109-1114 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1159-1164 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:996-1001 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1446-1451 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1470-1475 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3394-3399 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7522-7527 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:888-893 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1298-1303 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2399-2404 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1412-1417 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2699-2704 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:505-510 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:481-486 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1181-1186 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2315-2320 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2419-2424 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3354-3359 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 55 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1109}}}],"partialFingerprints":{"codehealthFindingId/v1":"265d8b5008dbe862bd28992b45ba3b91eda12d0a72d14fdd178c1c62cb925cd4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 18): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1115-1120 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:434-439 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1165-1170 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:1002-1007 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1452-1457 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1476-1481 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3400-3405 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7528-7533 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:894-899 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1307-1312 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2408-2413 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1418-1423 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2705-2710 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:499-504 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:487-492 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1187-1192 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2437-2442 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3363-3368 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1115}}}],"partialFingerprints":{"codehealthFindingId/v1":"efceff931284b597beff79f3e83ccccb0a588c984ceb84322a4740a6b115e79e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1226-1231 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:1052-1057 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1226}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c974d59d447d217619490e0abdb8bd01c0c8d5c2ee01db800a57f45043075b2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1238-1243 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/SystemAccess/mod.rs:64-69 | crates/libs/windows/src/Windows/Foundation/mod.rs:2139-2144 | crates/libs/windows/src/Windows/Web/Http/mod.rs:401-406 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 38 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1238}}}],"partialFingerprints":{"codehealthFindingId/v1":"90d9a76b3e73e1775583aba06dd770396c49c4ad3d2317256255c9e8f5d3e67c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1250-1255 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2606-2611 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:197-202 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:313-318 | crates/libs/windows/src/Windows/Storage/mod.rs:115-120 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1122-1127 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1519-1524 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3519-3524 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 41 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1250}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b077fb369b13254357456237121d51c844e943d1dbd5c81f5876da96f874afd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1256-1261 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs:80-85 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1858-1863 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1256}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe668fa5d7020bac39fc2074d381c7baa383feadb248993c1214eb9a53eee233"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1470-1475 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1327-1332 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:404-409 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1470}}}],"partialFingerprints":{"codehealthFindingId/v1":"da9adf80f8ad6289451a76ad8c536c4575fab5641a990f005d6f263850685f96"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1477-1482 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:264-269 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1477}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecf036df4bea11e913abf7a0117051578dc885e0484ced8ef621d48afbcbee9a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1542-1547 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:821-826 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1542}}}],"partialFingerprints":{"codehealthFindingId/v1":"1709826fb2f3c8b81f914e47b99952b5449b553b1e8c5b408f847978d9fbeb58"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1548-1553 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:717-722 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:96-101 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1548}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8d903b2b3826528cb389b53a14e8be9e895f6d2f86f1ecba1728ecc7f6a6703"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 20): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1554-1559 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2801-2806 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1506-1511 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1564-1569 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2466-2471 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1212-1217 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1980-1985 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2044-2049 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2331-2336 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2397-2402 | crates/libs/windows/src/Windows/Management/Update/mod.rs:3252-3257 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:77-82 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:133-138 | crates/libs/windows/src/Windows/UI/Shell/CompanionWindows/mod.rs:115-120 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:571-576 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1729-1734 | crates/libs/windows/src/Windows/Web/Http/mod.rs:718-723 | crates/libs/windows/src/Windows/Web/Http/mod.rs:779-784 | crates/libs/windows/src/Windows/Web/Http/mod.rs:840-845 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1412-1417 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 82 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1554}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ba5ee2403e0a66dffba0a3e33eda3328dc17dd2f8ec6d00af61038384144236"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs:1626-1631 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:172-177 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:85-90 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:189-194 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:213-218 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:8-13 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:156-161 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:13-18 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:372-377 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 55 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/MachineLearning/mod.rs"},"region":{"startLine":1626}}}],"partialFingerprints":{"codehealthFindingId/v1":"fceb2e72a526f591cbe1d4ac1b559c62886709f21b7ecd28f48c6c78371d388e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:118-123 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2061-2066 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1310-1315 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":118}}}],"partialFingerprints":{"codehealthFindingId/v1":"78211914a528c6c76d3b2f7c563565199299edb7c22e6160ce7c1fc558ecf5b2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:180-185 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2147-2152 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1384-1389 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":180}}}],"partialFingerprints":{"codehealthFindingId/v1":"78af347c57659ba0d6f1c164a5bc33515e5a3cd33532b634fdd192e971c91802"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:242-247 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2233-2238 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1458-1463 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":242}}}],"partialFingerprints":{"codehealthFindingId/v1":"59998a9cd1130fbeace87484f60f70200d69e4286299d5f5d102a38cd9dbcb56"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:309-314 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2324-2329 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:338-343 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1537-1542 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 55 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":309}}}],"partialFingerprints":{"codehealthFindingId/v1":"98c966cd964db2abb25647683d1e5dfd6d8214ad4a61636bb27119c600cac82a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:315-320 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2330-2335 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1543-1548 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":315}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd642877bd2c5e4cbd1f4ec6c52db7614b5c0367937d10faae112b452ab953dd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:376-381 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2441-2446 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1616-1621 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":376}}}],"partialFingerprints":{"codehealthFindingId/v1":"19ba26da115805570818c0326fb922685642e2f21cf5a546a7f19a1e4a6d71f0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 30): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:382-387 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2447-2452 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:26-31 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2220-2225 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:12-17 | crates/libs/windows/src/Windows/Devices/Haptics/mod.rs:503-508 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:314-319 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:633-638 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:917-922 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:480-485 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:89-94 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:394-399 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4689-4694 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:830-835 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1182-1187 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1711-1716 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1924-1929 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2326-2331 | crates/libs/windows/src/Windows/Media/Core/mod.rs:1696-1701 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4390-4395 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4690-4695 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:589-594 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:807-812 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:639-644 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1193-1198 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:196-201 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:408-413 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:555-560 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1622-1627 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1607-1612 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 55 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":382}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b960da3ea19200464d2d8842b3a1751d7fca34f1f0d3934e71cfb74f3e156c4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:407-412 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2540-2545 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:97-102 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":407}}}],"partialFingerprints":{"codehealthFindingId/v1":"9775e0e6041beed18eab77c0df860d869c493941cfcbc1816c36cfe1fd467cd4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:461-466 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2597-2602 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1798-1803 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":461}}}],"partialFingerprints":{"codehealthFindingId/v1":"8607e59ef796a7bcc54d413c5c1a71bbe13eb45930964f20225ff742fb7611a9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:516-521 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2670-2675 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1869-1874 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":516}}}],"partialFingerprints":{"codehealthFindingId/v1":"126a157d1ea45b79c911707c2317c2e5910d289151c6eaa2fe988712291760c7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:562-567 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2748-2753 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:977-982 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6333-6338 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1927-1932 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":562}}}],"partialFingerprints":{"codehealthFindingId/v1":"6306451373ab902282f6b0f4ce65978f507552e229fd9dc2b89bdd631a859091"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:568-573 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2754-2759 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1933-1938 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":568}}}],"partialFingerprints":{"codehealthFindingId/v1":"baadf49bc838bb200cc2839c418b0783d3c9f7f742b3d4c9d6833fc0a64de672"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 13): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:622-627 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2842-2847 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6446-6451 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6799-6804 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7984-7989 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8153-8158 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2090-2095 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2522-2527 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:418-423 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1524-1529 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1999-2004 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4419-4424 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5121-5126 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 41 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":622}}}],"partialFingerprints":{"codehealthFindingId/v1":"154170ed7c2fa24080c8761c852c7af6d787a7bd06c3987b7ce7a0f2d4fea137"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 11): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:646-651 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4992-4997 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6998-7003 | crates/libs/windows/src/Windows/Devices/Background/mod.rs:12-17 | crates/libs/windows/src/Windows/Devices/Background/mod.rs:48-53 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2064-2069 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2612-2617 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:430-435 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:563-568 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3299-3304 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:242-247 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Notifications/mod.rs\u0060 as WHOLE FILES: this scan already matched 13 separate duplicated blocks between them, totalling at least 80 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":646}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a3f48e0e8cff871afe02ca6f8cc0f8f169698a5119db1206694bb5b5b9cff38"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:661-666 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1316-1321 | crates/libs/windows/src/Windows/System/mod.rs:3469-3474 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 39 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":661}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae0369b4e4d675a24d9dcaaf33d3d9449800b692585ee5102cf62812f35a7f6e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 148): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:667-672 | crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:283-288 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:78-83 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:165-170 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:267-272 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:369-374 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:435-440 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:537-542 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:2016-2021 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2363-2368 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1446-1451 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:906-911 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:160-165 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:232-237 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:325-330 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:391-396 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1167-1172 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3051-3056 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:490-495 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:1137-1142 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:1188-1193 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2427-2432 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:318-323 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:390-395 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:468-473 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:540-545 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:612-617 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:714-719 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:789-794 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:873-878 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:969-974 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1044-1049 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1143-1148 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1215-1220 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1281-1286 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1377-1382 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1453-1458 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1762-1767 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:315-320 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:711-716 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:930-935 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:765-770 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:603-608 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:330-335 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:405-410 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:477-482 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:549-554 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:615-620 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:481-486 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:844-849 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:960-965 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1684-1689 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1753-1758 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3223-3228 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2264-2269 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:3115-3120 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:466-471 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:499-504 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:532-537 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:613-618 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:832-837 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:56-61 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:130-135 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:215-220 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:298-303 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:372-377 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:716-721 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:802-807 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:876-881 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:950-955 | crates/libs/windows/src/Windows/Devices/Printers/Extensions/mod.rs:390-395 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2901-2906 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:1115-1120 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:557-562 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:937-942 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1103-1108 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1177-1182 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1273-1278 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:884-889 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1016-1021 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1241-1246 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1300-1305 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1340-1345 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1618-1623 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1698-1703 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1962-1967 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2106-2111 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2498-2503 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2528-2533 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1927-1932 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:2008-2013 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3645-3650 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3807-3812 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4947-4952 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5061-5066 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5121-5126 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:588-593 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:963-968 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:914-919 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2134-2139 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2220-2225 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2253-2258 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2286-2291 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2319-2324 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2358-2363 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2391-2396 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2430-2435 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2463-2468 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2502-2507 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:866-871 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:547-552 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4192-4197 | crates/libs/windows/src/Windows/Security/DataProtection/mod.rs:102-107 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:958-963 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:289-294 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:313-318 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:694-699 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:418-423 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:475-480 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:187-192 | crates/libs/windows/src/Windows/Storage/mod.rs:4221-4226 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2024-2029 | crates/libs/windows/src/Windows/System/mod.rs:1213-1218 | crates/libs/windows/src/Windows/System/mod.rs:3941-3946 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:123-128 | crates/libs/windows/src/Windows/UI/Core/Preview/mod.rs:107-112 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2040-2045 | crates/libs/windows/src/Windows/UI/Shell/CompanionWindows/mod.rs:72-77 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:1308-1313 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:1359-1364 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:1260-1265 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:18-23 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:78-83 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:366-371 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:568-573 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:651-656 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:720-725 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:850-855 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:938-943 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:71-76 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:175-180 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:757-762 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:892-897 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1071-1076 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3587-3592 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:283-288 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:332-337 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1844-1849 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 55 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":667}}}],"partialFingerprints":{"codehealthFindingId/v1":"06dffa267bcd3d2cde266cc7e344783ac752b00741fe5a703cbfee0844948872"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 12): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:720-725 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:847-852 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1022-1027 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1088-1093 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2995-3000 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3237-3242 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3529-3534 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3659-3664 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2068-2073 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2219-2224 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2434-2439 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2512-2517 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":720}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4879ffb18878ce675a0530d2808f9d6e83ec359fd65c61be7035a7558a51f98"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 12): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:726-731 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:853-858 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1028-1033 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1094-1099 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3001-3006 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3243-3248 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3535-3540 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3665-3670 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2074-2079 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2225-2230 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2440-2445 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2518-2523 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":726}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6560f352325bf4ec559acfcb36d927c68661d4924041ee39dcd0dc1a9e15db9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:787-792 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3126-3131 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1947-1952 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:4080-4085 | crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs:181-186 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:821-826 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2147-2152 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 46 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":787}}}],"partialFingerprints":{"codehealthFindingId/v1":"d7755cf066d28c0bc9c380cbda7cf32be6c50b0862c088c55e1a4b501cc4974b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:915-920 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3367-3372 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2299-2304 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":915}}}],"partialFingerprints":{"codehealthFindingId/v1":"3980b74ae64c473c5ee52e6064a62b0791f4d18de1b6eb5bb0931204596fc201"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:969-974 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3451-3456 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2369-2374 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":969}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4a908dfe3304eda15267f510059ccaf63a418ae3716951371aa1f55b6e40d96"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1162-1167 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3937-3942 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2598-2603 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1162}}}],"partialFingerprints":{"codehealthFindingId/v1":"0793b008c5b08c8ef75ec8c69bbf5fc98b9f29ae3d131574c46ce7cbd1964ec4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1168-1173 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1382-1387 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1991-1996 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:2926-2931 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3789-3794 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:3943-3948 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4200-4205 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2604-2609 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2838-2843 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1168}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5ab09e535b31af61ac4ef261d5bb7fcaeab9431f6b6661bcb4a57cf66af4d3a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1231-1236 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4032-4037 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:808-813 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1557-1562 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:869-874 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:564-569 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1155-1160 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4254-4259 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2671-2676 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1231}}}],"partialFingerprints":{"codehealthFindingId/v1":"079efbda4df60543ea78fabe597d7fbb9de16b54d6f825debfa199e073301565"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1292-1297 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4110-4115 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:6-11 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:880-885 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2744-2749 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1292}}}],"partialFingerprints":{"codehealthFindingId/v1":"f63a3f19b136783e6a48bad32410a919e4df69a7e229252a063b2878972014a2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1376-1381 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1530-1535 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4194-4199 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4590-4595 | crates/libs/windows/src/Windows/Media/Playlists/mod.rs:51-56 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:935-940 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2832-2837 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2995-3000 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1376}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d986a74018b4e2ac25f06289f74cda59fa74e149dba54fdda8c22bf2a596777"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1460-1465 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4461-4466 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:2913-2918 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1460}}}],"partialFingerprints":{"codehealthFindingId/v1":"749401ef1dfbf8ce0a0ce35b5aaf6c74ff922aa8f9d1a5855d3364b63b25cccf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1585-1590 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4674-4679 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3062-3067 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1585}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7062844131d7fbf291368aefbbb5e2f646d6ebd0c147c74a3a70cd2fa9fb90f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 15): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1662-1667 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4825-4830 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1414-1419 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:170-175 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:563-568 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2351-2356 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2566-2571 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:989-994 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:1020-1025 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:1069-1074 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:958-963 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1432-1437 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:891-896 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:172-177 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3151-3156 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 48 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1662}}}],"partialFingerprints":{"codehealthFindingId/v1":"a763b753fd4e3bc16690dda9a4df2155478f0c591b3a7958d81283b64c48dc52"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1725-1730 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4909-4914 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1629-1634 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1792-1797 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1057-1062 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1936-1941 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1964-1969 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3226-3231 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 52 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1725}}}],"partialFingerprints":{"codehealthFindingId/v1":"c801de27e2b41c1b86ccdc032eceefbc8d28432019d5f13f445124a2a82ab849"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1757-1762 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7186-7191 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3508-3513 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3808-3813 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1757}}}],"partialFingerprints":{"codehealthFindingId/v1":"80e8175fed5db2f5c0b026197db4245bacbdac3c6da7e704ce9dc3aefae264cb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1763-1768 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7192-7197 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3514-3519 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3814-3819 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1763}}}],"partialFingerprints":{"codehealthFindingId/v1":"896a8bfb3ebba9aad4389052c976a2fdc901b78579d3ffd573c23a6f28070e14"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 31): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:1845-1850 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1229-1234 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2636-2641 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2382-2387 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2889-2894 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:5578-5583 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2161-2166 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:485-490 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:791-796 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1014-1019 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:376-381 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:107-112 | crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs:315-320 | crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:347-352 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:467-472 | crates/libs/windows/src/Windows/Security/Authorization/AppCapabilityAccess/mod.rs:13-18 | crates/libs/windows/src/Windows/Services/Store/mod.rs:997-1002 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1174-1179 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:56-61 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:92-97 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:141-146 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:338-343 | crates/libs/windows/src/Windows/System/mod.rs:856-861 | crates/libs/windows/src/Windows/System/mod.rs:916-921 | crates/libs/windows/src/Windows/System/mod.rs:3947-3952 | crates/libs/windows/src/Windows/System/mod.rs:3983-3988 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:212-217 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2495-2500 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2743-2748 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:3228-3233 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:1018-1023 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 55 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":1845}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f5d574535ebd03d25e5419eda839cd6472f0bbc670fc636f0378f7ac68c1ed6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4294-4299 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4538-4543 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4751-4756 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5766-5771 | crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:367-372 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":4294}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc9f6439069961c5f88c4a91a37f2b607fa06b72f316bb6722c9e47c024a1097"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4757-4762 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:734-739 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:829-834 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":4757}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4236e5cf34f46c3b55bfae47fcd4a407c3f26fa5b7b9da908be50457e935a24"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:4998-5003 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7004-7009 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:554-559 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3305-3310 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/StartScreen/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":4998}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c125f00156df0c2de7926c0b6847bcc64a576210c81a1ac349801174268a297"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5172-5177 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7080-7085 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:886-891 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3392-3397 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":5172}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd8144f15c9e96fc552d874aaf26cb939dab22ad4c836e97d3a0e4773fb48b14"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5242-5247 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7148-7153 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3472-3477 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":5242}}}],"partialFingerprints":{"codehealthFindingId/v1":"d634e14521022384d7c985f47d99266a488e5543b70210748399911040cf71a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5331-5336 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7246-7251 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:106-111 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:182-187 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:236-241 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:281-286 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:372-377 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2549-2554 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3466-3471 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3650-3655 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 46 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":5331}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf1d18854577f6c7208166649056d4c04398824858aa99f1f5dab9056e21b6db"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5543-5548 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7339-7344 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3713-3718 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":5543}}}],"partialFingerprints":{"codehealthFindingId/v1":"eaf215a7df7efaf05f111c846e894ae4ccf6a2fc42a1504d6a437fce74d42e25"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 19): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5619-5624 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7386-7391 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1827-1832 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:3044-3049 | crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:230-235 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:905-910 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:875-880 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1010-1015 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1229-1234 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1288-1293 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1324-1329 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1600-1605 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1642-1647 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1956-1961 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2133-2138 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2341-2346 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2472-2477 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1854-1859 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:3772-3777 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Vpn/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 65 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":5619}}}],"partialFingerprints":{"codehealthFindingId/v1":"a930ab589d0825b82443c90d49d115f6dedb4de8bbb495095d03bd74c5300e06"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 22): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5773-5778 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:57-62 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:107-112 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/ShareTarget/mod.rs:141-146 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:1167-1172 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2382-2387 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2421-2426 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:25-30 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:106-111 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:168-173 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:1083-1088 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:355-360 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:423-428 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:700-705 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8003-8008 | crates/libs/windows/src/Windows/Media/Core/mod.rs:823-828 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4435-4440 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4679-4684 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5457-5462 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:937-942 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2866-2871 | crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs:284-289 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 33 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":5773}}}],"partialFingerprints":{"codehealthFindingId/v1":"95cab944c8c8c88587faa79ab1fee8434592d4c9f44c06d24e90239732f5694a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5868-5873 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7554-7559 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4005-4010 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":5868}}}],"partialFingerprints":{"codehealthFindingId/v1":"d61f56ec9bcea1df459696ea7158f5f38cda41078a5f609067897b21eb5a8d83"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:5946-5951 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7616-7621 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3189-3194 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4071-4076 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Vpn/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 65 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":5946}}}],"partialFingerprints":{"codehealthFindingId/v1":"b18adb27c24e116a9c3c433cf5a5deb085601c47e8636ffe4e3988deaef2ee44"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6018-6023 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7677-7682 | crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:261-266 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:64-69 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:418-423 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:566-571 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:638-643 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4136-4141 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6018}}}],"partialFingerprints":{"codehealthFindingId/v1":"85cc83a6b1447498089e3381c38990aa97d5b15f53b747f576f6cfa7870ecb4c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 26): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6024-6029 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7683-7688 | crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:267-272 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:70-75 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:424-429 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:572-577 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:644-649 | crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs:427-432 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1536-1541 | crates/libs/windows/src/Windows/Media/Core/mod.rs:201-206 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2084-2089 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2612-2617 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5993-5998 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7585-7590 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:506-511 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1770-1775 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2463-2468 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2751-2756 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1408-1413 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1999-2004 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:54-59 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1559-1564 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1753-1758 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4142-4147 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:561-566 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2560-2565 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6024}}}],"partialFingerprints":{"codehealthFindingId/v1":"c424548d78b9361ac566e9429e1ca57413b0af066001fed4c35411ff3ebd7e7a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6112-6117 | crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:273-278 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:76-81 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:578-583 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6112}}}],"partialFingerprints":{"codehealthFindingId/v1":"07bb4010898538cda9f86669368685b799cc17a4cd77618e442438cda331f8a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6170-6175 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7754-7759 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4217-4222 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6170}}}],"partialFingerprints":{"codehealthFindingId/v1":"b15d44040f205fc1569f4a4f674f5158e0521b3c150db6b3c5c4258f3d225535"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6261-6266 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7844-7849 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:288-293 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:435-440 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:507-512 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3121-3126 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4283-4288 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6261}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8cd2636ffdc06cd018205b9bc63a55c972f40a4de8282f8206bed142df4b297"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6344-6349 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7930-7935 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:3034-3039 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4353-4358 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Notifications/mod.rs\u0060 as WHOLE FILES: this scan already matched 13 separate duplicated blocks between them, totalling at least 80 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6344}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d9906358079331c66c75e31335e92723ad7bf2e4d907d9cf2178d66fde5db0e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6351-6356 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:7937-7942 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:3041-3046 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4360-4365 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Notifications/mod.rs\u0060 as WHOLE FILES: this scan already matched 13 separate duplicated blocks between them, totalling at least 80 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6351}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a262feb432b598764b1f2ea48363fc8999cfddf4766d5cf3dac99e767b49503"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 19): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6601-6606 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8039-8044 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:6-11 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:49-54 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1880-1885 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1930-1935 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1974-1979 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2018-2023 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2212-2217 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2558-2563 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2608-2613 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3445-3450 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:545-550 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:860-865 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:282-287 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:321-326 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:823-828 | crates/libs/windows/src/Windows/System/mod.rs:2708-2713 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:4983-4988 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 43 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6601}}}],"partialFingerprints":{"codehealthFindingId/v1":"98c5f8b41452485813c69ff908c2b82d605479069c820783384e8077d46c8aed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6676-6681 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8085-8090 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1427-1432 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5041-5046 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6676}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9c36e0e57c427481542fa576c74be0472c1c658a6fd7d72153c6880cdbc69ef"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6683-6688 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8092-8097 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5048-5053 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6683}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c18b572218dfcb87d17b08cca4d69482c6c153e12b05e81829983f127031326"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6689-6694 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8098-8103 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5054-5059 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6689}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b76fbec3600442cc769af2591ae75a9816c549961f8a9aa3c47b79af9a74c6a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:6878-6883 | crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs:8208-8213 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:5188-5193 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 71 separate duplicated blocks between them, totalling at least 436 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Activation/mod.rs"},"region":{"startLine":6878}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d9a04cf9ba0d4ea187bfc5c2beb1dcec3d25b69d9ec0f499bc5282b3c7f0d77"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 64): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:12-17 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:329-334 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1260-1265 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:2531-2536 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:194-199 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2135-2140 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2573-2578 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2827-2832 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2933-2938 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1904-1909 | crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:19-24 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:423-428 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:847-852 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:139-144 | crates/libs/windows/src/Windows/ApplicationModel/Preview/mod.rs:66-71 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs:102-107 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:510-515 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:445-450 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:106-111 | crates/libs/windows/src/Windows/Devices/Display/mod.rs:14-19 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1016-1021 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:712-717 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:222-227 | crates/libs/windows/src/Windows/Globalization/mod.rs:1869-1874 | crates/libs/windows/src/Windows/Globalization/mod.rs:2656-2661 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:208-213 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:380-385 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:134-139 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:362-367 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:449-454 | crates/libs/windows/src/Windows/Management/Deployment/Preview/mod.rs:45-50 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1078-1083 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:842-847 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3922-3927 | crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs:208-213 | crates/libs/windows/src/Windows/Media/Core/mod.rs:406-411 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:176-181 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1234-1239 | crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:494-499 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:582-587 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:547-552 | crates/libs/windows/src/Windows/Networking/mod.rs:126-131 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1262-1267 | crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs:199-204 | crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs:74-79 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:809-814 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1735-1740 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1855-1860 | crates/libs/windows/src/Windows/Storage/mod.rs:2935-2940 | crates/libs/windows/src/Windows/Storage/mod.rs:5504-5509 | crates/libs/windows/src/Windows/System/Inventory/mod.rs:38-43 | crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs:271-276 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:907-912 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1118-1123 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1619-1624 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1862-1867 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2648-2653 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:451-456 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:581-586 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4165-4170 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6579-6584 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2612-2617 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2744-2749 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10275-10280 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb8ddc5d5db75d428b8fad1b09d6691aac8a2c5d32bb50b7afa89259c9879856"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 22): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:24-29 | crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:219-224 | crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:255-260 | crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:285-290 | crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:315-320 | crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:351-356 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:151-156 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:331-336 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:367-372 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:397-402 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:427-432 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:463-468 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2350-2355 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2378-2383 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2472-2477 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2530-2535 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2699-2704 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2779-2784 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2918-2923 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2948-2953 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1550-1555 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1584-1589 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"677763b0358a8164ed37f02b6a9faabe0b291b9e47adffe3ed50a99a5432aa89"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:30-35 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:489-494 | crates/libs/windows/src/Windows/System/mod.rs:59-64 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:3447-3452 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 4 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"225469905a1babd8f9c72303ee924942897034b2c7d5b14b494083dd0805bf41"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:37-42 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:165-170 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"920f3bae4add114519e9adaa2c9ad62ad32fa78757e4468b17abc10c51785ce4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:44-49 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:185-190 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"351ae54423b5e0850b93aa2c4494fb9efb8ceb4699d4e8f88f026fcdc3960b00"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:98-103 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:215-220 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c786c542e057d6bb03bb3811d9f119228b773aae5b8df325dca55868451c20e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:225-230 | crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs:321-326 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:337-342 | crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:433-438 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 73 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppExtensions/mod.rs"},"region":{"startLine":225}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0b85df85cad25c8769914efbb0e16e93898953ece8a5e176bbf00b8e058973e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 165): crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:22-27 | crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:314-319 | crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:623-628 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:697-702 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1707-1712 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3442-3447 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:438-443 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1558-1563 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1702-1707 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:879-884 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2458-2463 | crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:224-229 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:257-262 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:332-337 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1786-1791 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2015-2020 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2758-2763 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:3169-3174 | crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs:248-253 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:578-583 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1469-1474 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:719-724 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1783-1788 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:472-477 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:620-625 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:863-868 | crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:22-27 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:764-769 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:821-826 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1002-1007 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1286-1291 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2161-2166 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2294-2299 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2519-2524 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2917-2922 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:3145-3150 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1426-1431 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:940-945 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1619-1624 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:357-362 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:8-13 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:868-873 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:930-935 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1399-1404 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1510-1515 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:106-111 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:1524-1529 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:353-358 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7055-7060 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7972-7977 | crates/libs/windows/src/Windows/Devices/Power/mod.rs:97-102 | crates/libs/windows/src/Windows/Devices/Printers/Extensions/mod.rs:219-224 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1354-1359 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1822-1827 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1961-1966 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2613-2618 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:642-647 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:838-843 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:711-716 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:342-347 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:402-407 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:88-93 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:6-11 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:67-72 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:258-263 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:351-356 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:460-465 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:841-846 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:976-981 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1117-1122 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1410-1415 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2400-2405 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:509-514 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:582-587 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:3335-3340 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2062-2067 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2120-2125 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2414-2419 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2768-2773 | crates/libs/windows/src/Windows/Management/mod.rs:116-121 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:276-281 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2015-2020 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2291-2296 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2328-2333 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2365-2370 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2402-2407 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2439-2444 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2476-2481 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:5042-5047 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1024-1029 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6818-6823 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3438-3443 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4323-4328 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:439-444 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1082-1087 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:507-512 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:676-681 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:996-1001 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:374-379 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:387-392 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:854-859 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3163-3168 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5450-5455 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5481-5486 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5535-5540 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5990-5995 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:720-725 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:14-19 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:317-322 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3743-3748 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3848-3853 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:507-512 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:1001-1006 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:1043-1048 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1101-1106 | crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:407-412 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:13-18 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:624-629 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:829-834 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:859-864 | crates/libs/windows/src/Windows/Security/DataProtection/mod.rs:126-131 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:37-42 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:173-178 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:982-987 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:1013-1018 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:791-796 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:946-951 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1218-1223 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1265-1270 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1420-1425 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1508-1513 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1573-1578 | crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs:289-294 | crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs:68-73 | crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs:164-169 | crates/libs/windows/src/Windows/Services/Maps/OfflineMaps/mod.rs:210-215 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:919-924 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1351-1356 | crates/libs/windows/src/Windows/Services/Store/mod.rs:831-836 | crates/libs/windows/src/Windows/Services/Store/mod.rs:938-943 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2079-2084 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2360-2365 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2646-2651 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:178-183 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1954-1959 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2006-2011 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2343-2348 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2596-2601 | crates/libs/windows/src/Windows/System/Diagnostics/Telemetry/mod.rs:68-73 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:925-930 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1778-1783 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2048-2053 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2320-2325 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2489-2494 | crates/libs/windows/src/Windows/System/mod.rs:204-209 | crates/libs/windows/src/Windows/System/mod.rs:615-620 | crates/libs/windows/src/Windows/System/mod.rs:2701-2706 | crates/libs/windows/src/Windows/System/mod.rs:4175-4180 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:932-937 | crates/libs/windows/src/Windows/UI/Shell/CompanionWindows/mod.rs:121-126 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:30-35 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12385-12390 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7449-7454 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8102-8107 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10706-10711 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 14 separate duplicated blocks between them, totalling at least 81 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"19415cc94b8d4bcbb7bf71e4cc3b44bbec12ad091fa607556cbe15cd1e8ddc9c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:88-93 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1957-1962 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"a718dbcc2823326f6a95ab3a395545458a2f6510f9c680130dc07adc4dd50ccd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 12): crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:243-248 | crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:308-313 | crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:617-622 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:782-787 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:2839-2844 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1623-1628 | crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs:516-521 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:805-810 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:6504-6509 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2459-2464 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:230-235 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:290-295 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 19 separate duplicated blocks between them, totalling at least 113 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs"},"region":{"startLine":243}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b6d5776200dda6d35dafe6bffe5c567116e2ae22f299a65d1fc4d59a465ef85"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 63): crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs:277-282 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:72-77 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:159-164 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:261-266 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:363-368 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:429-434 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:531-536 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:154-159 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:226-231 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:319-324 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:385-390 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:1233-1238 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:312-317 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:384-389 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:462-467 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:534-539 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:606-611 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:708-713 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:783-788 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:867-872 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:963-968 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1038-1043 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1137-1142 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1209-1214 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1275-1280 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1371-1376 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1447-1452 | crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs:84-89 | crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:279-284 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:778-783 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:759-764 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:324-329 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:399-404 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:471-476 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:543-548 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:609-614 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:50-55 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:124-129 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:292-297 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:366-371 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:710-715 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:796-801 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:870-875 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:944-949 | crates/libs/windows/src/Windows/Devices/Printers/Extensions/mod.rs:437-442 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1972-1977 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:816-821 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4830-4835 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5007-5012 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5031-5036 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5166-5171 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:806-811 | crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:226-231 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:516-521 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:246-251 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:710-715 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:1305-1310 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:599-604 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:675-680 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:874-879 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1851-1856 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11171-11176 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16131-16136 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/AppService/mod.rs"},"region":{"startLine":277}}}],"partialFingerprints":{"codehealthFindingId/v1":"8080b008997a3a15e9e256871816f1a8d6902db25259d781a8bd624ff3e60439"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 16): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:24-29 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:213-218 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:321-326 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:483-488 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:44-49 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:105-110 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:444-449 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:654-659 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:921-926 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1323-1328 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:284-289 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2365-2370 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:355-360 | crates/libs/windows/src/Windows/Security/Authentication/Identity/mod.rs:20-25 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:50-55 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:570-575 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd2da738794e3dd68b96f045134b7f8ae1f8acb0b3696759094ce738249e89b3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:30-35 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:225-230 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:327-332 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:489-494 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:672-677 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:927-932 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1329-1334 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:90-95 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2836-2841 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 15 separate duplicated blocks between them, totalling at least 87 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d97b148a64595957698233d60f54cd6cb1b1b1b23b98eaf5c003966f631e4fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 29): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:42-47 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:231-236 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:333-338 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:399-404 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:501-506 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:196-201 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:289-294 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:355-360 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:354-359 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:432-437 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:504-509 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:576-581 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:678-683 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:837-842 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:933-938 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1107-1112 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1179-1184 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1245-1250 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1341-1346 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:441-446 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:513-518 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:579-584 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:6-11 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:80-85 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:322-327 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:666-671 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:752-757 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:826-831 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:900-905 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"83795245791d84e57bd8f33cfae28e72c4d58e99650b893c38ac06d872ad5ed7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 33): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:48-53 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:135-140 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:237-242 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:339-344 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:405-410 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:507-512 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:130-135 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:202-207 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:361-366 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:438-443 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:510-515 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:684-689 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:759-764 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:843-848 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:939-944 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1014-1019 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1185-1190 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1251-1256 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1347-1352 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1423-1428 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:300-305 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:375-380 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:447-452 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:519-524 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:585-590 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:12-17 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:86-91 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:254-259 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:328-333 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:672-677 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:758-763 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:832-837 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:906-911 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fb66b1d9cc7186c1dc81cb5852c00d7c99dd09d7338f5e92a59a728489bd1fe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:207-212 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:84-89 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":207}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e5d467ab628560ffd85afa7b10771f5706fd4b7097e2c8ad6b932b71b6fad41"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:219-224 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:666-671 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 15 separate duplicated blocks between them, totalling at least 87 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b7ca87803a36dde0a76fa446d417843b9c48dfaf165056ca49ff80cbc67d309"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:309-314 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:909-914 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 15 separate duplicated blocks between them, totalling at least 87 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":309}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb3217fdac305e1652b5e150ffda06915681d43fe2630a1851d67b9464c05469"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:315-320 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:915-920 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 15 separate duplicated blocks between them, totalling at least 87 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":315}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9b2bc986594c44f33013573e9ed2d9f1b6eb3326c3759bda044f65f389ebfaa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:477-482 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:949-954 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1317-1322 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":477}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3021a934f450c65f6c79379e18014cccec3cfbcfa70895ff2cb51473fc3633e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:495-500 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1335-1340 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 15 separate duplicated blocks between them, totalling at least 87 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":495}}}],"partialFingerprints":{"codehealthFindingId/v1":"98afad18f4e574012d8a2325e9ff0dd3dffc55b1d60386b4aa05b435a2152a65"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 14): crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs:666-671 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:85-90 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:237-242 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:258-263 | crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:202-207 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:173-178 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:636-641 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:576-581 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:743-748 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:944-949 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:831-836 | crates/libs/windows/src/Windows/UI/UIAutomation/mod.rs:46-51 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3067-3072 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3305-3310 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/DataProvider/mod.rs"},"region":{"startLine":666}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9c19d3a85dde3d0249a498e1db6bf33f3ad268395b808e2c7c6e73897b803d9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 17): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:17-22 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2092-2097 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2561-2566 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3903-3908 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2309-2314 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:824-829 | crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:6-11 | crates/libs/windows/src/Windows/Devices/Power/mod.rs:234-239 | crates/libs/windows/src/Windows/Media/Control/mod.rs:523-528 | crates/libs/windows/src/Windows/Media/Core/mod.rs:1687-1692 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2510-2515 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4991-4996 | crates/libs/windows/src/Windows/Media/mod.rs:2523-2528 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:552-557 | crates/libs/windows/src/Windows/UI/Shell/Tasks/mod.rs:130-135 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7125-7130 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7660-7665 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 14 separate duplicated blocks between them, totalling at least 81 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bbba67d21e2b56a1cc34961f6aef7e21071b9003ab569c97a66c774a20b07e6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:35-40 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Provider/mod.rs:112-117 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2247-2252 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:2825-2830 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7650-7655 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 28 separate duplicated blocks between them, totalling at least 163 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"109354b32626fc326076bb01e3fa7ee4ac24d6d818862074957eeee617253b08"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:53-58 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:269-274 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 21 separate duplicated blocks between them, totalling at least 123 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"689b6a28b8aeb1c8f773658a4b25f066c56f413f849bb96a2d0fe00ad663bc77"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:90-95 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2287-2292 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 28 separate duplicated blocks between them, totalling at least 163 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"60e914fe38be314f6519e14d9bd601d79ae4e3a91b387e7cdc8961c2745278b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:120-125 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:346-351 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 21 separate duplicated blocks between them, totalling at least 123 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":120}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a93ca80c2e238fb779d4aedca277ebba7d22d63b8ff51fef8cc40ac55807481"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:323-328 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2921-2926 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 14 separate duplicated blocks between them, totalling at least 81 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":323}}}],"partialFingerprints":{"codehealthFindingId/v1":"07abeefc906e32c8e95b9b6257d4632225f64ed0107ff0c3bc2b265da9773cce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:344-349 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1919-1924 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 27 separate duplicated blocks between them, totalling at least 156 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":344}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e145f3a927e33ec9e5192e8aa76544c902c5937ab7da3ec35d15dfd8571eb3f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:350-355 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2050-2055 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1928-1933 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:889-894 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:210-215 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:525-530 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 14 separate duplicated blocks between them, totalling at least 81 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":350}}}],"partialFingerprints":{"codehealthFindingId/v1":"84661fad3e996ccff5d3fb702088cc586e6faac00bb1d47d889d39a879e7b719"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:359-364 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1937-1942 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:898-903 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:534-539 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 27 separate duplicated blocks between them, totalling at least 156 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":359}}}],"partialFingerprints":{"codehealthFindingId/v1":"fdcedc12942ed0bb5c7448a6d61f0c761702d204c9fb0197ec0361657e570ca9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:368-373 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2068-2073 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1913-1918 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:913-918 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:519-524 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 14 separate duplicated blocks between them, totalling at least 81 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":368}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2d76872cace10c73d94e49bccfa65025ee48aaaa3616053426fbd64fca8e9fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:446-451 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:141-146 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:667-672 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1990-1995 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:462-467 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:961-966 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:244-249 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:597-602 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:362-367 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 64 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":446}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d45528f746b6972f8c70a242dd807f0960691da9b6fa809f6047bffe2bf17c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 13): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:452-457 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:165-170 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1984-1989 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:991-996 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:419-424 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:238-243 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:603-608 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:397-402 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:427-432 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:935-940 | crates/libs/windows/src/Windows/Media/Playlists/mod.rs:57-62 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1186-1191 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:384-389 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 64 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":452}}}],"partialFingerprints":{"codehealthFindingId/v1":"4801edb82314169cc30c2d7f44d7c7e9fda21bcc039f4405e8cbc0f4ba58fd12"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:703-708 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2464-2469 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:441-446 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2021-2026 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:710-715 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 27 separate duplicated blocks between them, totalling at least 156 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":703}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4352efd14c61c07f25e9c0343419d39c20683276026f33e6b7254cbf0959c36"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:709-714 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2470-2475 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2027-2032 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:701-706 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 27 separate duplicated blocks between them, totalling at least 156 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":709}}}],"partialFingerprints":{"codehealthFindingId/v1":"51cc644ec31f96039016d0aba600e06a6316eebf85a92dd25db482c895f6c767"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:715-720 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2476-2481 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2033-2038 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:728-733 | crates/libs/windows/src/Windows/Management/Update/mod.rs:825-830 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 27 separate duplicated blocks between them, totalling at least 156 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":715}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed10b0282f992cc674c7bac6bd7efdb947fe040eb5ac30f9af0808b16299a1e1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 49): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:784-789 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3558-3563 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1390-1395 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4291-4296 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs:68-73 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:71-76 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:251-256 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:124-129 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:93-98 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:546-551 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:653-658 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1386-1391 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1430-1435 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1558-1563 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1616-1621 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1723-1728 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1767-1772 | crates/libs/windows/src/Windows/Foundation/mod.rs:451-456 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1033-1038 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:624-629 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1307-1312 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1691-1696 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6281-6286 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1276-1281 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1726-1731 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:313-318 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:81-86 | crates/libs/windows/src/Windows/Media/mod.rs:2395-2400 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:1360-1365 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4739-4744 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1732-1737 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2129-2134 | crates/libs/windows/src/Windows/Networking/mod.rs:138-143 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:801-806 | crates/libs/windows/src/Windows/System/mod.rs:3775-3780 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:184-189 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:396-401 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:543-548 | crates/libs/windows/src/Windows/UI/Core/mod.rs:608-613 | crates/libs/windows/src/Windows/UI/Text/mod.rs:3571-3576 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:215-220 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3066-3071 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3513-3518 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4861-4866 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6843-6848 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:3310-3315 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:2407-2412 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4292-4297 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6635-6640 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 14 separate duplicated blocks between them, totalling at least 81 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":784}}}],"partialFingerprints":{"codehealthFindingId/v1":"b65aaa450516dea50f2daa7525b5aeb5bff23820441118657b59a506f8f6904b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:790-795 | crates/libs/windows/src/Windows/Media/Import/mod.rs:841-846 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1204-1209 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1525-1530 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":790}}}],"partialFingerprints":{"codehealthFindingId/v1":"b05c6f682f378b77e7921f971bb2bc2d694ce54ffbd05b48722f82201377b920"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:940-945 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:715-720 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:745-750 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1926-1931 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":940}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6b1ad509ce28fe4109a8098fcb0b36f514c48dfc9ef9acde278e57976179e18"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1269-1274 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:2540-2545 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1329-1334 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:3119-3124 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7526-7531 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4301-4306 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5814-5819 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 27 separate duplicated blocks between them, totalling at least 156 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1269}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6938b3faa9653937d1ed16a62ff250619fac1858ee21781b0edd4fd81ca2eeb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1505-1510 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:952-957 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:1073-1078 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1805-1810 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:651-656 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1458-1463 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1792-1797 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 21 separate duplicated blocks between them, totalling at least 123 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1505}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3cba71acab8d4b22e87afa8c943757181f15e42fca76b3b1d1e3cc41ddf1de9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1534-1539 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:981-986 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:1102-1107 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1456-1461 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1567-1572 | crates/libs/windows/src/Windows/System/mod.rs:1237-1242 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11174-11179 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 21 separate duplicated blocks between them, totalling at least 123 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1534}}}],"partialFingerprints":{"codehealthFindingId/v1":"e52bb461cc83472e9a1ff53dca7313033cce40e807d276a21bbeba928c1ea22d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1561-1566 | crates/libs/windows/src/Windows/Globalization/mod.rs:233-238 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1561}}}],"partialFingerprints":{"codehealthFindingId/v1":"074ba05593bf9ae2a1d5b48bc3d7610ef9fc99f6d0402be505de597be74a6a68"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1570-1575 | crates/libs/windows/src/Windows/Globalization/mod.rs:302-307 | crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs:334-339 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1570}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9364583b979c49dded71db534fc53d3e4250cea9c49817a7b7cf721b18b33f5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1654-1659 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1134-1139 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1946-1951 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:841-846 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1942-1947 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 64 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1654}}}],"partialFingerprints":{"codehealthFindingId/v1":"93e002cdd8f206c048b003f98f67c61387f72a71009490438dc8ec37fac06f18"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1684-1689 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:251-256 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 51 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1684}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8a770aac4a394f213e793fb830baf9784af825141cbae8e9673c4814fd28545"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1875-1880 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:287-292 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:776-781 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1030-1035 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1611-1616 | crates/libs/windows/src/Windows/Storage/mod.rs:5240-5245 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:3114-3119 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 64 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1875}}}],"partialFingerprints":{"codehealthFindingId/v1":"66314c1c105631d8b5c8ff60ae7ac2589c8ceb6cd5a07642675db7869380a92e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 13): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1906-1911 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2321-2326 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:227-232 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:815-820 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1077-1082 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1741-1746 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1069-1074 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3528-3533 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:356-361 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1662-1667 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2812-2817 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:921-926 | crates/libs/windows/src/Windows/Storage/mod.rs:5288-5293 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 14 separate duplicated blocks between them, totalling at least 81 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1906}}}],"partialFingerprints":{"codehealthFindingId/v1":"288a0b8049452d941a2076777a5957d2a91b2f5eb8a47f10c7f8da9b2ed570e4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1939-1944 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:842-847 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1096-1101 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1695-1700 | crates/libs/windows/src/Windows/Storage/mod.rs:5325-5330 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 64 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":1939}}}],"partialFingerprints":{"codehealthFindingId/v1":"74012912edbfb1ff23b27f2ca272caf762e1ee5a012b25fa1a27a7a7f53f13a7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:8-13 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:333-338 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sensors/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4d57264f53e88b0df063819dee1d0a19b7ab8a24c301d8b3dd629b73e099678"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 13): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:14-19 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:477-482 | crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs:21-26 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:23-28 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:619-624 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:774-779 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:973-978 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1253-1258 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4526-4531 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4809-4814 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5089-5094 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5427-5432 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5670-5675 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sensors/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e448bea906852e94dbbffa4395b7ad8a53f110fcee7133cf32b9cb87f890231"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:21-26 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:351-356 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sensors/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fa67fffb9f598e1370349a6e57906683718f5df4ac5507ebcde497a1cf5495c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 13): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:27-32 | crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs:12-17 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:14-19 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:357-362 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:610-615 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:765-770 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:964-969 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1244-1249 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4517-4522 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4800-4805 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5080-5085 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5418-5423 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5661-5666 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sensors/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"cecc5b9595f20e7ffdce456f14081afa64a663c2313ed6fa2db1a6dfe4215566"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:143-148 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2300-2305 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:3242-3247 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 66 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":143}}}],"partialFingerprints":{"codehealthFindingId/v1":"9423df00f4067209d758f8f263e215309694970ffd4097395e7ed9b2f101dfc9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:255-260 | crates/libs/windows/src/Windows/Media/mod.rs:1685-1690 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":255}}}],"partialFingerprints":{"codehealthFindingId/v1":"56e18a566436285eaaf53cebb52cc097836143f93f5bde38666a2e934034c70a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:464-469 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1637-1642 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":464}}}],"partialFingerprints":{"codehealthFindingId/v1":"701e4eb4d740c96dd38e1e3e4c1cecc79245020eff0226216326d14870d09f1f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:624-629 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:712-717 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2316-2321 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:182-187 | crates/libs/windows/src/Windows/System/mod.rs:469-474 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":624}}}],"partialFingerprints":{"codehealthFindingId/v1":"06089e9ac172f7dca18ffbb6a4a2d310145d7e713d9bcbb7d1d1d57b43ed1b68"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:718-723 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2328-2333 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2536-2541 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2705-2710 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2785-2790 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2954-2959 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3055-3060 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2367-2372 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1009-1014 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2358-2363 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":718}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f37d9ed970a7391cf2682977b47879ea2731dfac4c55ec4f5edacb67a3d9860"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:783-788 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2762-2767 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2904-2909 | crates/libs/windows/src/Windows/System/mod.rs:395-400 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 67 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":783}}}],"partialFingerprints":{"codehealthFindingId/v1":"c72e927863b36f6db443ebef362aca3c0e97ec15474b40325e8b793456994e82"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1042-1047 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:362-367 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:478-483 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:681-686 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:336-341 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1042}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7048cfd42dbcaf5973e510fc57ac2f555d57f32d88da083c07a81ca4956c179"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1145-1150 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:839-844 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1145}}}],"partialFingerprints":{"codehealthFindingId/v1":"87438f23ffe81c4af53c78f509c5203f09c04e34c8376913fab69c3fc673d601"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1151-1156 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:845-850 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1151}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4276f03e79dcc6b0a3b6711a74a076d82850af821472085000ba999561f1ede"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1157-1162 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:851-856 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1157}}}],"partialFingerprints":{"codehealthFindingId/v1":"692c6909ccc2c2b71773ba05817f052bf4d5fe1dfb969bc5f9e929b29dfe9706"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1163-1168 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:857-862 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1163}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4d19ce77a230f029ced2724115da5adc4fb2ce99116d7048cd6d725fc96cf7c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1170-1175 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:878-883 | crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:72-77 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1170}}}],"partialFingerprints":{"codehealthFindingId/v1":"7914a7b3bca9ad420351f4d285ed531ca9c41ace028b83f6ddfa5ba03befd04e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1184-1189 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:890-895 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1184}}}],"partialFingerprints":{"codehealthFindingId/v1":"575b79391d2312efb531e6f0847e382e47975265d152e6faf79f15cd9ee8b250"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1291-1296 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:95-100 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 66 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1291}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f5514ddf8c56ca176a182a236180537b40f17ddc6589f1cfbeca3378ab4e34c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1496-1501 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1849-1854 | crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:150-155 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1496}}}],"partialFingerprints":{"codehealthFindingId/v1":"7828d89342779c0f9ca3afbca5a573f484568af291c62191de84a2c63610a3fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 58): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1549-1554 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3225-3230 | crates/libs/windows/src/Windows/Devices/Background/mod.rs:6-11 | crates/libs/windows/src/Windows/Devices/Background/mod.rs:42-47 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1055-1060 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:14-19 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:247-252 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1050-1055 | crates/libs/windows/src/Windows/Devices/Display/mod.rs:8-13 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:148-153 | crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:62-67 | crates/libs/windows/src/Windows/Devices/I2c/mod.rs:129-134 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:180-185 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:275-280 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:252-257 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:765-770 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1017-1022 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9-14 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1064-1069 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1477-1482 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1746-1751 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2023-2028 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2302-2307 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2550-2555 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6376-6381 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7320-7325 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8154-8159 | crates/libs/windows/src/Windows/Devices/Power/mod.rs:6-11 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:823-828 | crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs:27-32 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:345-350 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:604-609 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:759-764 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1595-1600 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1792-1797 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5649-5654 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5874-5879 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:6077-6082 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:3066-3071 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:644-649 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1754-1759 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2455-2460 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:93-98 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:381-386 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:637-642 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:264-269 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1939-1944 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:5084-5089 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6812-6817 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3833-3838 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3952-3957 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4188-4193 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4624-4629 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4691-4696 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4860-4865 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5017-5022 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:878-883 | crates/libs/windows/src/Windows/System/mod.rs:4044-4049 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 48 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1549}}}],"partialFingerprints":{"codehealthFindingId/v1":"41db1b7b22073c710fd14fa7a3a8a56f4ea1516197c345250c105b886a2e8ddb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1555-1560 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2811-2816 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 48 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1555}}}],"partialFingerprints":{"codehealthFindingId/v1":"ced29bcaad6c22c96a9afa185f3b6c364846bec0142b72b8acd3a738bf475ed4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1561-1566 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2820-2825 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 48 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1561}}}],"partialFingerprints":{"codehealthFindingId/v1":"948b506ac8cde83dd11355c7728c8f90aa85e74e8cd402f3086967a87ac31c73"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1788-1793 | crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:97-102 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1548-1553 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1788}}}],"partialFingerprints":{"codehealthFindingId/v1":"9630342074eb98fd5ef0b4de04d74e42a57709d64f9833455d40d3887d0656b4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1856-1861 | crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:157-162 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2423-2428 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1856}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1057f666ca01c268043da34ea56e000789ed1cc368c0287b4695c576788ec66"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1904-1909 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2922-2927 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:314-319 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1904}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fbef23c97ebf18cad8a8849b947fca713540ab75c8b7d5d96fa6a859dc522de"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 18): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1911-1916 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:626-631 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:1042-1047 | crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:28-33 | crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:59-64 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1554-1559 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1712-1717 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2399-2404 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2513-2518 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2624-2629 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2911-2916 | crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs:335-340 | crates/libs/windows/src/Windows/Devices/SerialCommunication/mod.rs:6-11 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:408-413 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1475-1480 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4476-4481 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2780-2785 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12394-12399 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1911}}}],"partialFingerprints":{"codehealthFindingId/v1":"51abd87056ab288f4d75fd8e4798d46957d9a435cc949084c71f83d74581ec9a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:1944-1949 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:849-854 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":1944}}}],"partialFingerprints":{"codehealthFindingId/v1":"e377f0434318bbd6a802bed54a4294d522c4177c4c24a25d9baac187f9c01e5e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2322-2327 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/DataProvider/mod.rs:360-365 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2322}}}],"partialFingerprints":{"codehealthFindingId/v1":"17316784146de6f63d1e79c12cfb0f2a03d8a89009d1f24c66d0bfd3df7b972f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:4086-4091 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:4468-4473 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:4697-4702 | crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:4928-4933 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:3214-3219 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":4086}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6ba5b1edb625158638174e2230d34f56c4ee9395f0fd3822572b1af44a43320"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:4403-4408 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:2953-2958 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3030-3035 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3052-3057 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5653-5658 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:6274-6279 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":4403}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8643691605bf813a39c37a3d3c63956ade1392b94b9eb98c181bec3fdf93b5b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:4596-4601 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:18-23 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:874-879 | crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs:206-211 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3487-3492 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 48 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":4596}}}],"partialFingerprints":{"codehealthFindingId/v1":"fce54632e579841da085deae6a5b0debfa73c674fccd8f28ca8d30d84a46663a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:4607-4612 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3451-3456 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:392-397 | crates/libs/windows/src/Windows/Networking/mod.rs:59-64 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 67 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":4607}}}],"partialFingerprints":{"codehealthFindingId/v1":"c42551c1534a73410e4ecd49589c02a0656dec3d3937c780b424b11c9d4f0911"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:100-105 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:142-147 | crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:188-193 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2567-2572 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:544-549 | crates/libs/windows/src/Windows/Globalization/PhoneNumberFormatting/mod.rs:185-190 | crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs:212-217 \u2014 there are 7 copies across 5 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcce2dfa91615bbc29cd8fcfcd2a2347c12cbe1555af2738cac03798f20f43f0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:136-141 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1397-1402 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11245-11250 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8c25f757ea0b6d1273950c5d2582744e5878810a276617a3a827bcf1947287f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 20): crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:212-217 | crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs:36-41 | crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs:115-120 | crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/mod.rs:37-42 | crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/mod.rs:87-92 | crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs:235-240 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9778-9783 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:575-580 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2621-2626 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2654-2659 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2738-2743 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4873-4878 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7453-7458 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2990-2995 | crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs:121-126 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1823-1828 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2788-2793 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:345-350 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:307-312 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:699-704 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs"},"region":{"startLine":212}}}],"partialFingerprints":{"codehealthFindingId/v1":"0af1e9b2f4a9ada0642159384149400d7fa3dcca1caed1f69c1fa439dc572556"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs:242-247 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1695-1700 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/Background/mod.rs"},"region":{"startLine":242}}}],"partialFingerprints":{"codehealthFindingId/v1":"15b3b7f84cd22854f48e7f3f476151e4bd11070a93aa2f19bd5caee6febc5d57"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Calls/Provider/mod.rs:94-99 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2828-2833 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/Provider/mod.rs"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"024065892fbf388f0320115414c74c0467b44229a1a6fc367e06e6692f65d605"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:17-22 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:106-111 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1280-1285 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1565-1570 | crates/libs/windows/src/Windows/Management/Setup/mod.rs:444-449 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb448e1d69140c4937b6f05d6f198836b387f62f5a2ac3d051699611dfdfd1d8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:44-49 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:133-138 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1319-1324 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1583-1588 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1207-1212 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:372-377 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:705-710 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 105 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a427027bffe2dfa360372dc2458b8ec9f8a77eceb920f50afd419710956f801"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 61): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:243-248 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:344-349 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2484-2489 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3115-3120 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2210-2215 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2393-2398 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:3065-3070 | crates/libs/windows/src/Windows/Devices/Radios/mod.rs:56-61 | crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:32-37 | crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:106-111 | crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:352-357 | crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:515-520 | crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:603-608 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:591-596 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1009-1014 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1102-1107 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1195-1200 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1288-1293 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1388-1393 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1537-1542 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1645-1650 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1742-1747 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1835-1840 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1928-1933 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2021-2026 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2114-2119 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2250-2255 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2335-2340 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2428-2433 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2521-2526 | crates/libs/windows/src/Windows/Management/Setup/mod.rs:13-18 | crates/libs/windows/src/Windows/Management/Setup/mod.rs:333-338 | crates/libs/windows/src/Windows/Management/mod.rs:207-212 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1945-1950 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:493-498 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:793-798 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2514-2519 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2547-2552 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2653-2658 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:7-12 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:80-85 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:335-340 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1493-1498 | crates/libs/windows/src/Windows/Media/mod.rs:1756-1761 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:98-103 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:519-524 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:626-631 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5184-5189 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:985-990 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:374-379 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:354-359 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1167-1172 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:1310-1315 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1728-1733 | crates/libs/windows/src/Windows/System/Update/mod.rs:88-93 | crates/libs/windows/src/Windows/System/Update/mod.rs:175-180 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2081-2086 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2119-2124 | crates/libs/windows/src/Windows/UI/Shell/Tasks/mod.rs:124-129 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1620-1625 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1092-1097 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":243}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4ed618ff2a327c6c7c9602a7a8fa0b5287c83964d0745d6e89674b4fe309626"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 15): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1452-1457 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:1131-1136 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:1179-1184 | crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:321-326 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1690-1695 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3229-3234 | crates/libs/windows/src/Windows/Devices/Printers/Extensions/mod.rs:396-401 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2895-2900 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1912-1917 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1996-2001 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:905-910 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:952-957 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:424-429 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:1254-1259 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:1077-1082 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 45 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":1452}}}],"partialFingerprints":{"codehealthFindingId/v1":"20da2097066c003edb70a12ca33e6e7611878883f44aa497a79749bcb6d6a02f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1534-1539 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:104-109 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":1534}}}],"partialFingerprints":{"codehealthFindingId/v1":"32845c7f49c37a552da225d0e44150831188dadb4d84e4fd570653853b776958"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1701-1706 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3850-3855 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":1701}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ce7f8dfd344069979be8cf0730e9e23f3e07d7552dcbddaa970778af2a4d101"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1731-1736 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1130-1135 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":1731}}}],"partialFingerprints":{"codehealthFindingId/v1":"13637adc9e2b394553534787ce8f2a2470baed5d0c3d23ab6a4dc71936c6fc62"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1791-1796 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:313-318 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":1791}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ce6cfc90e22e87641b3c23dbc2326178a45e9aba2a792398fbe16777f52130f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:1987-1992 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:402-407 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 42 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":1987}}}],"partialFingerprints":{"codehealthFindingId/v1":"345c1011d97681eb5ef0718eb5ea6c5761aff3144639538cd62a04e457b80147"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2059-2064 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:589-594 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:402-407 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:250-255 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 105 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":2059}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e56fbbe36e7b10bebc5240c9946b1c97255038191f87cb9ab55c6f915023175"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2126-2131 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:264-269 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:190-195 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:580-585 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 42 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":2126}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe1ace88ea00fdac3f3a6cf26b9d3171349a5d1cf800167c0b9a04342845ced0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2781-2786 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1696-1701 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1733-1738 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1770-1775 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1950-1955 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2285-2290 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":2781}}}],"partialFingerprints":{"codehealthFindingId/v1":"13a516d1a1542da26c58c2d213ecb93aefe0bfe2cbc0e459341d48c9e1943db7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2818-2823 | crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3546-3551 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3109-3114 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 105 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":2818}}}],"partialFingerprints":{"codehealthFindingId/v1":"cba78d780f48c7df11fdece72fb2d39adbd43e552ab9c59d530f060d9711f9a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 38): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:2914-2919 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:7-12 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:6-11 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:57-62 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:118-123 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:348-353 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:416-421 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:513-518 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:579-584 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:693-698 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:23-28 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1180-1185 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2659-2664 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:568-573 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:678-683 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1449-1454 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:40-45 | crates/libs/windows/src/Windows/Management/Setup/mod.rs:377-382 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:991-996 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1848-1853 | crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs:155-160 | crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs:13-18 | crates/libs/windows/src/Windows/Security/Isolation/mod.rs:860-865 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2242-2247 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2291-2296 | crates/libs/windows/src/Windows/System/Power/Thermal/mod.rs:137-142 | crates/libs/windows/src/Windows/UI/Core/mod.rs:602-607 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:67-72 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:777-782 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:867-872 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1419-1424 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:3453-3458 | crates/libs/windows/src/Windows/UI/Text/mod.rs:29-34 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:143-148 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1408-1413 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1602-1607 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:103-108 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1659-1664 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":2914}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa13bf6c943d9fd9b7dc5a36bfc59cd8b7bfa61d20e96b23e997796011ce71b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3123-3128 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1500-1505 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:3020-3025 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4366-4371 | crates/libs/windows/src/Windows/Media/mod.rs:525-530 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 42 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":3123}}}],"partialFingerprints":{"codehealthFindingId/v1":"c774f75188958b1bf465e8c39fc0568e362a42b399f8102d85c5ad784d2de112"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3238-3243 | crates/libs/windows/src/Windows/Security/Authorization/AppCapabilityAccess/mod.rs:19-24 | crates/libs/windows/src/Windows/UI/Notifications/Management/mod.rs:35-40 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":3238}}}],"partialFingerprints":{"codehealthFindingId/v1":"b195333a41502316a2d2f6cfce7a2aa808b40bd4c8c228282b94130f8fe99d0d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3276-3281 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:612-617 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:300-305 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/WiFi/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":3276}}}],"partialFingerprints":{"codehealthFindingId/v1":"53061dfd1f4c39951d755c0d96735acf76ac7f93e5952d67df2a2d582efcd425"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3552-3557 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:254-259 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 15 separate duplicated blocks between them, totalling at least 87 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":3552}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc53402e10015361017ca8e5fe0ac1e88c66375774c2319e67925d38818bf4ca"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:123-128 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:260-265 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 19 separate duplicated blocks between them, totalling at least 113 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"391d64c772543c0266adc56c88deb385f90a2610be6ba082aa1cf047ceac2168"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:147-152 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1158-1163 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:495-500 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:946-951 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:3272-3277 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 19 separate duplicated blocks between them, totalling at least 113 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":147}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb5add2e7a767f34c91d2dd07e2358f62ec04cf3f89033ae102491786825c90f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:369-374 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2401-2406 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 19 separate duplicated blocks between them, totalling at least 113 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":369}}}],"partialFingerprints":{"codehealthFindingId/v1":"2972e0f13192bba3c0e05aeb327668097009198c8cbca2c31c982b70b2ea2a40"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:375-380 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2374-2379 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:931-936 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1272-1277 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1482-1487 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2607-2612 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2719-2724 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2844-2849 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2967-2972 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 19 separate duplicated blocks between them, totalling at least 113 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":375}}}],"partialFingerprints":{"codehealthFindingId/v1":"8198ce01bb4e640b45be1d120388831c6a27f0a359680dd99d062ed3fa3d8201"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:384-389 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:922-927 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1266-1271 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2601-2606 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2710-2715 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2838-2843 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3045-3050 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3095-3100 \u2014 there are 8 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 8 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":384}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f3d60d464edfb9fedac6e36392e3c1a3339ec899b8fb15ec8b240789832955d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:426-431 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:648-653 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:999-1004 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":426}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b05f0729aba7a25e543dd53ec63723a8e73537a96e1b7d07c98784ff529331c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1419-1424 | crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:3026-3031 | crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:25-30 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:835-840 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:24-29 | crates/libs/windows/src/Windows/Services/Store/mod.rs:689-694 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1454-1459 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:494-499 | crates/libs/windows/src/Windows/UI/Input/mod.rs:313-318 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2526-2531 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Store/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":1419}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c00f12bde562ef8b5fa4917e154a6fa19571566c9d42e1c851a459b7e4d4771"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:1791-1796 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:432-437 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 19 separate duplicated blocks between them, totalling at least 113 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":1791}}}],"partialFingerprints":{"codehealthFindingId/v1":"d201012fd84c606355658c13d351403e15412cbe1efdae7e333fd995d31d36e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:2767-2772 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:948-953 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":2767}}}],"partialFingerprints":{"codehealthFindingId/v1":"92f8b9d3e31e2e77233048900546d53d883d19fafd5caa81b282917e8714d830"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 16): crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs:2809-2814 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2672-2677 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:866-871 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1559-1564 | crates/libs/windows/src/Windows/Globalization/Collation/mod.rs:12-17 | crates/libs/windows/src/Windows/Media/Core/mod.rs:216-221 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2187-2192 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2627-2632 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7600-7605 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:406-411 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1710-1715 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:564-569 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:56-61 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:410-415 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:536-541 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1165-1170 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Chat/mod.rs"},"region":{"startLine":2809}}}],"partialFingerprints":{"codehealthFindingId/v1":"e93fd6cf1817c6fe42ecde86b326556289641db4365afad9c077d5345c8f48ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:109-114 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:184-189 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:262-267 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:349-354 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs:157-162 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs"},"region":{"startLine":109}}}],"partialFingerprints":{"codehealthFindingId/v1":"677314e68a997ead225d1117f5d480eb0531bec0c74b99d698372331ddd71d2d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:256-261 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1068-1073 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:920-925 | crates/libs/windows/src/Windows/Management/Setup/mod.rs:127-132 | crates/libs/windows/src/Windows/Management/Setup/mod.rs:234-239 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3762-3767 | crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs:348-353 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs"},"region":{"startLine":256}}}],"partialFingerprints":{"codehealthFindingId/v1":"198f137ce8a4dba8e7ad893026054a34709c8e65a750944984e641637a623c11"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:268-273 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1086-1091 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1192-1197 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2607-2612 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:374-379 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1532-1537 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2754-2759 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs"},"region":{"startLine":268}}}],"partialFingerprints":{"codehealthFindingId/v1":"74883321ba853b9d50f28b6b93103546d5eeb8536ed26992d20de4a6d28a2ae5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs:274-279 | crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1092-1097 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/DataProvider/mod.rs"},"region":{"startLine":274}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5b56bbba8b5d6bdb5bd2eb9f59e8b421539c497ed43138cd07cfb87b0e8dd80"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs:39-44 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3201-3206 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"34f9f669213dc0b7c509aba2c095b66da3784af02f9138b777f431c34d772052"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs:45-50 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3192-3197 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:57-62 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/Provider/mod.rs"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bebc6ce380786ccbeca7c3aba716c190e12422af407be4bbb7edafe8dab5ddb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 18): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:90-95 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/ShareTarget/mod.rs:91-96 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:546-551 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:775-780 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:969-974 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1295-1300 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3665-3670 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7675-7680 | crates/libs/windows/src/Windows/Media/Control/mod.rs:319-324 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4739-4744 | crates/libs/windows/src/Windows/Media/Import/mod.rs:875-880 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1319-1324 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:1083-1088 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1748-1753 | crates/libs/windows/src/Windows/Media/mod.rs:2414-2419 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:279-284 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:855-860 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1063-1068 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 52 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce5e01cd01e8118f02eff388ae7687e411ec78cf9158e4922b0726eda18e73af"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:483-488 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2592-2597 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:472-477 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:741-746 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 47 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":483}}}],"partialFingerprints":{"codehealthFindingId/v1":"08f6c2d985a436594a995c2829d289cb2bccc111971a4305cb617203bcc7683f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:492-497 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2598-2603 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:451-456 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:41-46 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:753-758 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 47 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":492}}}],"partialFingerprints":{"codehealthFindingId/v1":"993e327f5b21cbf5251c326a8e2570c0d8b5ac87ccb91093149299e72a025e67"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:501-506 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2604-2609 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:499-504 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:59-64 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7544-7549 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 47 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":501}}}],"partialFingerprints":{"codehealthFindingId/v1":"8eaabea2021af3436d4cccd7c55ef3812f55bd137208a2e26a693f10ce833aeb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:661-666 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1964-1969 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:925-930 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs:216-221 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs:251-256 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:504-509 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 35 separate duplicated blocks between them, totalling at least 204 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":661}}}],"partialFingerprints":{"codehealthFindingId/v1":"3db6f129dc2729041506829c1bd7ec33436a80ccfdc5ba927cbc0989253147c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1396-1401 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4297-4302 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:581-586 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:160-165 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:476-481 | crates/libs/windows/src/Windows/Media/ContentRestrictions/mod.rs:184-189 | crates/libs/windows/src/Windows/Media/Core/mod.rs:394-399 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1396}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc0720b6e3c4a3c567467659834269cda39ce3a186c055bf031a8d9def81bf29"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 26): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1408-1413 | crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:4309-4314 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:649-654 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:343-348 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:774-779 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:2302-2307 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1542-1547 | crates/libs/windows/src/Windows/Foundation/mod.rs:1581-1586 | crates/libs/windows/src/Windows/Foundation/mod.rs:2377-2382 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1741-1746 | crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:220-225 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2251-2256 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1376-1381 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1710-1715 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2693-2698 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3468-3473 | crates/libs/windows/src/Windows/Web/Http/mod.rs:441-446 | crates/libs/windows/src/Windows/Web/Http/mod.rs:846-851 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1120-1125 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1714-1719 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1394-1399 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4549-4554 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13991-13996 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9233-9238 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:700-705 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1706-1711 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 47 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1408}}}],"partialFingerprints":{"codehealthFindingId/v1":"f563196bc75e4fa00fb88bff2423d7621bb8b3ea4cad99c9a0b74fd1e680b216"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1607-1612 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:239-244 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:599-604 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1259-1264 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1607}}}],"partialFingerprints":{"codehealthFindingId/v1":"f98578212bd366555883f264bb324831d6af2a0864ff0973f5de8b5b5fd2eaf0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1625-1630 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:354-359 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:913-918 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 48 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1625}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc45fc4b7c6a2ec3590534f2a6fcd3e70d617ea5cb8cb30b1da8f20c5202eb85"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1694-1699 | crates/libs/windows/src/Windows/Foundation/mod.rs:2199-2204 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2068-2073 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:326-331 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1318-1323 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:96-101 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:348-353 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:925-930 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1161-1166 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:868-873 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 69 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1694}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e385b3de060d8ad70b60d0c06930f8909915ccdf0cef237ad4e4cac4c5c0442"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1700-1705 | crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:256-261 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1700}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a31a7639082c1c534e9f9a2b17d5eb34516e19290548563c1048b8de5b18d7b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1706-1711 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:868-873 | crates/libs/windows/src/Windows/Data/Text/mod.rs:535-540 | crates/libs/windows/src/Windows/Globalization/mod.rs:2594-2599 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2979-2984 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3578-3583 | crates/libs/windows/src/Windows/UI/Text/mod.rs:38-43 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 36 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1706}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4f5c51007e600e48569e6e398f0b568f6be5fa4d6edbe087a05a37b27cf1673"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1768-1773 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:415-420 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1768}}}],"partialFingerprints":{"codehealthFindingId/v1":"16c1de33511a92be5f13713424374a4ec630aee7951af021985f0b8fd20bc378"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1786-1791 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:2861-2866 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11349-11354 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/iads/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 60 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1786}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f07a510f4381807606118711a24ff0fb9508109ca0e348ade428aeafb941b71"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1804-1809 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11430-11435 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/iads/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 60 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1804}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f017afd2094d089bc6e999d5affeab61f0ac443311941a1c006a81f6f9527e4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:1952-1957 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:919-924 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:549-554 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 35 separate duplicated blocks between them, totalling at least 204 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":1952}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa9842e7c5733b2b00a5e16f4f115ded9cc8f11f03cfd4d45419afce4e98ac6d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2580-2585 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:717-722 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 48 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":2580}}}],"partialFingerprints":{"codehealthFindingId/v1":"f039c0d57f007006c1056bf4d06f081ef433abc7880c03197f69765b7a5dd495"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:2586-2591 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:481-486 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:53-58 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7532-7537 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 47 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":2586}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6933e66fcd134956b1347231fedc26749ffae5db912dd7be13324fc6e827bdb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 35): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3075-3080 | crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:1024-1029 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:457-462 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:490-495 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:523-528 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:604-609 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:237-242 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:270-275 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:379-384 | crates/libs/windows/src/Windows/Management/Setup/mod.rs:194-199 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:722-727 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2119-2124 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2211-2216 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2244-2249 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2277-2282 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2310-2315 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2343-2348 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2382-2387 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2415-2420 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2454-2459 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2487-2492 | crates/libs/windows/src/Windows/UI/Core/Preview/mod.rs:98-103 | crates/libs/windows/src/Windows/UI/Core/mod.rs:121-126 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1938-1943 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4465-4470 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:461-466 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4024-4029 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4063-4068 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4102-4107 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:113-118 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:341-346 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:469-474 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:645-650 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1556-1561 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1785-1790 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 40 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":3075}}}],"partialFingerprints":{"codehealthFindingId/v1":"9081af97ea158fcf878bec7bc97a8cfcc0f64ee236a5c6a7c9afa99dc52e29b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3183-3188 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:133-138 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:419-424 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:570-575 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":3183}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9cffbbb5bc20ede004ee894c1e7f263d4c217e7b628b3706f8a7e8112c8b7ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3340-3345 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2893-2898 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 35 separate duplicated blocks between them, totalling at least 204 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":3340}}}],"partialFingerprints":{"codehealthFindingId/v1":"715aaf2a6364c4a09876ad114626a734bd545a68fcbec282fd17606972266165"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3483-3488 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:3058-3063 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 35 separate duplicated blocks between them, totalling at least 204 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":3483}}}],"partialFingerprints":{"codehealthFindingId/v1":"64027456ed8bc87193439aa4090b7322247942007be067fe3545757789d1e558"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3501-3506 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:3067-3072 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 35 separate duplicated blocks between them, totalling at least 204 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":3501}}}],"partialFingerprints":{"codehealthFindingId/v1":"83936c1ac05046493d9ddc5939ef345c440ad2e606702bbdc81aa080dcd7305b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs:3867-3872 | crates/libs/windows/src/Windows/System/mod.rs:2102-2107 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 46 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Contacts/mod.rs"},"region":{"startLine":3867}}}],"partialFingerprints":{"codehealthFindingId/v1":"245b807f97bb242a3d0e7020f055ef6a7d828700f7cf4fbdfbb63d00e5e59983"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 14): crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:348-353 | crates/libs/windows/src/Windows/Management/Update/mod.rs:896-901 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2160-2165 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2792-2797 | crates/libs/windows/src/Windows/Management/Update/mod.rs:3246-3251 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:78-83 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:1882-1887 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:507-512 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:614-619 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3338-3343 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3392-3397 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3458-3463 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3542-3547 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3608-3613 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Management/Update/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 46 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs"},"region":{"startLine":348}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b7a865fa00d377d7dfaaee0c8917690ff1b359abe2ac824c86882500f12f739"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 30): crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs:1177-1182 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2685-2690 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1316-1321 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1373-1378 | crates/libs/windows/src/Windows/ApplicationModel/Preview/mod.rs:78-83 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:208-213 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:186-191 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:323-328 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1483-1488 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1752-1757 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2308-2313 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2556-2561 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:833-838 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1156-1161 | crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:231-236 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:313-318 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:1251-1256 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1643-1648 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:612-617 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:685-690 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1886-1891 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2164-2169 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3483-3488 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:63-68 | crates/libs/windows/src/Windows/Media/mod.rs:2094-2099 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:320-325 | crates/libs/windows/src/Windows/System/RemoteDesktop/Input/mod.rs:109-114 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:80-85 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3533-3538 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:1250-1255 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 52 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/ConversationalAgent/mod.rs"},"region":{"startLine":1177}}}],"partialFingerprints":{"codehealthFindingId/v1":"a659a52a182d2b3c568410befd70a0ade8808d1b304481f806259dc5040acbbe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:12-17 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:154-159 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:470-475 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef27e15a863cc457a56d7ee454bbf5d04c2dc4a2a2597f69de2f2fd8ddf00e11"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs:454-459 | crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs:136-141 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:462-467 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:27-32 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:638-643 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:789-794 \u2014 there are 6 copies across 4 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Core/mod.rs"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a53c2dc7545cb98ca0f399c9631d8527de8fa868cb98c244c6ad19738bd1658"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 43): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:69-74 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:969-974 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:686-691 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:535-540 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6799-6804 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:355-360 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1506-1511 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1873-1878 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:4650-4655 | crates/libs/windows/src/Windows/Media/Control/mod.rs:547-552 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3549-3554 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6301-6306 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6610-6615 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6738-6743 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:747-752 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:626-631 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2352-2357 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3186-3191 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3802-3807 | crates/libs/windows/src/Windows/Media/mod.rs:1738-1743 | crates/libs/windows/src/Windows/Media/mod.rs:2559-2564 | crates/libs/windows/src/Windows/Perception/People/mod.rs:261-266 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1222-1227 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:641-646 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2180-2185 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2647-2652 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2903-2908 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1939-1944 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2991-2996 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:2072-2077 | crates/libs/windows/src/Windows/UI/Input/mod.rs:59-64 | crates/libs/windows/src/Windows/UI/Input/mod.rs:120-125 | crates/libs/windows/src/Windows/UI/Input/mod.rs:790-795 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2233-2238 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2303-2308 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2357-2362 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2399-2404 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2727-2732 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3739-3744 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3896-3901 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4136-4141 | crates/libs/windows/src/Windows/UI/Text/mod.rs:490-495 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7467-7472 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"30a8a65295e9a4839d13b6582360f1aa3cab0088c23fc7f61292c22c7b6dac79"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 15): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:139-144 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:155-160 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1287-1292 | crates/libs/windows/src/Windows/Management/mod.rs:222-227 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1933-1938 | crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:94-99 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:735-740 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1302-1307 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6024-6029 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6116-6121 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1058-1063 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:803-808 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:578-583 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1015-1020 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2364-2369 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc1db54eba9c03b4c1235694b83f7bc5b1467d7b4a464aaa4d20695546055212"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs:244-249 | crates/libs/windows/src/Windows/Security/Credentials/UI/mod.rs:66-71 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1424-1429 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2711-2716 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2347-2352 \u2014 there are 5 copies across 4 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/DragDrop/Core/mod.rs"},"region":{"startLine":244}}}],"partialFingerprints":{"codehealthFindingId/v1":"b79d4d356e56340827734b84fed4f0cf9a4da75345693ab6553d1d4899465158"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:157-162 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:179-184 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"f914758bc0dd27fa82ea5924b7bdfa5cba7b06c652e258338a5fbfa21ca218db"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 53): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:227-232 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:675-680 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:3008-3013 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:65-70 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:328-333 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:818-823 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:436-441 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:80-85 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:533-538 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:640-645 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1373-1378 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1417-1422 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1545-1550 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1603-1608 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1710-1715 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1754-1759 | crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs:99-104 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:208-213 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:303-308 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:429-434 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:685-690 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:890-895 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1109-1114 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1407-1412 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1553-1558 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1935-1940 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4707-4712 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4972-4977 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5259-5264 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5568-5573 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5805-5810 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:6017-6022 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:6377-6382 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:889-894 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1251-1256 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1470-1475 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2677-2682 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2823-2828 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2955-2960 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3033-3038 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:510-515 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1206-1211 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2391-2396 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2804-2809 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4360-4365 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:1236-1241 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:403-408 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2751-2756 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4018-4023 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4051-4056 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4090-4095 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:218-223 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:278-283 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":227}}}],"partialFingerprints":{"codehealthFindingId/v1":"3415ce6ee4d149c6ca906f36ea0db1f6007a447f0a1f513d8010b899f11d3d42"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 13): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:233-238 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:917-922 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:415-420 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:82-87 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1810-1815 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1883-1888 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2089-2094 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2232-2237 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2853-2858 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:8-13 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1284-1289 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1455-1460 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2090-2095 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":233}}}],"partialFingerprints":{"codehealthFindingId/v1":"837473c3151fe5ca3fd1181a54f2aa2ce66d44f340c4fafcd2c9d8c1627a67cc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:263-268 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:315-320 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2910-2915 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:674-679 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:373-378 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3527-3532 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:369-374 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1680-1685 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 57 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":263}}}],"partialFingerprints":{"codehealthFindingId/v1":"04880448a7144d382d24c095cf1f262afc2d5b9ef1132073014c984c1e26b540"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:309-314 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:255-260 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:866-871 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4504-4509 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2076-2081 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:28-33 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:263-268 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1563-1568 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 92 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":309}}}],"partialFingerprints":{"codehealthFindingId/v1":"cdba890387fecfc16281af8a845b84a15886b3958b1b5a9087ed63b1e3f65879"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2292-2297 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:887-892 | crates/libs/windows/src/Windows/Data/Pdf/mod.rs:355-360 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1101-1106 | crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs:251-256 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:770-775 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:471-476 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:665-670 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:931-936 | crates/libs/windows/src/Windows/UI/Text/mod.rs:385-390 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":2292}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b306ca7de7c4523c06141fd0487511f225b3378bf400f83eb12adc7c53e3698"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2298-2303 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3584-3589 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:848-853 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 46 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":2298}}}],"partialFingerprints":{"codehealthFindingId/v1":"d98a9907ba015bebe4aa7d342237dfeee36f87de3495954ac5d36b0199231c42"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2388-2393 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:139-144 | crates/libs/windows/src/Windows/Storage/mod.rs:3279-3284 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 60 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":2388}}}],"partialFingerprints":{"codehealthFindingId/v1":"40d0661089a35178d790bda8192a8d907b8c48f38cabb4164cbe839139a5f590"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2451-2456 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:164-169 | crates/libs/windows/src/Windows/UI/UIAutomation/mod.rs:16-21 | crates/libs/windows/src/Windows/UI/UIAutomation/mod.rs:78-83 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":2451}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff6ab554323ccf99b1874612d2feddaa7cf9f54b8e4d39d42027cae31edc57da"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2722-2727 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:934-939 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":2722}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca65b086fea6cdc96bd56b49970aa1ee9745283fe08c84fc98000cdbb5629a38"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:267-272 | crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:417-422 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs"},"region":{"startLine":267}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf3f1734caf27f83313137ed564b02e5b76f2c8a0c3475783aa72f8730409b62"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs:1408-1413 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:1030-1035 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:1102-1107 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:1230-1235 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Email/DataProvider/mod.rs"},"region":{"startLine":1408}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0fc402bf3358d25cf707e6d705a9ba65c265968efce0e96057a1575e65ccf21"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:15-20 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1107-1112 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:165-170 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:973-978 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Update/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 46 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"16c0a258d3c52f44e1c607d384381ea59492133aad73910666010269bf718556"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:661-666 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1411-1416 | crates/libs/windows/src/Windows/Services/Store/mod.rs:701-706 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1460-1465 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Store/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 52 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs"},"region":{"startLine":661}}}],"partialFingerprints":{"codehealthFindingId/v1":"8379797b3a71a575e57a3ee6cfaf8381831a3412e73cdee0b477608974dffadf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:688-693 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:380-385 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:7570-7575 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:8155-8160 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:8877-8882 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:9492-9497 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10619-10624 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11607-11612 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs"},"region":{"startLine":688}}}],"partialFingerprints":{"codehealthFindingId/v1":"f71057f4891aac7296da1ea780eb58155aad8af02775685a5387cb56e9bead6b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:835-840 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:15-20 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1070-1075 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2029-2034 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6382-6387 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7326-7331 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8160-8165 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:559-564 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3340-3345 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 46 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs"},"region":{"startLine":835}}}],"partialFingerprints":{"codehealthFindingId/v1":"b38fe431f1fad460e4b2227f7abc49467383e15d3c68774a0476f234c9791ec3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:907-912 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13061-13066 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13310-13315 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs"},"region":{"startLine":907}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef0e83b3ecc919c270decedb688cae9c6cf057285ee58d8453501253c92af072"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:1325-1330 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2419-2424 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Store/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 52 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs"},"region":{"startLine":1325}}}],"partialFingerprints":{"codehealthFindingId/v1":"3438cfd9f99ac340832576b31f88d80e195344170c41843da739dbfe21edb3e5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs:2908-2913 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:872-877 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 23 separate duplicated blocks between them, totalling at least 135 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Email/mod.rs"},"region":{"startLine":2908}}}],"partialFingerprints":{"codehealthFindingId/v1":"837caa15689dd0b147dbc9180acf8f8c1c67d217bbeefc40454425213637c3ee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs:109-114 | crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/mod.rs:128-133 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/ExtendedExecution/Foreground/mod.rs"},"region":{"startLine":109}}}],"partialFingerprints":{"codehealthFindingId/v1":"deaa61e7b4b67d1d4a1e903dfb285a1c61c192f492a06983f3bb8ce3674294b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs:148-153 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:836-841 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:469-474 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:593-598 \u2014 there are 4 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/LockScreen/mod.rs"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"9399f3c0d2c901c5a1ff6f616f6270dbdf83df72e2a07600d41eee26f0b075e4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs:209-214 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:277-282 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/PackageExtensions/mod.rs"},"region":{"startLine":209}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad0df2810d91d71ca919fa802ec73ad8ac6bccf60cb849c13dcf614599c4f08a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs:123-128 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:618-623 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"aee026573dad81f9d0aadbbdae6bb4ce764eb865fe5e2476187ca42036a4d4da"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs:163-168 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1517-1522 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs"},"region":{"startLine":163}}}],"partialFingerprints":{"codehealthFindingId/v1":"592289d2773e5297385d3eeedec15dfb5f3cffb74991b23f4e61a89f2425ab7e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs:172-177 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1523-1528 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9b20fea362c0ed6eefba9fe8c20cfcbc63c8ad840e657c69607e268e25a4543"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs:181-186 | crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1529-1534 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/Provider/mod.rs"},"region":{"startLine":181}}}],"partialFingerprints":{"codehealthFindingId/v1":"276700aa867508c2f3044336ef9f9b05d83fd5c5851556acd8b1f4ab85fe66a0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:631-636 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:7-12 | crates/libs/windows/src/Windows/Globalization/mod.rs:795-800 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs"},"region":{"startLine":631}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ec423f6c74ab096ecb7c28b195e4bbf627a2552238f63bbe206f2b6c43f49d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1180-1185 | crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:57-62 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:218-223 \u2014 \u0060crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/AppRecording/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 60 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs"},"region":{"startLine":1180}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d9f3d48e3c1d5e61ab46618ee63e98316b56cde429c3ae7e4bb80c277c7f4b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1290-1295 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:3483-3488 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs"},"region":{"startLine":1290}}}],"partialFingerprints":{"codehealthFindingId/v1":"02b5c5fe8679199f2565ced45309e34e3f8b9c8153d9a77cf1eb0846e9c81d5b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1381-1386 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9766-9771 | crates/libs/windows/src/Windows/Gaming/UI/mod.rs:88-93 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2524-2529 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6842-6847 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:102-107 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:424-429 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5665-5670 | crates/libs/windows/src/Windows/Security/Credentials/UI/mod.rs:75-80 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2514-2519 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs"},"region":{"startLine":1381}}}],"partialFingerprints":{"codehealthFindingId/v1":"70b67d4877e4678bc2b88acf0c6aa59950d5e68aca5cc6306db40036da60ab81"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1475-1480 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1865-1870 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs"},"region":{"startLine":1475}}}],"partialFingerprints":{"codehealthFindingId/v1":"93e8e47f99fa5847be2ccaef0e712b523bbf4f560c7247abd42ecc40a1d0f28e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1580-1585 | crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:103-108 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:675-680 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:72-77 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1835-1840 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2251-2256 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs"},"region":{"startLine":1580}}}],"partialFingerprints":{"codehealthFindingId/v1":"8721b6582c0a23ad8c7be380a080ba014b27e6bd1b6621aa0dc35b34caf45cbe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs:1589-1594 | crates/libs/windows/src/Windows/Media/Core/mod.rs:2066-2071 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5975-5980 | crates/libs/windows/src/Windows/Media/Import/mod.rs:865-870 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Import/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 42 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Payments/mod.rs"},"region":{"startLine":1589}}}],"partialFingerprints":{"codehealthFindingId/v1":"58e6cd1eb6914642fe18889129222ccbe8375f8d6cbd766c6a614ff90d5fdce3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs:106-111 | crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs:130-135 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:837-842 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Preview/Notes/mod.rs"},"region":{"startLine":106}}}],"partialFingerprints":{"codehealthFindingId/v1":"2936c47bbf780f189b9a2b6cf1bda0113427cb1c4b26cdfcdf33c0a806e4dda0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Preview/mod.rs:72-77 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2625-2630 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:687-692 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1235-1240 | crates/libs/windows/src/Windows/Storage/mod.rs:5894-5899 | crates/libs/windows/src/Windows/System/Inventory/mod.rs:44-49 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 62 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Preview/mod.rs"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"280f57acb20b98fa1d44dc3831e77d8204e3d95fc575930e7f3e5a3522b35963"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Preview/mod.rs:90-95 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:233-238 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Preview/mod.rs"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec80f754a81dc206a50cc68b94909d15a0bbf06ece1cad502cfa83fa80dfaf2d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:269-274 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs:86-91 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:2226-2231 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8263-8268 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":269}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3c9edab8d6c5a9ca45fed1f2a199408e288ede8db9b7c72434a26485bdf369f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:287-292 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:962-967 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:214-219 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 37 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":287}}}],"partialFingerprints":{"codehealthFindingId/v1":"13c7e37799ffe41266652bd3e0f8b17882c5b2d4874cc1e55bc575af51bf1be0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:293-298 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs:92-97 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":293}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae9a25782b7d75ded2cba98c97aad3d02c0d0c1a92520a314af989e807df0300"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 39): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:374-379 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:567-572 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:861-866 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1012-1017 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1184-1189 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:875-880 | crates/libs/windows/src/Windows/Data/Pdf/mod.rs:230-235 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:176-181 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:442-447 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:243-248 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:43-48 | crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:214-219 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:830-835 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:854-859 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4492-4497 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2064-2069 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1294-1299 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1826-1831 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3611-3616 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3715-3720 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4667-4672 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:222-227 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3854-3859 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:83-88 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:7-12 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:22-27 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:251-256 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:334-339 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1557-1562 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:620-625 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2159-2164 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2626-2631 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2882-2887 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5219-5224 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1386-1391 | crates/libs/windows/src/Windows/UI/Text/mod.rs:508-513 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:401-406 | crates/libs/windows/src/Windows/Web/Http/mod.rs:499-504 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7100-7105 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 31 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":374}}}],"partialFingerprints":{"codehealthFindingId/v1":"1aa5b6377158a1d96df3479631977f86f775abce7dbdccc475fe45635a8ea899"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 29): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:455-460 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1498-1503 | crates/libs/windows/src/Windows/Globalization/mod.rs:68-73 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1870-1875 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:60-65 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:456-461 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:613-618 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:774-779 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:842-847 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2599-2604 | crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs:4018-4023 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3175-3180 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3275-3280 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3375-3380 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3475-3480 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:296-301 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:465-470 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:679-684 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:847-852 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:280-285 | crates/libs/windows/src/Windows/Win32/comcat/mod.rs:365-370 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5399-5404 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:52-57 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10597-10602 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:505-510 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:611-616 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:112-117 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1568-1573 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:402-407 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bdaiface/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comcat/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 50 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":455}}}],"partialFingerprints":{"codehealthFindingId/v1":"082fa62927315043f04a344705f1a7219916e5a3793a24d69fe13e1fdf9a1ce6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:461-466 | crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs:6-11 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:734-739 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1601-1606 | crates/libs/windows/src/Windows/Globalization/mod.rs:80-85 | crates/libs/windows/src/Windows/System/UserProfile/mod.rs:362-367 \u2014 \u0060crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":461}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ca26f34c0d5c2e6a5f1af6a21e8941bf3fcbac870ce9c4826752369f70274fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:561-566 | crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs:77-82 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:16-21 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1551-1556 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/AccessCache/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 32 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":561}}}],"partialFingerprints":{"codehealthFindingId/v1":"851b73c5f51c4054b5e2996a02a5901ecb6f361ecaf65d84c50c998dc991c3b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:805-810 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:908-913 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3830-3835 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4567-4572 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4930-4935 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":805}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0a4de3bd39267d3b3a2919dc01295f53bfcf3cffc0a9d30ab180bb9c953eb26"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:811-816 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:914-919 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3836-3841 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4573-4578 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4936-4941 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":811}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b0cea9ef18f7b01d62ca23135d19d8cca0d0fc498328380ac1c10a3f06934d7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 26): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:817-822 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:920-925 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3842-3847 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4579-4584 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4942-4947 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:256-261 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:527-532 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1024-1029 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1422-1427 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2116-2121 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2329-2334 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3848-3853 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4000-4005 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4085-4090 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4170-4175 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4340-4345 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4425-4430 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4550-4555 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4760-4765 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4930-4935 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5139-5144 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5789-5794 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6434-6439 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6519-6524 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:1730-1735 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6112-6117 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dwrite/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 113 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":817}}}],"partialFingerprints":{"codehealthFindingId/v1":"72c32b494215ae89b31deb8dff6e3912fa52e2191e42c6330141e1c950705b59"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:867-872 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1018-1023 | crates/libs/windows/src/Windows/Foundation/Collections/mod.rs:249-254 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:860-865 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:257-262 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/Collections/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":867}}}],"partialFingerprints":{"codehealthFindingId/v1":"4fa03b116a06c861a2d1930870310e97d051cf384491198fe792d061000ed1cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:950-955 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs:122-127 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":950}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fdbe601833ecf097fa34ec084020344d4f79e0a4e663b183387771a99898d78"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:956-961 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs:128-133 \u2014 \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Management/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":956}}}],"partialFingerprints":{"codehealthFindingId/v1":"7773fe9606a52ced26a1321b6ff3d8f5f051885d2594972940644db3e7d9b333"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:116-121 | crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs:346-351 | crates/libs/windows/src/Windows/Media/ContentRestrictions/mod.rs:171-176 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:1346-1351 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 4 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed6225d61bfbfba8ca4da62aaae100f7e49fbd2124642a4f546f7a519640e282"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:166-171 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:394-399 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs"},"region":{"startLine":166}}}],"partialFingerprints":{"codehealthFindingId/v1":"0de0aafab9e23a383dfec3e157c7ef876df4bcad14d1178bde773edae4734bbb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs:175-180 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:403-408 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/Core/mod.rs"},"region":{"startLine":175}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a0c55e2679fa808cc3ffe6572ecdd34b09772594255197773d493c1c14d5bfa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 15): crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:347-352 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:622-627 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1617-1622 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:2468-2473 | crates/libs/windows/src/Windows/Media/Core/mod.rs:916-921 | crates/libs/windows/src/Windows/Media/Core/mod.rs:1156-1161 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7358-7363 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1142-1147 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1187-1192 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3562-3567 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3919-3924 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4757-4762 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:891-896 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4171-4176 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1290-1295 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 65 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs"},"region":{"startLine":347}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ea97ae9dfa5e6b182ccc79092acf66e20d3896880cc1a4701314f8e3f4cacc8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:412-417 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2896-2901 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs"},"region":{"startLine":412}}}],"partialFingerprints":{"codehealthFindingId/v1":"4578f2d96d0ef0687d63570462bb99c23c2721535eb373e5cad236f66b41ce93"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:430-435 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:802-807 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1410-1415 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3413-3418 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5151-5156 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2401-2406 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:4206-4211 \u2014 \u0060crates/libs/windows/src/Windows/Win32/control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/exdisp/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 12 separate duplicated blocks between them, totalling at least 97 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs"},"region":{"startLine":430}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6a1699fad667ab2f5b2b9aa2a80629a99b10bc3ffc9cd5062338c5e928440d1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 12): crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:699-704 | crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs:918-923 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:396-401 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2935-2940 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:6-11 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:72-77 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:360-365 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:562-567 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:645-650 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:714-719 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:844-849 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:932-937 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Text/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Search/mod.rs"},"region":{"startLine":699}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fec38a5a06da961e3fc53fac04ab24b9eef26985b9f6d2ee3eb98d5963945fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:150-155 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:661-666 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:130-135 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs"},"region":{"startLine":150}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef9848e830847e8e05c06095af137644ba68676a2a1606b625636074360357b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:350-355 | crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:794-799 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16521-16526 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs"},"region":{"startLine":350}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8fdbe103ae01bc1b8caba8ce0201aa00ae57244db7a28a164b6963d4f24610e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:356-361 | crates/libs/windows/src/Windows/UI/StartScreen/mod.rs:1242-1247 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/StartScreen/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs"},"region":{"startLine":356}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab3bd4a087dfdc00b52e39aa7f6798dcbebd8282a812b12f1ce2664ae9871f63"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:383-388 | crates/libs/windows/src/Windows/System/mod.rs:3098-3103 | crates/libs/windows/src/Windows/System/mod.rs:3640-3645 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs"},"region":{"startLine":383}}}],"partialFingerprints":{"codehealthFindingId/v1":"e97395173393719143c3a5f944770d6199327b22ebed8fbf881a5906a12aeae2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:509-514 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1268-1273 | crates/libs/windows/src/Windows/UI/Shell/Tasks/mod.rs:118-123 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1659-1664 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Security/Credentials/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs"},"region":{"startLine":509}}}],"partialFingerprints":{"codehealthFindingId/v1":"fda7cf5d69b77ba3168dca46ed097c0d21885fc6ff39741c1e3a3e8d82ff7d57"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs:521-526 | crates/libs/windows/src/Windows/Data/Text/mod.rs:29-34 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserActivities/mod.rs"},"region":{"startLine":521}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5f4da7eb98e3ffc650f8cd1124aa72e2cf261129c5a5ed054154851a8d8d7cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs:108-113 | crates/libs/windows/src/Windows/ApplicationModel/UserDataTasks/mod.rs:303-308 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1845-1850 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:104-109 | crates/libs/windows/src/Windows/System/Diagnostics/TraceReporting/mod.rs:220-225 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7115-7120 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7690-7695 \u2014 there are 7 copies across 6 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/Provider/mod.rs"},"region":{"startLine":108}}}],"partialFingerprints":{"codehealthFindingId/v1":"4da23b8e2e4a4d649b5ff871899ba0152f7ed5cce5ea66f1709da4d28b0fdf8e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/SystemAccess/mod.rs:37-42 | crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:226-231 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/SystemAccess/mod.rs"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"cfc45925c1bbabfdea07bdcc2eed800fb177800d014b2fe8995b295758ba1428"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/SystemAccess/mod.rs:55-60 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11671-11676 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/SystemAccess/mod.rs"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f2e8b682c689b8e2ef4cfde7158020827e120359725e356eac2db8d579adde0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs:220-225 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:175-180 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:975-980 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:1722-1727 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2666-2671 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:869-874 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:1084-1089 \u2014 \u0060crates/libs/windows/src/Windows/Media/Casting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 57 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/UserDataAccounts/mod.rs"},"region":{"startLine":220}}}],"partialFingerprints":{"codehealthFindingId/v1":"c65704e96e9561377e63c56b19cb6db4fc8dcb5b3db16ab17aaf7e53239d2e62"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs:492-497 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:674-679 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs"},"region":{"startLine":492}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4373b5ab56e87068df5ec101ab8521aeb47b0f280e3e21145244addb6563b91"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs:743-748 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:558-563 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:979-984 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/VoiceCommands/mod.rs"},"region":{"startLine":743}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0b0bd3cda13a7dad3471dd6e7c6221cfef94d9dd9155c9569f97e094d263bad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Wallet/System/mod.rs:62-67 | crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:878-883 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Wallet/System/mod.rs"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf5ad1945335adca5ef7f6f37b059cc48200e1b789311286e01273f1f94cc01a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:337-342 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:239-244 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:740-745 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs"},"region":{"startLine":337}}}],"partialFingerprints":{"codehealthFindingId/v1":"74c995ff46df0458c6aa2131aec96df0c4df5fa2f7b53e4510fb20b890052df4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs:906-911 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1906-1911 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2052-2057 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:245-250 \u2014 \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Popups/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 36 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Wallet/mod.rs"},"region":{"startLine":906}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0b6f96e2c3db2970284008ed9296c7dabd0444063b7cd2586c723364f8ff69d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/mod.rs:390-395 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1638-1643 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/mod.rs"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5b6ecfa66c7d5c6fcd6edfc31acee3c8c094d23847cab3c299478ae86bb206c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1634-1639 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3199-3204 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:997-1002 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WebUI/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/mod.rs"},"region":{"startLine":1634}}}],"partialFingerprints":{"codehealthFindingId/v1":"dbda55c6e31e959405a73d1b8aa376042102e0a379091e49719b65a159aaa6a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/ApplicationModel/mod.rs:1845-1850 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5386-5391 | crates/libs/windows/src/Windows/System/Profile/mod.rs:136-141 | crates/libs/windows/src/Windows/System/Profile/mod.rs:779-784 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:585-590 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:77-82 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:431-436 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:557-562 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/mod.rs"},"region":{"startLine":1845}}}],"partialFingerprints":{"codehealthFindingId/v1":"0865eda9dd507a131dd0c0af62eaf37036cbef13c109b8ac4b218fbfb9713d3e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2524-2529 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2693-2698 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2773-2778 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2942-2947 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3037-3042 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:2321-2326 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:699-704 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:86-91 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:224-229 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:284-289 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 39 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/mod.rs"},"region":{"startLine":2524}}}],"partialFingerprints":{"codehealthFindingId/v1":"702fb7358c639f0df84b620664b5ed99b0ecd02afad567115d6f7024ca4ba85d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 22): crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2548-2553 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2717-2722 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2797-2802 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2966-2971 | crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3067-3072 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:654-659 | crates/libs/windows/src/Windows/Management/Setup/mod.rs:297-302 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2172-2177 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2478-2483 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:499-504 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:799-804 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1045-1050 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2520-2525 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2659-2664 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6211-6216 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2758-2763 | crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:232-237 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:872-877 | crates/libs/windows/src/Windows/Security/Credentials/UI/mod.rs:84-89 | crates/libs/windows/src/Windows/Security/Credentials/UI/mod.rs:174-179 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2812-2817 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:782-787 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/mod.rs"},"region":{"startLine":2548}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9cf1aef20e8d5da71e0ed80dd232b2cd2d486645636d5562d776f52a748c75a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2637-2642 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:4193-4198 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11367-11372 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/iads/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/mod.rs"},"region":{"startLine":2637}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fed6a010cc91130388a97e61935b74f88c26e8dc247c003c8d0ac6ed8417539"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/ApplicationModel/mod.rs:2863-2868 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:821-826 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1405-1410 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/mod.rs"},"region":{"startLine":2863}}}],"partialFingerprints":{"codehealthFindingId/v1":"09c06035a3a8fc432ad634545c4ae47ea3e0b51b694494bfb2eae41e345baa9b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/ApplicationModel/mod.rs:3007-3012 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:721-726 | crates/libs/windows/src/Windows/Security/DataProtection/mod.rs:269-274 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:409-414 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 4 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/mod.rs"},"region":{"startLine":3007}}}],"partialFingerprints":{"codehealthFindingId/v1":"e53576132f279fe36a5f00bdfa37781ff71ce6ee379b6fafc26dc9906ff5d549"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Data/Json/mod.rs:103-108 | crates/libs/windows/src/Windows/Data/Json/mod.rs:822-827 | crates/libs/windows/src/Windows/Foundation/mod.rs:529-534 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:138-143 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Json/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"04d35afdbe4b7953650cefed8982df8b022016a8ec92bc9a7576ac41342b1afd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Data/Json/mod.rs:115-120 | crates/libs/windows/src/Windows/Data/Json/mod.rs:834-839 | crates/libs/windows/src/Windows/Foundation/mod.rs:523-528 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:113-118 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Json/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":115}}}],"partialFingerprints":{"codehealthFindingId/v1":"30418a912ce9cf5426928c78bd9a2f25cfdbce9e569ea891fee685e568658777"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Data/Pdf/mod.rs:224-229 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:523-528 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1730-1735 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5178-5183 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 4 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Pdf/mod.rs"},"region":{"startLine":224}}}],"partialFingerprints":{"codehealthFindingId/v1":"9bf11d9e3d2c6076835f9d6e6f24352cf633ce7af5899531cf0cef81579cbc53"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Data/Pdf/mod.rs:242-247 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1024-1029 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:991-996 | crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs:626-631 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 4 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Pdf/mod.rs"},"region":{"startLine":242}}}],"partialFingerprints":{"codehealthFindingId/v1":"a538064065f2a18ab285be50181afff19842c814b1214cb28c6cf9458600dde3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Pdf/mod.rs:336-341 | crates/libs/windows/src/Windows/Win32/control/mod.rs:422-427 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Pdf/mod.rs"},"region":{"startLine":336}}}],"partialFingerprints":{"codehealthFindingId/v1":"1182ca1fbc5a62b3696722d1cec6547775d6c1ebda8e9057965c2e87ad6792dd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Pdf/mod.rs:345-350 | crates/libs/windows/src/Windows/Win32/control/mod.rs:440-445 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Pdf/mod.rs"},"region":{"startLine":345}}}],"partialFingerprints":{"codehealthFindingId/v1":"b95a35c27a6ee01797e05fa9cb3a2ccdc1b75839385c1fa8fd8c6fe6d28c6883"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/Data/Text/mod.rs:385-390 | crates/libs/windows/src/Windows/Data/Text/mod.rs:483-488 | crates/libs/windows/src/Windows/Data/Text/mod.rs:565-570 | crates/libs/windows/src/Windows/Data/Text/mod.rs:698-703 | crates/libs/windows/src/Windows/Data/Text/mod.rs:1007-1012 | crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs:99-104 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:791-796 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1607-1612 | crates/libs/windows/src/Windows/Globalization/mod.rs:569-574 \u2014 \u0060crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Text/mod.rs"},"region":{"startLine":385}}}],"partialFingerprints":{"codehealthFindingId/v1":"5818b5be50a9aaffc45775245d9b84a8fa533fb98925ef9054ee552c80adffa0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:574-579 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5191-5196 | crates/libs/windows/src/Windows/Management/mod.rs:80-85 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":574}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c4c6633b8acd1fff1f6fcdc74a129224633816c6be120d278ac379f755638fb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 18): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:583-588 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4785-4790 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4916-4921 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2204-2209 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:116-121 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:810-815 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1739-1744 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7246-7251 | crates/libs/windows/src/Windows/Media/mod.rs:67-72 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:12-17 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:698-703 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2306-2311 | crates/libs/windows/src/Windows/UI/Text/mod.rs:2687-2692 | crates/libs/windows/src/Windows/UI/Text/mod.rs:4606-4611 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2349-2354 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10916-10921 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14783-14788 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15901-15906 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":583}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a29b431737dba3a1e063912a81261e62286c510644325e69804250aef1fe0f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1166-1171 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2301-2306 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:534-539 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2533-2538 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 67 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1166}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ef643203a96630acb5b7c819d9a45972675d95136b5ab94d04351207d8eba95"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:1208-1213 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:746-751 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1136-1141 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1180-1185 \u2014 there are 4 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":1208}}}],"partialFingerprints":{"codehealthFindingId/v1":"22df944708cf1945a772c3db1ba5e3a1bbe464a5d8595dd3a33339eadfab19c8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:5185-5190 | crates/libs/windows/src/Windows/Management/mod.rs:122-127 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs"},"region":{"startLine":5185}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c4e2cc906963fec1e8b611e0accd97214e09110b871dc29afd38cde7e318354"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:8-13 | crates/libs/windows/src/Windows/Devices/Adc/mod.rs:63-68 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:26-31 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Adc/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"83b0bda7dbcfd461f4e9da8be6a21f575f9718e48f42e4db0aa0e592e57563f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:14-19 | crates/libs/windows/src/Windows/Devices/Adc/mod.rs:69-74 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Adc/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe384c4573a243a7a77727a4051e7e865f6ca8765d40c51f46f7ff44805429aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:20-25 | crates/libs/windows/src/Windows/Devices/Adc/mod.rs:75-80 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:444-449 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Adc/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"920425db70f1c2f10d0ee6c01d72b4f934b4a546d9d466999cc9f672c9703dec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:26-31 | crates/libs/windows/src/Windows/Devices/Adc/mod.rs:81-86 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:450-455 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Adc/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"c78bc6394c55c4bc139d1d78373a0c24af69625e36ea72b0b1c375fb790d5070"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:32-37 | crates/libs/windows/src/Windows/Devices/Adc/mod.rs:87-92 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Adc/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a1c1eaffd50dead4525eb570936ee334f51ad39cf54123559fa1f8fd7cf9bd5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:41-46 | crates/libs/windows/src/Windows/Devices/Adc/mod.rs:96-101 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Adc/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa6f0fd4f1f7e1c4ae2b2b2663e7fffbdea7a2c384d0955c67bf50ac56838499"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs:219-224 | crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:363-368 | crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs:201-206 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 43 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Adc/Provider/mod.rs"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"c480f57c0c74247e0d2caef4aa93d7f368475e5bfbbb3fe3562333561cd1ec37"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Adc/mod.rs:9-14 | crates/libs/windows/src/Windows/Devices/Pwm/mod.rs:185-190 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:892-897 | crates/libs/windows/src/Windows/UI/Input/Core/mod.rs:49-54 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 4 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Adc/mod.rs"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"acc30b2321696a5b8f7f7e5539c6289410b8e38422eea08fbe8aebbc4d0930ee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:23-28 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1057-1062 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8bc04d25b3053379ac9e23e608ceba8a1455419eb6c973552320e79045d832c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:87-92 | crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:158-163 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:533-538 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3d673adacb931d3519278a28558a07385aaa3307ef382a487b4a0564113ef79"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:96-101 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2198-2203 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:3053-3058 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:395-400 \u2014 there are 4 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"c35cbb6389e773343fbd27b379577c189d83061d29c9f04bd60f9b0ff412d057"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs:663-668 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:20-25 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:292-297 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1075-1080 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/Advertisement/mod.rs"},"region":{"startLine":663}}}],"partialFingerprints":{"codehealthFindingId/v1":"6903eec6c8fc3cb37cdcea6ed2cd209231f82e9af9ac4ed0c7ac885b5fb48306"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 35): crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:104-109 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2301-2306 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:3047-3052 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:778-783 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:13-18 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:73-78 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:264-269 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:466-471 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1027-1032 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:597-602 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1015-1020 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1108-1113 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1201-1206 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1294-1299 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1394-1399 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1543-1548 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1651-1656 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1748-1753 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1841-1846 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1934-1939 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2027-2032 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2120-2125 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2256-2261 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2341-2346 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2434-2439 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2527-2532 | crates/libs/windows/src/Windows/Graphics/Printing/PrintTicket/mod.rs:600-605 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1030-1035 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4329-4334 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:1366-1371 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:1056-1061 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:655-660 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:2008-2013 | crates/libs/windows/src/Windows/Web/Http/mod.rs:725-730 | crates/libs/windows/src/Windows/Web/Http/mod.rs:786-791 \u2014 \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"361fc46b63f43f6e3934d763aa81ac3d67f944ae148d0efca3335ea740021b85"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:417-422 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:998-1003 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3664-3669 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs"},"region":{"startLine":417}}}],"partialFingerprints":{"codehealthFindingId/v1":"e23e062a8d5a93f828576591c560ff191568baed4e60f73c0cbaea7c2d0aa379"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs:481-486 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:192-197 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/Background/mod.rs"},"region":{"startLine":481}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dc956e47febf92fdb5bc385dab22e2abdb0eb61945d4a7e1f8738059fb2dfa6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:33-38 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:883-888 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1061-1066 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1322-1327 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1578-1583 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1736-1741 | crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs:365-370 \u2014 \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 39 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"30ef08f61bfce5937280644abe8d058226a9bf1209d052c2350df8e031f2dada"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:776-781 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1751-1756 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1702-1707 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1739-1744 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1776-1781 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":776}}}],"partialFingerprints":{"codehealthFindingId/v1":"62322ff99ed0aa82ff67b51475dd68a44daca0b70ce93e417f1c9d7da98aaa5d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1014-1019 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1362-1367 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:629-634 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1284-1289 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1420-1425 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":1014}}}],"partialFingerprints":{"codehealthFindingId/v1":"041b7d26f40f2e70e9735ee716916441e76d679146ebd462522f7fd375d9e733"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1298-1303 | crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs:341-346 \u2014 \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/Rfcomm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 39 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":1298}}}],"partialFingerprints":{"codehealthFindingId/v1":"afc14c2df5c2e524badab531748b5fc1efa27899c92ac816499e1834c89a0c50"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:1817-1822 | crates/libs/windows/src/Windows/Graphics/DirectX/Direct3D11/mod.rs:150-155 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":1817}}}],"partialFingerprints":{"codehealthFindingId/v1":"e58b006239848bc501abf1ab2e5c236303ac67d025fff8d0ce70f32e0ecfe18e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 14): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2258-2263 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2957-2962 | crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:3109-3114 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:562-567 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:731-736 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1267-1272 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1088-1093 | crates/libs/windows/src/Windows/Media/Import/mod.rs:388-393 | crates/libs/windows/src/Windows/Media/Import/mod.rs:484-489 | crates/libs/windows/src/Windows/Media/Import/mod.rs:699-704 | crates/libs/windows/src/Windows/Media/Import/mod.rs:991-996 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1784-1789 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2054-2059 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2095-2100 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 44 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":2258}}}],"partialFingerprints":{"codehealthFindingId/v1":"8571fd4dd8b840aefc2f32bd9c1cd683ffd71157ff3575f43ab6a2d531da5c0e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2347-2352 | crates/libs/windows/src/Windows/Storage/mod.rs:5545-5550 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":2347}}}],"partialFingerprints":{"codehealthFindingId/v1":"8aac99a279791ad12e8cb55e59c130a40f01419941afe35393ad36350f1f3fd3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs:2429-2434 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:454-459 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 44 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/GenericAttributeProfile/mod.rs"},"region":{"startLine":2429}}}],"partialFingerprints":{"codehealthFindingId/v1":"a05fa40098fcf9c03f656c79b5301a92b822d0c1d95e11826660754c2e2806ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:254-259 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:1990-1995 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:83-88 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs"},"region":{"startLine":254}}}],"partialFingerprints":{"codehealthFindingId/v1":"e745e63d64a0468ca52c6f5a40be37b445d2bd8dec77e388e7d63d98dbdb7ca8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:286-291 | crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs:1069-1074 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:452-457 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:631-636 \u2014 \u0060crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 34 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Bluetooth/mod.rs"},"region":{"startLine":286}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ffb35b175b703c8a4390f58fe2710b7ca3bf8d81ca65c3ba79e79d0cd5eccfa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Devices/Custom/mod.rs:7-12 | crates/libs/windows/src/Windows/Devices/SerialCommunication/mod.rs:277-282 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:511-516 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:931-936 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2767-2772 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3187-3192 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3808-3813 \u2014 there are 7 copies across 5 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Custom/mod.rs"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fb301b1e0cd6fcde7bbec4f7afadfb06d23c94dec20f189a5d77e81c7eea544"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/Devices/Custom/mod.rs:14-19 | crates/libs/windows/src/Windows/Devices/SerialCommunication/mod.rs:284-289 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:593-598 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1619-1624 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:202-207 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1478-1483 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2651-2656 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2774-2779 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3194-3199 \u2014 there are 9 copies across 4 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 9 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Custom/mod.rs"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"69cdbb0f5615a3a478176956f921bf0af9ad093ef7fd2fcc43aedc3162b26105"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Custom/mod.rs:165-170 | crates/libs/windows/src/Windows/Devices/Custom/mod.rs:350-355 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3827-3832 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Custom/mod.rs"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"2af89109224f5ae61389ed0b902690704a3d9bf059758a49d8361817eedf9033"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Custom/mod.rs:171-176 | crates/libs/windows/src/Windows/Devices/Custom/mod.rs:356-361 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8467-8472 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Custom/mod.rs"},"region":{"startLine":171}}}],"partialFingerprints":{"codehealthFindingId/v1":"90d1bffcae6c5c8fb5c9992669fab38f499cfba236c6d51a36961f87102e55c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:660-665 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1625-1630 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:76-81 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:705-710 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4482-4487 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":660}}}],"partialFingerprints":{"codehealthFindingId/v1":"608d091cb483f669b809102f2fe75d081b70c52d4ff26c3cb78886e6a5cc332e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:666-671 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1357-1362 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:2701-2706 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:609-614 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:571-576 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1511-1516 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":666}}}],"partialFingerprints":{"codehealthFindingId/v1":"9685d41d97c1f49f1e2097326b2a8220aa066434dafc547a612244bb970b2947"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:697-702 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:969-974 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1185-1190 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:34-39 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:392-397 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:1227-1232 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":697}}}],"partialFingerprints":{"codehealthFindingId/v1":"48f901a2947e6a414237dc46c1d203f5ddd40f01cb6d5ace656a7256c74de898"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 15): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1172-1177 | crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:990-995 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6914-6919 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:81-86 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:925-930 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1102-1107 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1327-1332 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:1570-1575 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:67-72 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1419-1424 | crates/libs/windows/src/Windows/Management/mod.rs:89-94 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3227-3232 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3305-3310 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4751-4756 | crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs:265-270 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":1172}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d4685c573b6ee7c7925af900f949e4934d86af2373c7a35eadd28b9e6b0031b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1179-1184 | crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1996-2001 | crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs:187-192 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":1179}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b08e0a2be39e7e50634cb61216d18ecb88e8fefe38aab6833e55b93bb37ab30"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1403-1408 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2141-2146 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:699-704 | crates/libs/windows/src/Windows/Media/mod.rs:479-484 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:120-125 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":1403}}}],"partialFingerprints":{"codehealthFindingId/v1":"9be8ae3b91f6288146dcc854f49690ea9a8f20d8c4e5d192199deeefcae1d44a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1703-1708 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:341-346 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:472-477 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:406-411 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:568-573 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 5 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":1703}}}],"partialFingerprints":{"codehealthFindingId/v1":"125b24b2ecbca0ac6f6f44919c2eddba6b62649d077ee56b01e1b9c731efb01d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1721-1726 | crates/libs/windows/src/Windows/Devices/Display/mod.rs:51-56 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":1721}}}],"partialFingerprints":{"codehealthFindingId/v1":"273efb1e9f8e88a976f73f455fef2edec71d6a0037b8212cb42261db5ea7a9a2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs:1984-1989 | crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs:193-198 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/Core/mod.rs"},"region":{"startLine":1984}}}],"partialFingerprints":{"codehealthFindingId/v1":"48fb823dc8625ee504b1638ac356dae380caed0d5817ca8e804c9337ac5c4399"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/mod.rs:70-75 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:621-626 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/mod.rs"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"8837ca26360223e6fea03ec146db81259fe11dda41e6c0b2c2ea593a60182664"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/mod.rs:76-81 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:627-632 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/mod.rs"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"85a9f20db92b65d6c303f612feb343da2751eb9c7a378bb6107535adcbd33748"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/mod.rs:82-87 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:14-19 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/mod.rs"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d326fb278e34ed4e23815a656a257b236f5c2b6a2de3d847d67da51bcff1e9c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/mod.rs:88-93 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:20-25 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/mod.rs"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e56e4d61daeb5f38ed528cce525d6c76d9b929eb8192c7afdf3e91b010fb104"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/mod.rs:94-99 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:26-31 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/mod.rs"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d16c18a2f5d0885aa2237ab2b38eac9c8a047e8d2ef37ecdbce97881da83b37"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/mod.rs:100-105 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:32-37 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/mod.rs"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"22b375c9205b0f3d39268fcab6530dcd90718a1b360b54df40097df42a49f632"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/mod.rs:106-111 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:38-43 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/mod.rs"},"region":{"startLine":106}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad08209b15bdc10dadaf704b16f2fc58cfa1cf680b3b5cf560ccbd0a68606738"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/mod.rs:112-117 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:44-49 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/mod.rs"},"region":{"startLine":112}}}],"partialFingerprints":{"codehealthFindingId/v1":"592171e17d0a0f186898d1e2cef2b7971ea19a522d22860e63c4a437207bf7b0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Display/mod.rs:118-123 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:50-55 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Display/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Display/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Display/mod.rs"},"region":{"startLine":118}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b5ba0c99d77cbba5e0d3cec1dae1d4eb76e92f9dfbce38a9fe8734dfe57f7c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:60-65 | crates/libs/windows/src/Windows/System/mod.rs:3959-3964 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 60 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"73b70a30df4d42a39ef9714108e39476de8abaf2714b07cacdd195c6e1146ab5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:820-825 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:582-587 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Miracast/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 52 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":820}}}],"partialFingerprints":{"codehealthFindingId/v1":"b3ab984111f1d7721ade5826eda660b8b3929e6ca48a4d5f500e891ce104d3d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:973-978 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:253-258 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:222-227 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1042-1047 | crates/libs/windows/src/Windows/Win32/control/mod.rs:2276-2281 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Casting/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":973}}}],"partialFingerprints":{"codehealthFindingId/v1":"9df5d53570cc81b681483b55d2c604ee791ede971dbbbce9e7c667ff11939e1d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:979-984 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:260-265 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:229-234 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Casting/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":979}}}],"partialFingerprints":{"codehealthFindingId/v1":"69af57a00d46129eace63672cc3a57872c9f14bd790d856f2e6747046ee344a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:985-990 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:814-819 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:3128-3133 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 52 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":985}}}],"partialFingerprints":{"codehealthFindingId/v1":"34dc0003b25eb2ba585e1df3f09324474bde97b0810934b74c5ddeb91613d695"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1090-1095 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:777-782 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:480-485 | crates/libs/windows/src/Windows/UI/Text/mod.rs:421-426 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1090}}}],"partialFingerprints":{"codehealthFindingId/v1":"ccc4464fefef2463af7fc17e7d70b8300a7c410b15f84f1a1249e7a6e169cf05"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1112-1117 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2214-2219 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1112}}}],"partialFingerprints":{"codehealthFindingId/v1":"222243130915fd6c999c3ee826e4e7c19ea1a24a3bbf4741c0655d8f577e3c7e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:1656-1661 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3528-3533 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs"},"region":{"startLine":1656}}}],"partialFingerprints":{"codehealthFindingId/v1":"f50ff6f21584adbe63ee194c375697bfe9b32848a345eb84caddedf832450ba3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:36-41 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1748-1753 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d4999d87fb37abb5c705448d517e0bea6b8282a8572fc7c6b3ff4c9d465a720"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:138-143 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:927-932 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:527-532 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:621-626 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:746-751 \u2014 there are 5 copies across 4 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6f26b08fbc3e768929a7fb4fa4118ea5b3ef7311dbf268359ab0b2dc8b2a277"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs:267-272 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4301-4306 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:589-594 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/Geofencing/mod.rs"},"region":{"startLine":267}}}],"partialFingerprints":{"codehealthFindingId/v1":"01e0152b029d0620c80aa57f9486e7e5b50fdc88790937e1b589ed4dfe626b57"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:47-52 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7538-7543 \u2014 \u0060crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"a288e593429c9f32e94c75dcc67c0f28490b9d61fef7a5afff79814e4233744d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:102-107 | crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:213-218 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:464-469 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b7d808b0e0d30d159f67738286a76643c55fd4e7d32c9c8ca7c62fffe9adb7d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs:219-224 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2205-2210 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Geolocation/mod.rs"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fb484aaf64327e4b1195345e846e35f37b036e9a20d381b9df62fb5920d5cfd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:6-11 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:454-459 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Gpio/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c2e8283695f5df66fb5a5bb7d22bf1d0ca7becafc28aeff87973f713436a25b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:42-47 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:235-240 | crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs:8-13 | crates/libs/windows/src/Windows/Devices/Pwm/mod.rs:80-85 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Gpio/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb5b29bbc4bf266b5ebb2f65072d5219834d66942c7439c33dc8771d9fc4a45a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:127-132 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:343-348 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Gpio/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"44d22ac1f9dcbd36ca05fa6153b6a1db1a0e60cb188a87c1b2a8fd71bc47573d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:136-141 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:352-357 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Gpio/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f38082a9ffa184ca5905877a858619beabb4c436b32517c7dd4e58dca997344"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:142-147 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:358-363 | crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:308-313 | crates/libs/windows/src/Windows/Devices/I2c/mod.rs:40-45 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:298-303 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:292-297 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Gpio/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc5a652c4bbd64ce905c31fa996e547c8e8fc4a8f232e627e5e568ed254d8a3b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:148-153 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:364-369 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Gpio/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"276f376d56514100fa5321c514c76c1aa28aa76e5df698bb799e34bd4a048392"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:154-159 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:370-375 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Gpio/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs"},"region":{"startLine":154}}}],"partialFingerprints":{"codehealthFindingId/v1":"60b3533fb07381495005e59f8afc20b84cd243d12b3c228a27304d76efcb45a6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs:166-171 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:47-52 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:382-387 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Gpio/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 53 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/Provider/mod.rs"},"region":{"startLine":166}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c4c2db229e92accc3ea915bf668f5b4595010e45f937217bf9b79de57b436ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:29-34 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:137-142 | crates/libs/windows/src/Windows/Devices/Pwm/mod.rs:200-205 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/mod.rs"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"df573f2071a2ba622fe52106b57270856490a979af2f1437528cfafdeb0adb6f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:35-40 | crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:143-148 | crates/libs/windows/src/Windows/Devices/Pwm/mod.rs:215-220 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/mod.rs"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"a87ccee2e0575b3b2e1c473acbcd07a4c657aa3307a0ca0f98e491e8e162b1bf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Gpio/mod.rs:110-115 | crates/libs/windows/src/Windows/Foundation/mod.rs:360-365 | crates/libs/windows/src/Windows/Media/mod.rs:61-66 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:6-11 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:692-697 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Streams/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 55 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Gpio/mod.rs"},"region":{"startLine":110}}}],"partialFingerprints":{"codehealthFindingId/v1":"51911631e118a4a239482a089881af790a8996d9828916e5d82a181b3383b5ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Haptics/mod.rs:178-183 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:110-115 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:242-247 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Haptics/mod.rs"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a7220a9b8b4040abe5731cb81143e74a05e54442d66a0c6e1cc92aec8232bda"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Haptics/mod.rs:549-554 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1104-1109 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3309-3314 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3340-3345 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3371-3376 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3809-3814 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 56 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Haptics/mod.rs"},"region":{"startLine":549}}}],"partialFingerprints":{"codehealthFindingId/v1":"84af698e7cb752ed1874766678f31f085b5149b43152f3b0cbad1ab085b5d7fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:12-17 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:75-80 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:130-135 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:203-208 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:525-530 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:609-614 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:254-259 \u2014 there are 7 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"f233c7410f3a2ceb042a8e1f5edff151b94bfbb52cae2bbce8b54280e31aa0f9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:18-23 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:81-86 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:136-141 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:209-214 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:531-536 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:615-620 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:248-253 \u2014 there are 7 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"b707b83883fc03af412cccb66e56b420698a85b99f588f6bde7664e766ad922f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:185-190 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1108-1113 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1110-1115 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs"},"region":{"startLine":185}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cfb82a823a3385f2ae458c54cd3abd1c42a6677c57af47385b50549e0a81abb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:191-196 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1114-1119 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1116-1121 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs"},"region":{"startLine":191}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fb227a3ae76da3d3228f5ac8bb61667a564b35e3ec5c6cbe49fed769c4b4b99"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:489-494 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:198-203 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7436-7441 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7597-7602 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8076-8081 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs"},"region":{"startLine":489}}}],"partialFingerprints":{"codehealthFindingId/v1":"3675a5a45c749c497b0877d1004f40ecb3295f7adda86cfbbe26cc205327aa70"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:519-524 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:764-769 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs"},"region":{"startLine":519}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d686415621965a9a8f0b518f960369637e5b9dd1af2ddaffd706e551b70e7ba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 12): crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:537-542 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1721-1726 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1190-1195 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1044-1049 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1108-1113 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1305-1310 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3837-3842 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4480-4485 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4532-4537 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4594-4599 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2656-2661 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:1019-1024 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs"},"region":{"startLine":537}}}],"partialFingerprints":{"codehealthFindingId/v1":"1800a2167607fb97b54eb1b280960682450159c8c71e128e35e734fefe819fd2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:215-220 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:217-222 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 57 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs"},"region":{"startLine":215}}}],"partialFingerprints":{"codehealthFindingId/v1":"2507364ce8c84e82efd8baeb533b508aeb77b34185ff984dbb755a657c61c3db"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:290-295 | crates/libs/windows/src/Windows/Devices/I2c/mod.rs:22-27 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/I2c/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs"},"region":{"startLine":290}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c333bab20a621c91d9641c29fee551fa756f85a699b22587492d24428e7097a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs:299-304 | crates/libs/windows/src/Windows/Devices/I2c/mod.rs:31-36 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/I2c/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/I2c/Provider/mod.rs"},"region":{"startLine":299}}}],"partialFingerprints":{"codehealthFindingId/v1":"38d4a1a102e710455d7864e0722238960fd3e45ffe6475341d25e4a932742428"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/I2c/mod.rs:135-140 | crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:99-104 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:387-392 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/I2c/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 39 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/I2c/mod.rs"},"region":{"startLine":135}}}],"partialFingerprints":{"codehealthFindingId/v1":"331daafbefb36f3369f218e8a49a53e0063e2c273016e63eebde36852c430308"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/I2c/mod.rs:328-333 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:97-102 \u2014 \u0060crates/libs/windows/src/Windows/Devices/I2c/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Spi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 72 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/I2c/mod.rs"},"region":{"startLine":328}}}],"partialFingerprints":{"codehealthFindingId/v1":"eaff136c196b74fbbf45b0fea7a27c7f94a830dd14cbd40813c765bf2e39bca7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:246-251 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:279-284 | crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:388-393 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4989-4994 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs"},"region":{"startLine":246}}}],"partialFingerprints":{"codehealthFindingId/v1":"20153bc011177a54f844a25dce676210e63873be0e538a0cc1f7c1ba839a1c5f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs:394-399 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5003-5008 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Input/Preview/mod.rs"},"region":{"startLine":394}}}],"partialFingerprints":{"codehealthFindingId/v1":"828edf655eb1886e5c3487a0ca56be55dcc6a69c52ebd23ce7c14f9bf1a6ea64"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Devices/Input/mod.rs:424-429 | crates/libs/windows/src/Windows/Devices/Input/mod.rs:556-561 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:107-112 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:942-947 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:2777-2782 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3521-3526 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:744-749 \u2014 there are 7 copies across 4 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Input/mod.rs"},"region":{"startLine":424}}}],"partialFingerprints":{"codehealthFindingId/v1":"eee0e46a54e999d6a3193312e58160eb436896344abdc13d28df32b564e1ea22"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/Devices/Input/mod.rs:712-717 | crates/libs/windows/src/Windows/UI/Input/mod.rs:53-58 | crates/libs/windows/src/Windows/UI/Input/mod.rs:114-119 | crates/libs/windows/src/Windows/UI/Input/mod.rs:784-789 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2227-2232 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2297-2302 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2351-2356 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2393-2398 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3890-3895 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4130-4135 \u2014 there are 10 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 10 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Input/mod.rs"},"region":{"startLine":712}}}],"partialFingerprints":{"codehealthFindingId/v1":"19cf4e2c1e3307ff1f4945ea32687d26ce2ecdd219121c70b12ee828b6469899"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:158-163 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6693-6698 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 48 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"ccb855bbc79d2fb51a1b086b3dbfb3e8f893eebfa05eae0a7ea5df3cd10dc005"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:436-441 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:553-558 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:907-912 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:211-216 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6291-6296 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1368-1373 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 48 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs"},"region":{"startLine":436}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d5a248cfe3ff54f37dd8ac736050ccd17dfb28e495d74a51c7ac0a94fbb9a8c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Lights/mod.rs:195-200 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:332-337 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:119-124 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Lights/mod.rs"},"region":{"startLine":195}}}],"partialFingerprints":{"codehealthFindingId/v1":"91bb9789d9d79e8dcfd2251c0a4a1b495249b8a5dc51b3a307fecab5fdfc5ecc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Lights/mod.rs:281-286 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:460-465 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1875-1880 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Gaming/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 37 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Lights/mod.rs"},"region":{"startLine":281}}}],"partialFingerprints":{"codehealthFindingId/v1":"4bb2571a1ea7f38eee83eb027c388e471d464be00aa8c7b6f138908d0d67057f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Lights/mod.rs:287-292 | crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs:454-459 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1869-1874 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Gaming/Input/Custom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Gaming/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 37 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Lights/mod.rs"},"region":{"startLine":287}}}],"partialFingerprints":{"codehealthFindingId/v1":"77339da2cb91eab4ace068ef9342036c8d3f0ebeaf5a9fe4000f1d45b052f9b3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Lights/mod.rs:317-322 | crates/libs/windows/src/Windows/UI/Core/mod.rs:5105-5110 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Lights/mod.rs"},"region":{"startLine":317}}}],"partialFingerprints":{"codehealthFindingId/v1":"09b08a02f696285e41db3e215bad1a42d10976e6362ada885a2f0a5a1ba92144"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Lights/mod.rs:499-504 | crates/libs/windows/src/Windows/Storage/mod.rs:1971-1976 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:2584-2589 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Lights/mod.rs"},"region":{"startLine":499}}}],"partialFingerprints":{"codehealthFindingId/v1":"09f0dce1b8395b1e90817a7837e53461d7d8016804aed8ada98c5f5d37c65e8b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:571-576 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:678-683 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:884-889 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:953-958 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1080-1085 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1143-1148 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1212-1217 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1488-1493 \u2014 \u0060crates/libs/windows/src/Windows/Devices/Midi/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 40 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":571}}}],"partialFingerprints":{"codehealthFindingId/v1":"399a0a8b116aacecfb397fc534e695be1112209aaf45e1c04de40a1dda34f645"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:577-582 | crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1155-1160 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1945-1950 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3009-3014 | crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs:617-622 | crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs:870-875 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2833-2838 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 39 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":577}}}],"partialFingerprints":{"codehealthFindingId/v1":"992d21272ad78edecb904f598cc13d3746de7bdaac2be0410e414a68d0730fb8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Midi/mod.rs:1488-1493 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:54-59 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:492-497 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:1117-1122 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3868-3873 | crates/libs/windows/src/Windows/Win32/control/mod.rs:244-249 \u2014 \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 46 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Midi/mod.rs"},"region":{"startLine":1488}}}],"partialFingerprints":{"codehealthFindingId/v1":"64d6c95a16569b77eb58c9b3cb325384d76e61c5d52960c3646032e929d8d050"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:161-166 | crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:100-105 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:741-746 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1308-1313 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6030-6035 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6122-6127 | crates/libs/windows/src/Windows/Media/DialProtocol/mod.rs:18-23 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:809-814 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:590-595 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs"},"region":{"startLine":161}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a5c64ce3deba880600b4350b14fb8c826633f5502653d832ecbfd0f4567a1b6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:403-408 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6954-6959 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7288-7293 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7459-7464 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs"},"region":{"startLine":403}}}],"partialFingerprints":{"codehealthFindingId/v1":"425e091ffdcf1134c7755c9984b38ed6c403c75ae473c89d3ff52f2a7aedd202"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:433-438 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1843-1848 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1661-1666 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:3314-3319 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2766-2771 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1947-1952 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1273-1278 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10284-10289 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs"},"region":{"startLine":433}}}],"partialFingerprints":{"codehealthFindingId/v1":"86c755693c142de99dc3bf4d2a80e7f1aa09a06abacad3e8bb7fb1195c50aa76"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:1044-1049 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:976-981 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs"},"region":{"startLine":1044}}}],"partialFingerprints":{"codehealthFindingId/v1":"7895db23221890e852ba686d4b0a4424ea79acf5c1af5d63c4e163683c4a95b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:1053-1058 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:991-996 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs"},"region":{"startLine":1053}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a516c6ca340f5a74b01be0621fbaf98fcee9dd9ed6bf00af798459863c93ba9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs:1062-1067 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1024-1029 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/Provider/mod.rs"},"region":{"startLine":1062}}}],"partialFingerprints":{"codehealthFindingId/v1":"33fa65550b6de5dd8994d21f32af4ef23a92c3eae18fd32be83e2107526c935c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:359-364 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1411-1416 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7978-7983 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8940-8945 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:729-734 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:967-972 \u2014 there are 6 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":359}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd69bf501b71f848bff9f29e9b2774db53b658812ba8e5605b49c7a1458d1ade"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1076-1081 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1452-1457 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8178-8183 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8981-8986 | crates/libs/windows/src/Windows/Services/Store/mod.rs:2217-2222 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11209-11214 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16146-16151 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3385-3390 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Store/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1076}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed02aff8901e02d1dcf68be70e53ab382da2776e6446b4e7c9a91ff34c1d32e5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1507-1512 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1776-1781 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2365-2370 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2613-2618 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:531-536 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1507}}}],"partialFingerprints":{"codehealthFindingId/v1":"4bd020cdf4a5de34066fbf3491ffb8bf3df87de8b529629bdcbbfe23e7d618a8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1513-1518 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:1782-1787 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2371-2376 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2619-2624 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:525-530 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":1513}}}],"partialFingerprints":{"codehealthFindingId/v1":"d82fc2970729bdd0cc65c88fd1fd64f4e83e992c80aae3ab7f7a745da581b6f6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2735-2740 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:2920-2925 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1330-1335 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":2735}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b044899937d91da0d30bcfed823e542dd5a3492b1ba124f54c9991aa7213dac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3990-3995 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6657-6662 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 94 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":3990}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fb225725585c270e2e11b3892701ea4ad37ba697853d917faaad907027c54a0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:3999-4004 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1848-1853 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 79 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":3999}}}],"partialFingerprints":{"codehealthFindingId/v1":"2259bd18b5b9b59be07eee821f0169f6a09fb10482b53c8e3cf20560de8be684"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:6496-6501 | crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:319-324 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":6496}}}],"partialFingerprints":{"codehealthFindingId/v1":"6418a611ec3bef8e61a601838ed2f778a9b8cd115c8d980affa1c0f3d87a631d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7460-7465 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:590-595 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/iads/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":7460}}}],"partialFingerprints":{"codehealthFindingId/v1":"b08da18aaca98559a788ff13dbe911b9ee37c4743291a7f86d8ddbfb70a181c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7478-7483 | crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:7627-7632 | crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:478-483 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11376-11381 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/iads/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":7478}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d55d49069b82e48d8cc43a79007a8f903389cfdd89811f1ca32cf3a86cdbe8e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8017-8022 | crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs:831-836 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":8017}}}],"partialFingerprints":{"codehealthFindingId/v1":"343bbf6e72d225d3a79e9f648ae0d9ca3029810be3212cbba99ecebf49cd58cc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8722-8727 | crates/libs/windows/src/Windows/UI/Text/mod.rs:394-399 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 79 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":8722}}}],"partialFingerprints":{"codehealthFindingId/v1":"83207d6fb7acf40eb2dfc1b1cad7263c40d4ef1984c6bb9256c1044a0ebf66c6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8731-8736 | crates/libs/windows/src/Windows/UI/Text/mod.rs:439-444 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 79 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":8731}}}],"partialFingerprints":{"codehealthFindingId/v1":"837f6cd00195dc3201ce8dc377e75c9a130642e171456e6680b0b0b0cb362186"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8740-8745 | crates/libs/windows/src/Windows/UI/Text/mod.rs:571-576 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 79 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":8740}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebbcbca403cdab623081e7232131c84c734446686a74f6c40e6893b9b8b39e82"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8758-8763 | crates/libs/windows/src/Windows/UI/Text/mod.rs:535-540 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 79 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":8758}}}],"partialFingerprints":{"codehealthFindingId/v1":"e54d72c99b1481a68bee6fdcf5ce3153ea9c24b0246980a7d69ce8f791942842"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8767-8772 | crates/libs/windows/src/Windows/UI/Text/mod.rs:553-558 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 79 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":8767}}}],"partialFingerprints":{"codehealthFindingId/v1":"849d5c74bffda03069f51c687245f779e547e05c50b6b509f1409b1f0c07ce5c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8776-8781 | crates/libs/windows/src/Windows/UI/Text/mod.rs:544-549 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 79 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":8776}}}],"partialFingerprints":{"codehealthFindingId/v1":"5db69accedda38f5b0b46ff8a1f3a8eed4457664e1c9078c3c3b8a53c8b0c00a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:8803-8808 | crates/libs/windows/src/Windows/UI/Text/mod.rs:1809-1814 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 79 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":8803}}}],"partialFingerprints":{"codehealthFindingId/v1":"00df710bd7ab9d4f19bd486ef4b6cdbb9678c89ccd388ae3419f389eeccd8a1e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs:9772-9777 | crates/libs/windows/src/Windows/Devices/Power/mod.rs:204-209 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2518-2523 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:598-603 \u2014 \u0060crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Power/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 34 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/PointOfService/mod.rs"},"region":{"startLine":9772}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2776466ea03bb3e4105b1a47793414e2fea938e89a7fe8398412115e68e5427"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Power/mod.rs:12-17 | crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:393-398 | crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:547-552 | crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:625-630 | crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:739-744 | crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:855-860 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Power/mod.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a2ef5e9bc6ce5d7fc890769e2cf6a5f9b18bb7d0d75eb6eaffd3710e788134c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Printers/Extensions/mod.rs:312-317 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1164-1169 | crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1874-1879 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Printers/Extensions/mod.rs"},"region":{"startLine":312}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9d95c33627cbee4baea3e1ee2f3527e9a3dfec299d68e6ae24fb64ed125578a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1124-1129 | crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs:340-345 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Printers/mod.rs"},"region":{"startLine":1124}}}],"partialFingerprints":{"codehealthFindingId/v1":"359c761edbebfc95dca6c10a014e6536e8d12de448a41829886b2d427d1da0c3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1710-1715 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1789-1794 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2066-2071 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Printers/mod.rs"},"region":{"startLine":1710}}}],"partialFingerprints":{"codehealthFindingId/v1":"81ad1992a93027502956625afbb0f918a964531007a242bfecfc78f60e9aaf38"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Printers/mod.rs:1934-1939 | crates/libs/windows/src/Windows/System/mod.rs:413-418 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Printers/mod.rs"},"region":{"startLine":1934}}}],"partialFingerprints":{"codehealthFindingId/v1":"14c5012a567c4128f18608d1a978f7c768692f6165801a131975b755733611aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs:14-19 | crates/libs/windows/src/Windows/Devices/Pwm/mod.rs:86-91 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Pwm/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5335325414a8479a9a70cfdfe83e97fae273f9e34b8365c1bca11daa12b664c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs:20-25 | crates/libs/windows/src/Windows/Devices/Pwm/mod.rs:92-97 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Pwm/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e12eb905da3a38309169c061da007d9da36fb62a43f7e46b02b6e2ccc8995aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs:26-31 | crates/libs/windows/src/Windows/Devices/Pwm/mod.rs:104-109 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Pwm/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"1734851c95a7a2fdd34df3d4d732fe9fb3c0bc2d0a2a05de130ed56712424249"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs:32-37 | crates/libs/windows/src/Windows/Devices/Pwm/mod.rs:98-103 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Pwm/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Pwm/Provider/mod.rs"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dbb29596a3857470bbf88efe0da6b2d1097bd4b84abca965250da55c82e1d8e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:247-252 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3236-3241 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3314-3319 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":247}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1f8906d6beaad71a2461a4e7b7fb63e8a492608ad28b4f68f2b1054489af9ef"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Scanners/mod.rs:280-285 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:299-304 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Scanners/mod.rs"},"region":{"startLine":280}}}],"partialFingerprints":{"codehealthFindingId/v1":"1620a042cc316b2bb78adbc1ec99574aa11246e3fc3ea9d5911271cef8d2c381"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 12): crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs:6-11 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:8-13 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:598-603 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:753-758 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:958-963 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1238-1243 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1810-1815 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4511-4516 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4794-4799 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5074-5079 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5412-5417 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5892-5897 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sensors/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b277d5500a02f505f28f604982c042bb9baf180d53d23de47fada0c13176bcd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 16): crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs:136-141 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:264-269 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:465-470 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:489-494 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:729-734 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:934-939 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1166-1171 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1463-1468 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1676-1681 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:1998-2003 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:4770-4775 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5023-5028 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5321-5326 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5625-5630 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5835-5840 | crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:6053-6058 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sensors/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 47 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sensors/Custom/mod.rs"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7c5c9329245925232187c7b128b28b0f5006a5ea1080491e559357d924ccafd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:441-446 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:1008-1013 | crates/libs/windows/src/Windows/Win32/control/mod.rs:922-927 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sensors/mod.rs"},"region":{"startLine":441}}}],"partialFingerprints":{"codehealthFindingId/v1":"922c4b141e02c69c320ab0f4dd4627a4bc3f98a9fa76e31ad6321a544da28f6e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:5376-5381 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:1145-1150 | crates/libs/windows/src/Windows/System/RemoteDesktop/Provider/mod.rs:116-121 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:890-895 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4303-4308 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 5 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 5 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sensors/mod.rs"},"region":{"startLine":5376}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7eefe75e5e35038bf95d3941d635a022949698d098183115fac4209fefb3fb8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/Devices/Sensors/mod.rs:6383-6388 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:281-286 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1357-1362 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1883-1888 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1229-1234 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:532-537 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1271-1276 | crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs:852-857 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2851-2856 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:95-100 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Printing/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sensors/mod.rs"},"region":{"startLine":6383}}}],"partialFingerprints":{"codehealthFindingId/v1":"0138b07a1caa7684c7302a7becf8d16267fed7de450e16d6b1785a7912e7612b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/SerialCommunication/mod.rs:162-167 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:12-17 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:703-708 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:1827-1832 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:1876-1881 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/SerialCommunication/mod.rs"},"region":{"startLine":162}}}],"partialFingerprints":{"codehealthFindingId/v1":"1565c267d57fd92c08b8524ab8c49d362fa3e2e5f98b62f5fac562f1772789bd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:957-962 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:3084-3089 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:372-377 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs"},"region":{"startLine":957}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c12b8421b994cfc83b99c0124fa32d3bf2e3cc7f19b4fbf557b10fe60601688"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:1880-1885 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6718-6723 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs"},"region":{"startLine":1880}}}],"partialFingerprints":{"codehealthFindingId/v1":"600097a77a08af3954fbf7561a9264b4b34d530ac7f5b4394671f8fafb308f48"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2249-2254 | crates/libs/windows/src/Windows/Storage/mod.rs:2558-2563 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs"},"region":{"startLine":2249}}}],"partialFingerprints":{"codehealthFindingId/v1":"03156b762405469eaa2ea6dab79627f8e71a2713ec594d288d6d39079ba908cb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2261-2266 | crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2325-2330 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:3110-3115 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs"},"region":{"startLine":2261}}}],"partialFingerprints":{"codehealthFindingId/v1":"06a6f0eba9b98e820a45a0efd64583f40a7243b1624ebcf538088699b543d7aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2299-2304 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:8313-8318 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs"},"region":{"startLine":2299}}}],"partialFingerprints":{"codehealthFindingId/v1":"4add54367605c92f06a127392d6911ce6543ee59ba9d16cccbbe534a70fe25d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2665-2670 | crates/libs/windows/src/Windows/System/Profile/mod.rs:785-790 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:435-440 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:770-775 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1501-1506 \u2014 there are 5 copies across 4 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs"},"region":{"startLine":2665}}}],"partialFingerprints":{"codehealthFindingId/v1":"48748592743727b919011d3d82acb4893047eb42112bf83a4f9ef6565a498629"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2755-2760 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4769-4774 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3054-3059 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs"},"region":{"startLine":2755}}}],"partialFingerprints":{"codehealthFindingId/v1":"4896252e22828f4a924de9fd71a55cf303a794f704251da15fbb3f9a5075799b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs:2764-2769 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4763-4768 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3048-3053 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/SmartCards/mod.rs"},"region":{"startLine":2764}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cd7b6b8c47f9cd8544c8188c9ca9125857780d8a4d8afba621271910fab783b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:221-226 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:650-655 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1651-1656 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1772-1777 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2056-2061 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2511-2516 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3785-3790 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":221}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f9cfdb6ed1c8ce253f8fc2d5799d6148856e81980214be7a19d2f3aa27af711"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:638-643 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2020-2025 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2288-2293 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2347-2352 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2545-2550 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2692-2697 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 72 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":638}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6725398d304601c30252215494ec41ccbed1f1f0aa71f22b970d877dbe1f537"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:662-667 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3821-3826 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5355-5360 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":662}}}],"partialFingerprints":{"codehealthFindingId/v1":"e28c8eab86f9cd900023e100494eb204217e72e5e6125c98148fda1a607e6730"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2129-2134 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1119-1124 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:110-115 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Update/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":2129}}}],"partialFingerprints":{"codehealthFindingId/v1":"25f1ef66fbc0960bfc2c977aa2764a0bc2ff020b3b997f4273c74995ef4a8fce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:2499-2504 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4950-4955 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":2499}}}],"partialFingerprints":{"codehealthFindingId/v1":"78cb85bc96888203ac2b89bf6279ad5e8be70c5e1fc017c2b92628d34eacc063"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 11): crates/libs/windows/src/Windows/Devices/Sms/mod.rs:3070-3075 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2237-2242 | crates/libs/windows/src/Windows/Web/Http/mod.rs:38-43 | crates/libs/windows/src/Windows/Web/Http/mod.rs:609-614 | crates/libs/windows/src/Windows/Web/Http/mod.rs:978-983 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1108-1113 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1297-1302 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1468-1473 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1660-1665 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1753-1758 | crates/libs/windows/src/Windows/Web/Http/mod.rs:2018-2023 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Http/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Sms/mod.rs"},"region":{"startLine":3070}}}],"partialFingerprints":{"codehealthFindingId/v1":"1097e55f5b18cdd43326b6cab94155336676f6a1a106d92c9d88361a85853bf1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:262-267 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:256-261 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Spi/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs"},"region":{"startLine":262}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b5afce7d6c2d23a5ef6e01af2922e0847b3bac0908c2d425ebd9d1a2f72f3eb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 17): crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:271-276 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:265-270 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:18-23 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5320-5325 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:470-475 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:15-20 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:54-59 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1450-1455 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1536-1541 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3479-3484 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4402-4407 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4585-4590 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:788-793 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:949-954 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1598-1603 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1671-1676 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:706-711 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Spi/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs"},"region":{"startLine":271}}}],"partialFingerprints":{"codehealthFindingId/v1":"018f1ccddba26a798cc96d0bf581e4152f6217b83d61a190c9fb1875fcd4b72e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:280-285 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:274-279 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Spi/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs"},"region":{"startLine":280}}}],"partialFingerprints":{"codehealthFindingId/v1":"1af6af0cbd4a5a1f9b4c84827ec1ca3d37ba208f8301a9d75a9f7e575c64adb4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs:289-294 | crates/libs/windows/src/Windows/Devices/Spi/mod.rs:283-288 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Spi/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Spi/Provider/mod.rs"},"region":{"startLine":289}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8bb5b98b16dd398e49972346b7f51500aa9e4cfbd44d51ee624caa202e2dd30"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/Usb/mod.rs:741-746 | crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1156-1161 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1515-1520 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:526-531 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1969-1974 \u2014 there are 5 copies across 4 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Usb/mod.rs"},"region":{"startLine":741}}}],"partialFingerprints":{"codehealthFindingId/v1":"087e37fa12a1e1b8e73c551fec9d767ae4e0d78042bae9ae1a0a507674711a18"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/Usb/mod.rs:1402-1407 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2440-2445 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2578-2583 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12367-12372 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/Vpn/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 67 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/Usb/mod.rs"},"region":{"startLine":1402}}}],"partialFingerprints":{"codehealthFindingId/v1":"a97dfd321f4ab84db17ceecd91586fe132f24655d6b099ceeed6e344514c64ac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:218-223 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:240-245 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:1208-1213 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:978-983 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4530-4535 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Devices/WiFi/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/WiFi/mod.rs"},"region":{"startLine":218}}}],"partialFingerprints":{"codehealthFindingId/v1":"f20f0419eab369b33d61bbb81cca6c77c7cc4cd77d9c9fa26d98cbc33919612e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:358-363 | crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:759-764 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:842-847 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5713-5718 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:6025-6030 \u2014 \u0060crates/libs/windows/src/Windows/Devices/WiFi/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 34 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/WiFi/mod.rs"},"region":{"startLine":358}}}],"partialFingerprints":{"codehealthFindingId/v1":"c007a66c519000fde93c1cfcf49adabdf93b671f9f5bb6dddc2719a4770e5337"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/WiFi/mod.rs:666-671 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5868-5873 | crates/libs/windows/src/Windows/Win32/castinginterop/mod.rs:172-177 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/WiFi/mod.rs"},"region":{"startLine":666}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e0f8d3325bd4aa553538417e476db98387a50802e5e92d6a784f252a27e8872"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:261-266 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:569-574 | crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:882-887 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1336-1341 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1688-1693 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:1904-1909 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2404-2409 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2428-2433 \u2014 there are 8 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 8 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs"},"region":{"startLine":261}}}],"partialFingerprints":{"codehealthFindingId/v1":"4895428c5597599ea8cd7dd68684445262765184d3eceffc073a9c9d23892c6e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:670-675 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:699-704 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs"},"region":{"startLine":670}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1bffe7658ae80350795519c30b72ca8413febf06ad5c575862cad4654d10eb8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:676-681 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:4265-4270 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs"},"region":{"startLine":676}}}],"partialFingerprints":{"codehealthFindingId/v1":"688272000c8070b9b89cd080fbc65bb98edb88131d45477cfe52e4c5f56dcf94"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:723-728 | crates/libs/windows/src/Windows/Management/Setup/mod.rs:631-636 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1099-1104 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:477-482 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 4 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs"},"region":{"startLine":723}}}],"partialFingerprints":{"codehealthFindingId/v1":"992756ebc555e898919862838acfc3abce530331052bb0ad9ea227f48c8afacf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs:748-753 | crates/libs/windows/src/Windows/Devices/WiFiDirect/mod.rs:658-663 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/WiFiDirect/Services/mod.rs"},"region":{"startLine":748}}}],"partialFingerprints":{"codehealthFindingId/v1":"97aa83f62ae95531aa5a7d409dbeeb3b11e54c3153111d50620f69bdc31f2d16"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:628-633 | crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs:1623-1628 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11165-11170 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/Diagnostics/mod.rs"},"region":{"startLine":628}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0ae7b5c31be7b794ca130cbf6f448afd6ad44b0af2c48237fdd30d7793b8d1a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/mod.rs:481-486 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:126-131 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Policies/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":481}}}],"partialFingerprints":{"codehealthFindingId/v1":"52c03137318f544d9e9de8b4564741c1e050424f8d514fa8992cd6df48df6de2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/mod.rs:493-498 | crates/libs/windows/src/Windows/Management/Policies/mod.rs:132-137 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Policies/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":493}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff5bf40afb52df5a34741a4a082265f0d21271a58611f3e8aa574d529eabb7a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/mod.rs:535-540 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:2780-2785 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":535}}}],"partialFingerprints":{"codehealthFindingId/v1":"361d621da34cdec4fd90dc4f5db4c50d67762a2c2bc1fe086bdc33ddda05aaf1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/mod.rs:541-546 | crates/libs/windows/src/Windows/Globalization/mod.rs:113-118 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":541}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb794e35e42c414f83ae2f8b5f9b0510975427f04973de94fcc726f5af90dd7c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Foundation/mod.rs:559-564 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1121-1126 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3671-3676 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:1427-1432 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dwrite/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 113 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":559}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1ae1bc6b11903b748e3965d6e158f9965ccfe60343e90b38c76312eb01d4146"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/mod.rs:565-570 | crates/libs/windows/src/Windows/Win32/docobj/mod.rs:383-388 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":565}}}],"partialFingerprints":{"codehealthFindingId/v1":"9856a14a5faff2779339628c934a7429c9dd1a0920693046d424bfa837f5dc55"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Foundation/mod.rs:2163-2168 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2074-2079 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:105-110 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:934-939 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 39 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":2163}}}],"partialFingerprints":{"codehealthFindingId/v1":"a082a2672752e26ee51c2124def838244898986ec7a3c2a370142419cb584581"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 13): crates/libs/windows/src/Windows/Foundation/mod.rs:2169-2174 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:355-360 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:559-564 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:860-865 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2015-2020 | crates/libs/windows/src/Windows/Storage/mod.rs:2546-2551 | crates/libs/windows/src/Windows/Storage/mod.rs:5246-5251 | crates/libs/windows/src/Windows/Web/Http/mod.rs:407-412 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:4199-4204 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4786-4791 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6653-6658 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9598-9603 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10311-10316 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 63 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":2169}}}],"partialFingerprints":{"codehealthFindingId/v1":"575e3bdd7f52261c574508f32361a82e451d6422b013aa5c88599b9c5f552822"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Foundation/mod.rs:2205-2210 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:95-100 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":2205}}}],"partialFingerprints":{"codehealthFindingId/v1":"0586623b99b25e265deed8492044fdbf94afde451a2271e18df8b8afed1b7adc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:23-28 | crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:97-102 | crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:343-348 | crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:506-511 | crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs:594-599 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1313-1318 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1536-1541 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:2614-2619 \u2014 there are 8 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 8 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/Input/ForceFeedback/mod.rs"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e66f8b1f214dfc59c05be22ba598518cbb8798d5c688e7df57397ce59c7dc19"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Gaming/UI/mod.rs:70-75 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:155-160 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:823-828 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3928-3933 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2749-2754 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Notifications/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/UI/mod.rs"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"79da8f7b4515946f5b99bd6b7c7f6c062c80f0fe89988f42c12b0c580617ca0a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Gaming/UI/mod.rs:94-99 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3818-3823 | crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:520-525 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/UI/mod.rs"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"73c5fe806f07e151c595fc54c244236c2b83b816aa738e015fb2013d284277c3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:109-114 | crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs:300-305 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1051-1056 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Gaming/XboxLive/Storage/mod.rs"},"region":{"startLine":109}}}],"partialFingerprints":{"codehealthFindingId/v1":"9298c2b652c8d52b93a5a98db10bda91151dd7799ec2723ead395b46486ba76b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs:12-17 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:740-745 | crates/libs/windows/src/Windows/Media/ContentRestrictions/mod.rs:22-27 \u2014 \u0060crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"80f04a1eab29b36ce3dd332c2d24aba325b6bfc893ea497ce19f734911ad4606"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs:30-35 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:782-787 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:1613-1618 | crates/libs/windows/src/Windows/Globalization/mod.rs:86-91 \u2014 \u0060crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"75a4224b4859407e04eceb020e37856656b3c884c413e81582b334a8e30e09a8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs:45-50 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1550-1555 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"8dc797e970d67e2724fee65a2b3e6fd546bebdf3cce2c721682b47b591d7a645"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs:105-110 | crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs:797-802 \u2014 \u0060crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Globalization/NumberFormatting/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/DateTimeFormatting/mod.rs"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"28a37b4d69e825847a696fc1a57c55407fd206cada4f10e4f16890cda9ae72d1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs:62-67 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7027-7032 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a21396491ce3b856eebaa7d13261a2f6f04f36580e65fda46f62f01f9b2efc5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs:69-74 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7045-7050 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfd72772fda16099dff1e1d381f4614d0e7bfbd8c1caea88e7c6411d48d3ec79"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs:76-81 | crates/libs/windows/src/Windows/UI/Text/mod.rs:403-408 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"91005ce833593af35b2d6c0d7ee432249637e6200bb483e9a4b700311fa5b14c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs:83-88 | crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs:239-244 | crates/libs/windows/src/Windows/UI/Text/mod.rs:412-417 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/Fonts/mod.rs"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"57667471509c1464fdef6d52509323f73e4cb1b0b8d7c52281df9881429c3adc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Globalization/mod.rs:185-190 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:702-707 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1250-1255 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/mod.rs"},"region":{"startLine":185}}}],"partialFingerprints":{"codehealthFindingId/v1":"d94f8a6c4b5fb3644adc32a4798f6603fb3095aeb670faaa6598f42444199dfa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Globalization/mod.rs:374-379 | crates/libs/windows/src/Windows/System/Threading/mod.rs:85-90 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/mod.rs"},"region":{"startLine":374}}}],"partialFingerprints":{"codehealthFindingId/v1":"19500c6c7361566b28e58fd4451b5bcb97e5bcabd1dc80edde755284ced11f25"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Globalization/mod.rs:1845-1850 | crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs:237-242 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/mod.rs"},"region":{"startLine":1845}}}],"partialFingerprints":{"codehealthFindingId/v1":"75810182704c16d1c0b17725b0142c2f84e1707ef3c8476953514a8b1a1279fe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Globalization/mod.rs:2650-2655 | crates/libs/windows/src/Windows/UI/Text/mod.rs:457-462 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Globalization/mod.rs"},"region":{"startLine":2650}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b395aa14688f4bae87bf3e95124448036f6c56c2ef608995110a9aa8383ddf6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Graphics/Capture/mod.rs:111-116 | crates/libs/windows/src/Windows/System/mod.rs:1122-1127 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3001-3006 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:15-20 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Capture/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Capture/mod.rs"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fe6b2cdb8c2eab570fe6e65d95bf6755823f147729902d05cef4619d487ca20"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs:160-165 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:1233-1238 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"4fea8d6ea84c10cb149db36fcac42bf8e9811d666b8b5d17259dea8535a7369d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs:166-171 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:647-652 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Display/Core/mod.rs"},"region":{"startLine":166}}}],"partialFingerprints":{"codehealthFindingId/v1":"26f35637179f75fb2aa3e9fac22995ef8e63b1bf1799e6229a5140427a96bb02"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:564-569 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1709-1714 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:2124-2129 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs"},"region":{"startLine":564}}}],"partialFingerprints":{"codehealthFindingId/v1":"8072eb870ddb6c5d04024473acd669ec625181b8c70cdc1f96e9eb060195d78c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:693-698 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1188-1193 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1723-1728 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1942-1947 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2745-2750 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs"},"region":{"startLine":693}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca76ebfe27668f847a2b5be99872b893f9189d70ca174f2b0e053915c5676cc3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:824-829 | crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs:1217-1222 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3572-3577 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Holographic/mod.rs"},"region":{"startLine":824}}}],"partialFingerprints":{"codehealthFindingId/v1":"43713fed85da8e9361f0072224279e69012b26a9056cefe4d22316085287c026"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 20): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:105-110 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:441-446 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:919-924 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:1459-1464 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:168-173 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1128-1133 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:760-765 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:968-973 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1734-1739 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3756-3761 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:95-100 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:485-490 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:597-602 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:2245-2250 | crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs:25-30 | crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs:128-133 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1415-1420 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1757-1762 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4540-4545 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14911-14916 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d60844c0e4ec4ea6611a7a4fcdef6162a51854c83a53c5870a6ee4c445a21ab"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:454-459 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:387-392 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:500-505 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1505-1510 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2008-2013 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2786-2791 | crates/libs/windows/src/Windows/Storage/mod.rs:5585-5590 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Streams/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 76 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"f06db7cd80255fce928a4912a509742f6b2cef29b1c0fbe421bbdbe1a40a2143"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:623-628 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1283-1288 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2150-2155 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1339-1344 \u2014 \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":623}}}],"partialFingerprints":{"codehealthFindingId/v1":"76e6f95abe1fb3e3483b165d5bc4edfc4b7725367a5a5fe150977abea66ab0cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:629-634 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1289-1294 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:2159-2164 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1348-1353 \u2014 \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":629}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7dd263c4adb90a081a70ec704f353b62ac511077774234d181266de5685167e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:1000-1005 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3693-3698 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1355-1360 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3358-3363 | crates/libs/windows/src/Windows/UI/Input/mod.rs:3733-3738 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":1000}}}],"partialFingerprints":{"codehealthFindingId/v1":"4088e4e9ed27570ebe37eb921a55057d3b9f276067bf1ed2f127e93f187f10b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 19): crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:582-587 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1000-1005 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1093-1098 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1186-1191 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1279-1284 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1379-1384 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1528-1533 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1636-1641 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1733-1738 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1826-1831 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:1919-1924 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2012-2017 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2105-2110 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2241-2246 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2326-2331 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2419-2424 | crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs:2512-2517 | crates/libs/windows/src/Windows/Management/Deployment/mod.rs:693-698 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:12403-12408 \u2014 there are 19 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 19 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/OptionDetails/mod.rs"},"region":{"startLine":582}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d4dda1e448cab0ff4c017054aa01d6066ed1e66e140365cca31003cd2f1e641"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:616-621 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:646-651 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1209-1214 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1331-1336 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:1823-1828 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2407-2412 | crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs:2479-2484 \u2014 \u0060crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing/Workflow/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 44 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs"},"region":{"startLine":616}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea063fa8811ccf66e14bcff0c9313575c5bc938e1e858b9716bfd83f44265495"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1094-1099 | crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1139-1144 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:942-947 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs"},"region":{"startLine":1094}}}],"partialFingerprints":{"codehealthFindingId/v1":"eda38137a45e3f7ab1ad869748dfc8de368abf8e564282d41b092000c5ee1cca"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs:1317-1322 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:135-140 | crates/libs/windows/src/Windows/Web/UI/mod.rs:22-27 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/PrintSupport/mod.rs"},"region":{"startLine":1317}}}],"partialFingerprints":{"codehealthFindingId/v1":"a52aee79506c2b1188048414fb30bfc3540b2be675c7a36c1214f81cf2d66710"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 15): crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1526-1531 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:657-662 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:840-845 | crates/libs/windows/src/Windows/Media/Casting/mod.rs:19-24 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3632-3637 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3763-3768 | crates/libs/windows/src/Windows/Media/Import/mod.rs:1093-1098 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2570-2575 | crates/libs/windows/src/Windows/Perception/People/mod.rs:99-104 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2429-2434 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1112-1117 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:1690-1695 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2147-2152 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:123-128 | crates/libs/windows/src/Windows/Web/UI/mod.rs:10-15 \u2014 \u0060crates/libs/windows/src/Windows/Graphics/Printing/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 45 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/mod.rs"},"region":{"startLine":1526}}}],"partialFingerprints":{"codehealthFindingId/v1":"d857f3c6167407bd996b1df5503c7eac71806beeedc94aa3f62f9ff67f316d35"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1645-1650 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:723-728 \u2014 \u0060crates/libs/windows/src/Windows/Graphics/Printing/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 45 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing/mod.rs"},"region":{"startLine":1645}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf590eb966ba7061396f53148243d00dc75a00f7eb8309e7be271fd5bcd02699"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1405-1410 | crates/libs/windows/src/Windows/Storage/mod.rs:408-413 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:1605-1610 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2750-2755 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Notifications/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 52 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs"},"region":{"startLine":1405}}}],"partialFingerprints":{"codehealthFindingId/v1":"925292362f3a4318193af0ab91704415ce0929f54c4a498490c8ede28cf8c2c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1603-1608 | crates/libs/windows/src/Windows/Perception/People/mod.rs:111-116 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs"},"region":{"startLine":1603}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc8b796b54d5bbd307ee048826b64d29a0433db3565af551a0d227c23db0d3f1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:1749-1754 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:274-279 | crates/libs/windows/src/Windows/Services/Store/mod.rs:1556-1561 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs"},"region":{"startLine":1749}}}],"partialFingerprints":{"codehealthFindingId/v1":"899575adf08d672309e714bb6814472749b8cce38111a125d2b89caded1a765a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Management/Deployment/Preview/mod.rs:51-56 | crates/libs/windows/src/Windows/System/Inventory/mod.rs:50-55 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Deployment/Preview/mod.rs"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9bcb721676ded240d984edfb0bd3bc925698f684df5c9f4b88891ebdcd21854"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Management/Deployment/mod.rs:461-466 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4960-4965 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Deployment/mod.rs"},"region":{"startLine":461}}}],"partialFingerprints":{"codehealthFindingId/v1":"00800edb180d55079966ae20109a37c54d20d0acfb0d28a7ca75959a18bb4a32"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Management/Deployment/mod.rs:503-508 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:1448-1453 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3311-3316 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Deployment/mod.rs"},"region":{"startLine":503}}}],"partialFingerprints":{"codehealthFindingId/v1":"1776373f7b2b5471c7ddc823d767b6eb2a54d70a4abe14870bc1fa51098e5ac8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Management/Setup/mod.rs:306-311 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4488-4493 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:878-883 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Setup/mod.rs"},"region":{"startLine":306}}}],"partialFingerprints":{"codehealthFindingId/v1":"71dcff29e52e99312980a689e814a05dbaea03c0af3f5642ad49166ba191975a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2108-2113 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2350-2355 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2408-2413 | crates/libs/windows/src/Windows/Management/Update/mod.rs:902-907 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2166-2171 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2798-2803 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":2108}}}],"partialFingerprints":{"codehealthFindingId/v1":"cfadf1ef64ce7393327e3d873a1e0abfa5db570c01734d1f1944946128a5d96d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2160-2165 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2231-2236 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3995-4000 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1510-1515 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 58 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":2160}}}],"partialFingerprints":{"codehealthFindingId/v1":"a18c746db7c48247eee0f682033be8049718793d3c1f4fc3af1764aa162d149c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2166-2171 | crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2472-2477 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4082-4087 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 61 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":2166}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4b033d223701fcdd2d61e7c3ec052abb081486e4ffb9c0d2b1168fd2ea6cb27"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2255-2260 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:188-193 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13565-13570 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:286-291 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":2255}}}],"partialFingerprints":{"codehealthFindingId/v1":"c428b2e22e19db9a9ef4a096efe53900bc5eafc97d33343f736c712407a71ed8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2261-2266 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:194-199 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13571-13576 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:292-297 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":2261}}}],"partialFingerprints":{"codehealthFindingId/v1":"d421028edd9dd5b09899d6edb49c96dba912d420f17a550ebca62cf7cee26578"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs:2614-2619 | crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs:360-365 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/Cluster/mod.rs"},"region":{"startLine":2614}}}],"partialFingerprints":{"codehealthFindingId/v1":"11d34f490697a6815519af7cea070fbec44f8c8b5105427a0c88948ee4ee6a5f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Management/Update/mod.rs:1218-1223 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1768-1773 | crates/libs/windows/src/Windows/Management/Update/mod.rs:1992-1997 | crates/libs/windows/src/Windows/Management/Update/mod.rs:2050-2055 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:6498-6503 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Management/Update/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 46 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/mod.rs"},"region":{"startLine":1218}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed060dfb538a4ea4e898c3d65adb1972b25a56589b25f1d68fd62890c1e2d314"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Management/Update/mod.rs:1808-1813 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1060-1065 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/mod.rs"},"region":{"startLine":1808}}}],"partialFingerprints":{"codehealthFindingId/v1":"5287109980991cf967affdae1a634404e2f59df0f4e7be313eaacf92fde13136"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Management/Update/mod.rs:2202-2207 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:327-332 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/mod.rs"},"region":{"startLine":2202}}}],"partialFingerprints":{"codehealthFindingId/v1":"7acdbaf890a6b909309481640a9ba8655411287ca11c02d68e207ba588a642b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Management/Update/mod.rs:3057-3062 | crates/libs/windows/src/Windows/UI/ViewManagement/mod.rs:456-461 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/Update/mod.rs"},"region":{"startLine":3057}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a87a3f1ae5b077b519f23d653ac25cf2924c4553be40b8967d164fdc8a4816c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/Management/mod.rs:131-136 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:896-901 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2278-2283 | crates/libs/windows/src/Windows/Media/mod.rs:473-478 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:857-862 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2880-2885 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1865-1870 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3330-3335 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 32 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/mod.rs"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"d42c2fb2ba781ebbbcd9928c927c19fd17960473e6c1555bb26ace539be86259"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Management/mod.rs:213-218 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1021-1026 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2370-2375 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Management/mod.rs"},"region":{"startLine":213}}}],"partialFingerprints":{"codehealthFindingId/v1":"622e0325d24570a8485bb9a66abfd12b5322248b0f41ddd82e39b85949e70cc5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:81-86 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:242-247 \u2014 \u0060crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/AppRecording/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 60 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fa0c4364d60f7440e1c2e23a102f053d597f4c5b268b435f6a32875e6a4243e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:87-92 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:248-253 \u2014 \u0060crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/AppRecording/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 60 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbc5df6f918f3302cf3ba6a01dbab1e33a9585a17e79b849e6f3e76f35eb65cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:93-98 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:254-259 \u2014 \u0060crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/AppRecording/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 60 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c1492e93f0e9d88171c4026e0d1933aa6ab9a4a2ac005bc6c41429433ae7882"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:99-104 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:266-271 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:601-606 \u2014 \u0060crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/AppRecording/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 60 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs"},"region":{"startLine":99}}}],"partialFingerprints":{"codehealthFindingId/v1":"27f56167e1f8783535f3c4883de2545849b44cdd5152d15e15a9f453ff5bfd3b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:105-110 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:272-277 \u2014 \u0060crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/AppRecording/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 60 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa3235a0a13a3e00c91b05fee5c1875ebeea19275abcdc3de5a927d18e2c4f62"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:111-116 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:278-283 \u2014 \u0060crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/AppRecording/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 60 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4a5dbdbc16fe2c63ab583bd89c52a0f44dcccbe32b22fc3c46543940ff6e50b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:117-122 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:284-289 \u2014 \u0060crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/AppRecording/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 60 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs"},"region":{"startLine":117}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4108c34cf69ab66395b04507600a00b9d926d51c8407b634b80bca94d4726d3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:123-128 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:290-295 \u2014 \u0060crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/AppRecording/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 60 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"318d682c08ee8a0c7e78acd0c50ea66a05f42f33a8fb2c8103457229de66781b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs:147-152 | crates/libs/windows/src/Windows/Media/AppRecording/mod.rs:6-11 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:366-371 \u2014 \u0060crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/AppRecording/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 60 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/AppBroadcasting/mod.rs"},"region":{"startLine":147}}}],"partialFingerprints":{"codehealthFindingId/v1":"184488e643227bd73d75f063fcc351fcb0ce31a30a140a85f218935413e8ed14"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Audio/mod.rs:401-406 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:2352-2357 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 49 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":401}}}],"partialFingerprints":{"codehealthFindingId/v1":"84e56e8c2c966d1948f7aaf8c7d7e3d76f2ffac5b47eea82bc7a283c6960ab62"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 9): crates/libs/windows/src/Windows/Media/Audio/mod.rs:671-676 | crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:52-57 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:11-16 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:3658-3663 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7622-7627 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7668-7673 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7706-7711 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3708-3713 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:21-26 \u2014 \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 12 separate duplicated blocks between them, totalling at least 68 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":671}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc6d2157e6043fba949440d38bbf4a1201cdefc856ce68c96f2c2d5c72804a0e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Audio/mod.rs:1138-1143 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:1354-1359 | crates/libs/windows/src/Windows/Media/Audio/mod.rs:3427-3432 | crates/libs/windows/src/Windows/Media/Core/mod.rs:41-46 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7534-7539 \u2014 \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 99 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":1138}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d856530fca83de94eade702ac4a0b2105c1950eb03b82c1dc5fec8e59c32f3f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Audio/mod.rs:1951-1956 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:8353-8358 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:8461-8466 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":1951}}}],"partialFingerprints":{"codehealthFindingId/v1":"0947b6b17a0ea5aea8a84ff2afc280d12d2243a87db2c8bf58df13a195377e37"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Audio/mod.rs:2089-2094 | crates/libs/windows/src/Windows/Media/mod.rs:2088-2093 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 76 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":2089}}}],"partialFingerprints":{"codehealthFindingId/v1":"86acb2c8fd21421b9b557f4d171dfd11055911b7b28b7d740c5abc16d7d3d387"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/Media/Audio/mod.rs:2554-2559 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:45-50 | crates/libs/windows/src/Windows/Media/Editing/mod.rs:759-764 | crates/libs/windows/src/Windows/System/Threading/mod.rs:91-96 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:190-195 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:402-407 | crates/libs/windows/src/Windows/UI/Core/AnimationMetrics/mod.rs:549-554 \u2014 there are 7 copies across 4 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":2554}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ab387c62bae7806d5a2b787d041615b3bceb9a9ff66692b0949f7fbaed664e5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Audio/mod.rs:4696-4701 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:951-956 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:381-386 \u2014 \u0060crates/libs/windows/src/Windows/Media/Audio/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Miracast/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 51 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Audio/mod.rs"},"region":{"startLine":4696}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a641f16858bd271dcafbcf1fc72d2fd81391dd29b919259b8676f97f7dc5175"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:58-63 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7681-7686 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7712-7717 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"35e83c3511ed4410f2db2a8765a035af114b1ec86e26bb19f3499758f686ae10"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs:106-111 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:98-103 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6036-6041 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6094-6099 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:6128-6133 | crates/libs/windows/src/Windows/Storage/Compression/mod.rs:33-38 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/Core/mod.rs"},"region":{"startLine":106}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1fef9833d588a4ce894d39d76fbd43f98558a9435c6ede7980c1efa991bdb44"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:50-55 | crates/libs/windows/src/Windows/Media/Core/mod.rs:4354-4359 | crates/libs/windows/src/Windows/Media/Streaming/Adaptive/mod.rs:945-950 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3734-3739 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:7-12 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 46 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ec8db135c8aafd490fdb974774904b05ac277a4ac0a6d36a6dd597d84aeb130"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:659-664 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:905-910 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2287-2292 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1871-1876 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs"},"region":{"startLine":659}}}],"partialFingerprints":{"codehealthFindingId/v1":"96e1a5cda4140b0d4199ed6de30480df37349e286cc39915d7fc78d83813db36"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:666-671 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2414-2419 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs"},"region":{"startLine":666}}}],"partialFingerprints":{"codehealthFindingId/v1":"24ca732d1d74f906d4337b5ac4a0cc68efced144f75a4467767d47a9a4f72569"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:855-860 | crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1168-1173 | crates/libs/windows/src/Windows/Perception/People/mod.rs:179-184 | crates/libs/windows/src/Windows/Perception/Spatial/Preview/mod.rs:52-57 | crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs:216-221 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:459-464 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1560-1565 | crates/libs/windows/src/Windows/Perception/Spatial/mod.rs:1644-1649 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Perception/Spatial/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs"},"region":{"startLine":855}}}],"partialFingerprints":{"codehealthFindingId/v1":"375f77ba8f3af9d31430984361fd8ef4ae406830435123f56564bb67f0807fda"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1402-1407 | crates/libs/windows/src/Windows/Media/Core/mod.rs:3575-3580 | crates/libs/windows/src/Windows/Media/mod.rs:2720-2725 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 46 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs"},"region":{"startLine":1402}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e1c49a5dfebb39cce7b0ddabddb2647ae2217d89f401387bfb29d99bec07e77"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs:1409-1414 | crates/libs/windows/src/Windows/Media/mod.rs:2736-2741 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/Frames/mod.rs"},"region":{"startLine":1409}}}],"partialFingerprints":{"codehealthFindingId/v1":"4597b1beb5bb847ee45da66422db2f9f22d7d268510a3a98956c64060646540b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Capture/mod.rs:1069-1074 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1776-1781 | crates/libs/windows/src/Windows/Win32/control/mod.rs:362-367 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/control/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/mod.rs"},"region":{"startLine":1069}}}],"partialFingerprints":{"codehealthFindingId/v1":"0728d35375fbab947b86500622e24e9bb59fa8d83d9f9e88941f995f3b422ef0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Capture/mod.rs:1075-1080 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:1782-1787 | crates/libs/windows/src/Windows/Win32/control/mod.rs:368-373 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/control/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/mod.rs"},"region":{"startLine":1075}}}],"partialFingerprints":{"codehealthFindingId/v1":"a098802062fae84a828af1cb93eb380ca89d569fd4b0462a940167c312abb133"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Capture/mod.rs:3812-3817 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:652-657 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/mod.rs"},"region":{"startLine":3812}}}],"partialFingerprints":{"codehealthFindingId/v1":"a458151fe767809c31e63d621e5661896ed523b3c206f6fcb98c6a1446cc031c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Capture/mod.rs:6848-6853 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:418-423 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4076-4081 \u2014 \u0060crates/libs/windows/src/Windows/Media/Capture/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 57 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Capture/mod.rs"},"region":{"startLine":6848}}}],"partialFingerprints":{"codehealthFindingId/v1":"78d5bdc84e25303a7272bbd360cd76bf0e2c5cf62310466a3a7ca0052366d1d8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Casting/mod.rs:322-327 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:781-786 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:987-992 \u2014 \u0060crates/libs/windows/src/Windows/Media/Casting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 57 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Casting/mod.rs"},"region":{"startLine":322}}}],"partialFingerprints":{"codehealthFindingId/v1":"232fa1180aad91a07453575e40d97144ab0d9f474b1aadd9a93c378c8c61edeb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Casting/mod.rs:331-336 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:790-795 | crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:993-998 \u2014 \u0060crates/libs/windows/src/Windows/Media/Casting/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 57 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Casting/mod.rs"},"region":{"startLine":331}}}],"partialFingerprints":{"codehealthFindingId/v1":"e91f33614a6d299023fc780fce8188ce6df31181bc3a64997d390bae2e1783fb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs:233-238 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7036-7041 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/ClosedCaptioning/mod.rs"},"region":{"startLine":233}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8279931380c220da17a420862485d98a6291bd9d84a88f47da87bcc8d017c76"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Media/Control/mod.rs:270-275 | crates/libs/windows/src/Windows/Media/mod.rs:1276-1281 | crates/libs/windows/src/Windows/Media/mod.rs:2595-2600 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:672-677 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1220-1225 | crates/libs/windows/src/Windows/UI/Shell/Tasks/mod.rs:106-111 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":270}}}],"partialFingerprints":{"codehealthFindingId/v1":"084efa0db93b97f82c76e0c513773812dbe081c015ab37ca9ae21a8a58ebb86a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Control/mod.rs:276-281 | crates/libs/windows/src/Windows/Media/mod.rs:1910-1915 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:651-656 | crates/libs/windows/src/Windows/Storage/mod.rs:5936-5941 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":276}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc40f2273bcdca0aeac075edf774d862a1eff9992d38e3ad8b5f023c482c1657"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Control/mod.rs:282-287 | crates/libs/windows/src/Windows/Media/mod.rs:1919-1924 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:597-602 | crates/libs/windows/src/Windows/Storage/mod.rs:5948-5953 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":282}}}],"partialFingerprints":{"codehealthFindingId/v1":"d68c0413a966c22cfdd53e9ff2abb227b1c41665d0156e0c87f0d9c2dc53200f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:288-293 | crates/libs/windows/src/Windows/Storage/mod.rs:5942-5947 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":288}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee8f55cfc20d2187a5f27c71a2ef54fe30e5df641a34957dde6b9bd6a013c4f3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:294-299 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:612-617 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":294}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fb02d8fdbb6a6de9e16fd90a8b61ff0a1879dbd777654a9a8f4beba8488478e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:343-348 | crates/libs/windows/src/Windows/Media/mod.rs:2103-2108 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":343}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2ce3826bce5c8b7cd1a31f2a28217057285feab5c64f92b7ba4b648b7dbafa4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:349-354 | crates/libs/windows/src/Windows/Media/mod.rs:2121-2126 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":349}}}],"partialFingerprints":{"codehealthFindingId/v1":"4916d0b02554f302cb67a60f99cedf78ab82d95e48aa44c23c19194f21324cb3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:355-360 | crates/libs/windows/src/Windows/Media/mod.rs:2112-2117 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":355}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1fe7ff2594ef213ebf76b18717c83e624b6503c4f09b8b4aef3283137c2d8cb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:361-366 | crates/libs/windows/src/Windows/Media/mod.rs:2130-2135 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":361}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8fa81ed7826083ecbdcc10e3a5cd8b689b53adb7310279d74471f24b11af4bd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:367-372 | crates/libs/windows/src/Windows/Media/mod.rs:2139-2144 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":367}}}],"partialFingerprints":{"codehealthFindingId/v1":"18996d0c11546021bd12a025dd0df24e9ae5244602ae5f69361c3b6026db71ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:373-378 | crates/libs/windows/src/Windows/Media/mod.rs:2148-2153 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":373}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb541ab8206aadf1bcd1afb43083e0b1353041363eb31cbd123880f9222d1245"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:379-384 | crates/libs/windows/src/Windows/Media/mod.rs:2166-2171 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":379}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0cc71ebcca11afdea056afa841fe4cd29641612426b0dd9f1029b3e73c3c514"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:385-390 | crates/libs/windows/src/Windows/Media/mod.rs:2157-2162 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":385}}}],"partialFingerprints":{"codehealthFindingId/v1":"18d06dd0c0b5c729e7db1d1ae0c6ab8f9f68d573400d7ad78b191d79ca0d41b4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:391-396 | crates/libs/windows/src/Windows/Media/mod.rs:2175-2180 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":391}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3d61b977a3eb5e3efef1096a44b1c355a43249a00a65636ee11aed5dba4123d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:397-402 | crates/libs/windows/src/Windows/Media/mod.rs:2184-2189 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":397}}}],"partialFingerprints":{"codehealthFindingId/v1":"916995358ac6f0b92da3c9c9ad323ee7a56d97882f763a2aed5abbfedcccbfdb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:457-462 | crates/libs/windows/src/Windows/Media/mod.rs:2073-2078 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":457}}}],"partialFingerprints":{"codehealthFindingId/v1":"98320881e35c23387f2a67a8fe7766b2401bdc0dec66d6f5aff19c4f831920b7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:529-534 | crates/libs/windows/src/Windows/Media/mod.rs:2532-2537 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":529}}}],"partialFingerprints":{"codehealthFindingId/v1":"7da1e1ccba02cc3e58d27dd320e3190f49fad59d2fa9a2d3b16a15654929c81f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:535-540 | crates/libs/windows/src/Windows/Media/mod.rs:2541-2546 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":535}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae9895d12a93cb5dff1bb87a602609e7e493b030aaa7f04e7a9bddad0210fcc7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Control/mod.rs:541-546 | crates/libs/windows/src/Windows/Media/mod.rs:2550-2555 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 21 separate duplicated blocks between them, totalling at least 126 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":541}}}],"partialFingerprints":{"codehealthFindingId/v1":"9910f778890a2bd04beb4f938291ad780760d41b3aa4d746372cb66d5709e89d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Control/mod.rs:553-558 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1686-1691 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2111-2116 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Control/mod.rs"},"region":{"startLine":553}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5af43893d85c1fd5ad4e1886db1c51f25f440512ef1da62eb4a5b6372f0c1f7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/Media/Core/mod.rs:1003-1008 | crates/libs/windows/src/Windows/Media/Core/mod.rs:5679-5684 | crates/libs/windows/src/Windows/Media/Core/mod.rs:7417-7422 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:114-119 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:404-409 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1050-1055 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1144-1149 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1422-1427 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1473-1478 | crates/libs/windows/src/Windows/Media/Effects/mod.rs:1531-1536 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Effects/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 65 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":1003}}}],"partialFingerprints":{"codehealthFindingId/v1":"78c41d1439eeebd2da36abf5099f0515753433b17f3e73555bf4e4d4cefc5e26"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:2908-2913 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:2760-2765 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Vpn/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 89 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":2908}}}],"partialFingerprints":{"codehealthFindingId/v1":"817c18dcc98809987cb4a677a4a6417d38b37322b23e0276fe43691a0ad0e9a1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:3106-3111 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2591-2596 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 20 separate duplicated blocks between them, totalling at least 117 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":3106}}}],"partialFingerprints":{"codehealthFindingId/v1":"230b553674492ebab545424f77261da975265dc1b4e217d1525dd3aebbf20dcc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Core/mod.rs:3753-3758 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:1110-1115 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:190-195 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:385-390 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1586-1591 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 33 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":3753}}}],"partialFingerprints":{"codehealthFindingId/v1":"08cc80903b2829def625f4c1cba0b02af96e7b1c7060650872e782222326cb9b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Core/mod.rs:3939-3944 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1365-1370 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1362-1367 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3365-3370 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 20 separate duplicated blocks between them, totalling at least 117 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":3939}}}],"partialFingerprints":{"codehealthFindingId/v1":"73db2af676bd18d018789240fd37230b6d5fa17292be4a43b73bcd37fe133d9d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Core/mod.rs:4254-4259 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6257-6262 | crates/libs/windows/src/Windows/Media/Core/mod.rs:6981-6986 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2812-2817 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 20 separate duplicated blocks between them, totalling at least 117 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":4254}}}],"partialFingerprints":{"codehealthFindingId/v1":"b507219e5f61c2c92239b4ab58993cbb28637e990fcf3b4d0fb2bddb7ddd1578"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:4295-4300 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:583-588 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":4295}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ce4c3b26c0b7f08120826b561a040d06dd25b086e4469e40832a2c63407c59c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:4498-4503 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2070-2075 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 66 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":4498}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5e75b1c70b7c8b542b7a0a0fc74ffd6518296101664c285cceedb3ff3e104ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Core/mod.rs:4699-4704 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3201-3206 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3823-3828 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:239-244 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 20 separate duplicated blocks between them, totalling at least 117 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":4699}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ea79392e82f511352ab2168761408004e9841817959f5c9e94bc230e57dc97f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Media/Core/mod.rs:4718-4723 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1735-1740 | crates/libs/windows/src/Windows/Media/mod.rs:2427-2432 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:244-249 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:820-825 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1028-1033 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 20 separate duplicated blocks between them, totalling at least 117 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":4718}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc4687ed5efd245464a8c40912eec355141fc519cf510d9cfcc6dcbf6ef78ec1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Media/Core/mod.rs:4725-4730 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1741-1746 | crates/libs/windows/src/Windows/Media/mod.rs:2433-2438 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:251-256 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:827-832 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1035-1040 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 20 separate duplicated blocks between them, totalling at least 117 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":4725}}}],"partialFingerprints":{"codehealthFindingId/v1":"16b9e17e2828ec5fc5ed6275de5c097cfad3fd2d7eea3e2f638470392050b458"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:5529-5534 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3762-3767 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/exdisp/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 43 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":5529}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fb07d90e3df8a7acf6c5481e11aab8b1e3d664add099839f9d5ada5dd1a7b15"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:6428-6433 | crates/libs/windows/src/Windows/Media/Ocr/mod.rs:193-198 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":6428}}}],"partialFingerprints":{"codehealthFindingId/v1":"b46589605f491fdf4433ffb8e34d9ca4130b4aad53efd40c063aea62bb8fe8f6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Core/mod.rs:7085-7090 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1374-1379 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3377-3382 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 12 separate duplicated blocks between them, totalling at least 114 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":7085}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e925069f218f11e793d651f1ed4fd2053acc223b2e08a5c3c591f23946925fd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:176-181 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4281-4286 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":176}}}],"partialFingerprints":{"codehealthFindingId/v1":"f86bf9719877bea37c16a4c368617e1bc27f4cebb767eb96762d83defdea13de"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:194-199 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4287-4292 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"b38613d5cfd238528ec777ec0dd56cdf6e1801ac5e9f16fed106cc80ac5a03c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 22): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:295-300 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:335-340 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:436-441 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:537-542 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:603-608 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:966-971 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:42-47 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1020-1025 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1072-1077 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1136-1141 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1169-1174 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1257-1262 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1524-1529 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:2858-2863 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3103-3108 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3386-3391 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3467-3472 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3556-3561 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3907-3912 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4390-4395 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4444-4449 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4508-4513 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":295}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc5af8dc0713ea766a7c63491a4eead1b489476706000e93d3d80e318e93efd5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:301-306 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:341-346 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:543-548 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:609-614 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1026-1031 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1090-1095 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1287-1292 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3392-3397 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4462-4467 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4514-4519 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":301}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0e3d76ae061ce7bf96d053da6a1f3db1438979a3d2f8fc2f8c91c9860c7d032"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:307-312 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:347-352 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:549-554 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:615-620 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1032-1037 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1096-1101 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1293-1298 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3398-3403 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4468-4473 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4520-4525 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":307}}}],"partialFingerprints":{"codehealthFindingId/v1":"0db2d4e52738eecbfd882377fe822b0204cfa95c9e2f0e3459c0ba5e476f59ca"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:313-318 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:353-358 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:555-560 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:621-626 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1038-1043 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1102-1107 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1299-1304 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3404-3409 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4474-4479 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:4526-4531 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":313}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4df49bea73e9395c33931313f919c94984d2dcc2b08b868d1ad623d429220f6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:401-406 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:479-484 | crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:643-648 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1078-1083 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1196-1201 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":401}}}],"partialFingerprints":{"codehealthFindingId/v1":"65217cab77dd59b1a93cd03cf9ff5b1f33c19e713bc76f48b91ca1d118a8755e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:442-447 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1181-1186 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":442}}}],"partialFingerprints":{"codehealthFindingId/v1":"aec34bce600d402eb578fe8fdc9f48cd9f75eda3fb34dbd66dd795f57d662edc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:448-453 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1175-1180 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3913-3918 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":448}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b26f5e51dac24ef0bdd52f5ff54b20c99c6536f770a039fb4a041f523463559"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:488-493 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1205-1210 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":488}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2a3fac6056e5aee0bb6b00a707c5910c57bae9e7284c1a1c4a3cba8db23c834"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:497-502 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:1214-1219 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3928-3933 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":497}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ddbfd3c2c4ac922934ee2b37279fd8b119f35252bbeeb70b05b6fb37fa535a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:972-977 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3115-3120 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":972}}}],"partialFingerprints":{"codehealthFindingId/v1":"6121b3729d8eeb3c29f887d1a3fbe13ad1287d33a5f42b7d901981e2bc827c45"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:978-983 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3130-3135 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":978}}}],"partialFingerprints":{"codehealthFindingId/v1":"2311f0cf26c6bfe7c30021d6c35e7e6f465b99d84d18e268cd92961ccffa6480"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs:998-1003 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3046-3051 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:3150-3155 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 16 separate duplicated blocks between them, totalling at least 95 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/Core/mod.rs"},"region":{"startLine":998}}}],"partialFingerprints":{"codehealthFindingId/v1":"434f10cfcef617979611dea011e4c72627089c5a3fe755aff9ffaab719bfda44"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Devices/mod.rs:3410-3415 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14379-14384 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Devices/mod.rs"},"region":{"startLine":3410}}}],"partialFingerprints":{"codehealthFindingId/v1":"d077b8aa4c6ee4cb0812748e9c51b2b3e1ba5530c89212e539b4c5a83bb842f1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Editing/mod.rs:765-770 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:1509-1514 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Editing/mod.rs"},"region":{"startLine":765}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b867e74926363b5242c485f266d1436f058fed533525ba9801ae369d553ecb1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Effects/mod.rs:1653-1658 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3493-3498 \u2014 \u0060crates/libs/windows/src/Windows/Media/Effects/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 46 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Effects/mod.rs"},"region":{"startLine":1653}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee3fbac752cf5723f8b01a047f3d767487a0f0c57cc79fd2cb52b4e513ac8916"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Effects/mod.rs:1664-1669 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3523-3528 \u2014 \u0060crates/libs/windows/src/Windows/Media/Effects/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 46 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Effects/mod.rs"},"region":{"startLine":1664}}}],"partialFingerprints":{"codehealthFindingId/v1":"3000e19460e4b520f16d70f789f1159fa1e39a297536ac00febb4857ee826bdc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Effects/mod.rs:1674-1679 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3503-3508 \u2014 \u0060crates/libs/windows/src/Windows/Media/Effects/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 46 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Effects/mod.rs"},"region":{"startLine":1674}}}],"partialFingerprints":{"codehealthFindingId/v1":"fef7fed8f8c36d95433fb996c84930d1c18af9ff6ebc806328f1e2b69837db49"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Effects/mod.rs:1684-1689 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3513-3518 \u2014 \u0060crates/libs/windows/src/Windows/Media/Effects/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 46 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Effects/mod.rs"},"region":{"startLine":1684}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ee81b1ec27aaac11c04a3a1541cd737b4f78089d3bc0e394ce515de662eca25"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Import/mod.rs:1246-1251 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3766-3771 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Import/mod.rs"},"region":{"startLine":1246}}}],"partialFingerprints":{"codehealthFindingId/v1":"07f15ead5d0650724b71e8fa0d1c80939ca45a57452e5bacb4a98781cd97e6cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Media/Import/mod.rs:1252-1257 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:3772-3777 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:2897-2902 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:7614-7619 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Import/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/iads/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Import/mod.rs"},"region":{"startLine":1252}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d881f8e98c8436b93e350edcc1e3c535549f0fb5db4f827f393c2af79688282"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:17-22 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2390-2395 | crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1304-1309 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:645-650 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1259-1264 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8d1657f7728f2197bebe68b0b60dee6d856f2933ac6a0e4f88eaf217f573fb9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Miracast/mod.rs:519-524 | crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:602-607 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Miracast/mod.rs"},"region":{"startLine":519}}}],"partialFingerprints":{"codehealthFindingId/v1":"0916024fe21243c88ce529cb7400daf458b097231eaf52ddc591d6e30ef45007"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1137-1142 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1435-1440 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Miracast/mod.rs"},"region":{"startLine":1137}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ce0a55bc0cbe729c1d9e4b3b9780d5e271737cfdfdf45c58cabfa920f386085"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1146-1151 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1441-1446 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Miracast/mod.rs"},"region":{"startLine":1146}}}],"partialFingerprints":{"codehealthFindingId/v1":"37d667c16f2be50736a8c2ef5f52b4209b893e85c5f2807b012e06ce710683d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Miracast/mod.rs:1371-1376 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5799-5804 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Miracast/mod.rs"},"region":{"startLine":1371}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc009ed1ccef7ead5ab78946f0cf0bbc8c48615c7a0072a2f20722312b80c7b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/Media/Ocr/mod.rs:229-234 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:79-84 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:789-794 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:33-38 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:845-850 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2443-2448 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2572-2577 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2770-2775 \u2014 there are 8 copies across 4 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 8 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Ocr/mod.rs"},"region":{"startLine":229}}}],"partialFingerprints":{"codehealthFindingId/v1":"3934e98be6ed3a61227feb1c77df5aacc6fe1f9c08f61bb4a277b5a5845a8b44"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:6-11 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:4583-4588 | crates/libs/windows/src/Windows/Media/mod.rs:715-720 \u2014 \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 46 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/PlayTo/mod.rs"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8b779dfe99766e7470834c4095cf779c0033ebbcf5921a3a11d21533dbbe24f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:469-474 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3817-3822 \u2014 \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 46 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/PlayTo/mod.rs"},"region":{"startLine":469}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf4740dffdfd8e127e8801c219dcafe4a418c51ffb6b673d9d6a1bb78c4de7e6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:837-842 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1120-1125 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/PlayTo/mod.rs"},"region":{"startLine":837}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd443afada1178b0b43d090c7ed626791d6cbe42b653830118e1651e4323b465"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:1017-1022 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1649-1654 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/PlayTo/mod.rs"},"region":{"startLine":1017}}}],"partialFingerprints":{"codehealthFindingId/v1":"6dcee4ae8f21c3e496a1df382551ae9cddfe81ee102963dd206b34cd0cfd9f4c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:1040-1045 | crates/libs/windows/src/Windows/Security/EnterpriseData/mod.rs:1076-1081 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:328-333 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1296-1301 | crates/libs/windows/src/Windows/Storage/mod.rs:5539-5544 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/PlayTo/mod.rs"},"region":{"startLine":1040}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfe2a0544379cc0a275868bc5665a1aca6cae53ebd37ee55260253443fc7f039"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:1058-1063 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:588-593 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/PlayTo/mod.rs"},"region":{"startLine":1058}}}],"partialFingerprints":{"codehealthFindingId/v1":"bcf17dd1244bda321e3a4173e1916659b3964e269df12f59c3c7fc8d4cef4233"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/PlayTo/mod.rs:1064-1069 | crates/libs/windows/src/Windows/Storage/mod.rs:5972-5977 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/PlayTo/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/PlayTo/mod.rs"},"region":{"startLine":1064}}}],"partialFingerprints":{"codehealthFindingId/v1":"da8ddd64ce6b4806a047a86818f5fc6547a91988aa9859241f26b90918b8a49d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Playback/mod.rs:2806-2811 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:2836-2841 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:649-654 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Playback/mod.rs"},"region":{"startLine":2806}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b9cfa5fab8e17f2460bd451082eaf548191800d2c49f5d21ed81dc190f38793"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Playback/mod.rs:3234-3239 | crates/libs/windows/src/Windows/System/Update/mod.rs:118-123 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Playback/mod.rs"},"region":{"startLine":3234}}}],"partialFingerprints":{"codehealthFindingId/v1":"81ccdf9625587d5d034c1578f294607f2cc2f69244269b8b94fc68bd3f2bfc26"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Playback/mod.rs:4589-4594 | crates/libs/windows/src/Windows/Media/mod.rs:721-726 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/Playback/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 as WHOLE FILES: this scan already matched 13 separate duplicated blocks between them, totalling at least 75 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Playback/mod.rs"},"region":{"startLine":4589}}}],"partialFingerprints":{"codehealthFindingId/v1":"48c92423289ee3e6d126cbbde2703b1e4426b0425f0d452888c22d172fb2bf63"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1728-1733 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:3750-3755 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:97-102 | crates/libs/windows/src/Windows/System/Update/mod.rs:112-117 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9706-9711 \u2014 there are 5 copies across 4 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":1728}}}],"partialFingerprints":{"codehealthFindingId/v1":"b03052f742ca8680de6d78c23f4dd1622f0a4c751dec96b2d10ce7cdceea6409"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:2516-2521 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4997-5002 | crates/libs/windows/src/Windows/Perception/Spatial/Surfaces/mod.rs:161-166 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs"},"region":{"startLine":2516}}}],"partialFingerprints":{"codehealthFindingId/v1":"de1bb358560637d7bb1e94987f9bf828c86b060191b27047e3648a4bb14745d5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 8): crates/libs/windows/src/Windows/Media/Protection/mod.rs:8-13 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:195-200 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2221-2226 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2644-2649 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2760-2765 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3180-3185 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3567-3572 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3801-3806 \u2014 there are 8 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 8 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/mod.rs"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"d44a5c6f1f4efd4608ec1f143bd462d0786d4311bdbde7878c3f71130fa442e0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Protection/mod.rs:698-703 | crates/libs/windows/src/Windows/System/Profile/mod.rs:876-881 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Protection/mod.rs"},"region":{"startLine":698}}}],"partialFingerprints":{"codehealthFindingId/v1":"1faa0bd7e0298a18125609d6a7cd6cc033481ebcf42b7cb389d8e3e1ec78f2a6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs:926-931 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:108-113 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1867-1872 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2022-2027 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:212-217 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:363-368 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 3 separate duplicated blocks between them, totalling at least 37 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/SpeechRecognition/mod.rs"},"region":{"startLine":926}}}],"partialFingerprints":{"codehealthFindingId/v1":"5269c484ba33fb54a0b69d179d4f0c08657062023b08bc4f484b5271a0ad6bd4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs:261-266 | crates/libs/windows/src/Windows/Media/mod.rs:819-824 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/SpeechSynthesis/mod.rs"},"region":{"startLine":261}}}],"partialFingerprints":{"codehealthFindingId/v1":"295dbe78dcb50ef3fb4ffa233943f6ba818c3d193227e62b44051b34ed6f9214"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Media/mod.rs:2439-2444 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:258-263 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:834-839 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:1042-1047 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Media/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/mod.rs"},"region":{"startLine":2439}}}],"partialFingerprints":{"codehealthFindingId/v1":"903aa72ffddb51a034c685f481165b733cbebe7cb3a57edbe9965a1232d89ab8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1262-1267 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1647-1652 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:102-107 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:64-69 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1314-1319 \u2014 \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 92 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":1262}}}],"partialFingerprints":{"codehealthFindingId/v1":"84e055530a22da998c5a958fbd17d23fe7af5ec19412ad4f0638d947756b8634"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1276-1281 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1661-1666 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:88-93 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:78-83 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1328-1333 \u2014 \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 92 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":1276}}}],"partialFingerprints":{"codehealthFindingId/v1":"d439d04651e6a40363ecfab0d44d37e0516d25060af20a01c02e8d74b9a84bda"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1289-1294 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1658-1663 | crates/libs/windows/src/Windows/Web/Http/mod.rs:878-883 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Http/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":1289}}}],"partialFingerprints":{"codehealthFindingId/v1":"a72ed6339ea819079e5ece5adfb1f0787ce7ddf798cf374b16fb32e332a78d35"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1298-1303 | crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1664-1669 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9744-9749 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":1298}}}],"partialFingerprints":{"codehealthFindingId/v1":"87d7a9fd76b0cb826898af13c3aba95aea4340c62b517bba529850040e2e4035"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs:1652-1657 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:98-103 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/BackgroundTransfer/mod.rs"},"region":{"startLine":1652}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5b8befc89d2b238896bbd95336c6424bcb7cfe467569d8df896fc29bd71dd00"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:87-92 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:2079-2084 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4560-4565 \u2014 \u0060crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"84d7d133077cfe8d0b4ee97797c574a9178e826ade33bbc2b9c12ad864fd2d18"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:123-128 | crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs:366-371 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ee937929a18f4dc630ce7a7f36c11198a20394115e46e91f7c86398db592751"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:210-215 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:1373-1378 | crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3182-3187 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs"},"region":{"startLine":210}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9108f8262c24e023a769a16d5849fcd551e9415b020638cede369afbe7ee60f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:2073-2078 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4425-4430 \u2014 \u0060crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs"},"region":{"startLine":2073}}}],"partialFingerprints":{"codehealthFindingId/v1":"62c3e44053a6b405ee4b0bad08ddb80f91aa7f9fa4995f5d5805434f17c92f18"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:513-518 | crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:620-625 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6333-6338 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10907-10912 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14733-14738 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs"},"region":{"startLine":513}}}],"partialFingerprints":{"codehealthFindingId/v1":"6356d0ac616b21db8f659d8d34e6116d67ccd6dfbba912afb5c04912c95a01b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:4002-4007 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:583-588 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:1043-1048 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 32 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs"},"region":{"startLine":4002}}}],"partialFingerprints":{"codehealthFindingId/v1":"87c1e52225ae891ac8fe2ef934da4b4ee1b92cd145a1bb6f884e26939763cc6f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs:5647-5652 | crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs:386-391 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/NetworkOperators/mod.rs"},"region":{"startLine":5647}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff5f2e0d2076465ad39af33d774b77de85d827f1e9cf9799d435bca6be0801ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs:185-190 | crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs:378-383 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs"},"region":{"startLine":185}}}],"partialFingerprints":{"codehealthFindingId/v1":"27bc879a76e3e0618ebd32a493e1cdebefcf18734222a4a3cdaf0cfaeb45bc2d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs:380-385 | crates/libs/windows/src/Windows/UI/Notifications/mod.rs:2025-2030 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:274-279 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1519-1524 \u2014 \u0060crates/libs/windows/src/Windows/UI/Notifications/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 46 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs"},"region":{"startLine":380}}}],"partialFingerprints":{"codehealthFindingId/v1":"255636da1f80834924200de082a9f27934d3dd28c9b93e2871d0d052e332d81f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs:454-459 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:236-241 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/PushNotifications/mod.rs"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"c043dea31003e2b46fa8eadd4d9d91c815231d360b3b30e2b940285e7fdbb943"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:20-25 | crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:2357-2362 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f5ba588f7b1d3c254619e54cc189b5d19055d91978cfc4428af3c77464326b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:113-118 | crates/libs/windows/src/Windows/UI/Text/mod.rs:580-585 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs"},"region":{"startLine":113}}}],"partialFingerprints":{"codehealthFindingId/v1":"3826287b450ca204cfd851372b002a9ecb4445edae3b287376d89afbc9160fe5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:440-445 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3445-3450 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3759-3764 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:410-415 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":440}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9201b5859677dd492f833f8e4fc2f8ca451f3373a7a29a6d65016e42dc7844b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:452-457 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:482-487 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3469-3474 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:398-403 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":452}}}],"partialFingerprints":{"codehealthFindingId/v1":"41d3ece307fa058159211ab22385f2ccad0f803a0ecce4abd73303b767121433"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:1815-1820 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:72-77 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":1815}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7717e9e419b40a7fa2775c4d3947629ff34205fcf5e28d179392205c076e85a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2030-2035 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4163-4168 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:302-307 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1852-1857 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2030}}}],"partialFingerprints":{"codehealthFindingId/v1":"52b1e3bfb15a11a3c938f4e897764b6d95baffc8c7dab07a7cbf859a9180cc64"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2036-2041 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4169-4174 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:309-314 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1859-1864 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2036}}}],"partialFingerprints":{"codehealthFindingId/v1":"00656c5b41da4df0a62a14e3c53d83cb095625ba2beb7b75687af9c3a259b294"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2043-2048 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4176-4181 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:316-321 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1866-1871 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2043}}}],"partialFingerprints":{"codehealthFindingId/v1":"1392bf6b0b15fa0b800d2ea393e84f20797c3d81d7abaf88db9817e2d4b0c448"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2050-2055 | crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:4183-4188 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:323-328 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1873-1878 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/Sockets/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs\u0060 as WHOLE FILES: this scan already matched 11 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2050}}}],"partialFingerprints":{"codehealthFindingId/v1":"d105a710b1239ab2c7f44074437c1e00d51e080ba2f98ae9568e9c960731215f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:2916-2921 | crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:669-674 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":2916}}}],"partialFingerprints":{"codehealthFindingId/v1":"48d573b561dd6c11eee696ce8e31e471fbaff62568aa79bfec5cbcc4b1894f9f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Sockets/mod.rs:3463-3468 | crates/libs/windows/src/Windows/Networking/mod.rs:71-76 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Sockets/mod.rs"},"region":{"startLine":3463}}}],"partialFingerprints":{"codehealthFindingId/v1":"c475e0d28eeff7c6b6d10e8f08ead119301d38405c7e7af77ce5b8a04ae4a4b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/Vpn/mod.rs:3499-3504 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1111-1116 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Networking/Vpn/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 70 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/Vpn/mod.rs"},"region":{"startLine":3499}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8ce054d8a03b6084c833d5f2cf546a22f30669f092b9da2615417ab95d2f091"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs:404-409 | crates/libs/windows/src/Windows/Networking/mod.rs:38-43 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Networking/XboxLive/mod.rs"},"region":{"startLine":404}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f79394194c70bc6a1a66b110486acb241cd4ab689edccf70b9b14a2c7df2bcf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Perception/People/mod.rs:267-272 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:2078-2083 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Perception/People/mod.rs"},"region":{"startLine":267}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d435cf7e84f2f64a8642398f84160ec9dd9e91d3c2528775d6052efa3feab12"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Perception/People/mod.rs:273-278 | crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:2084-2089 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Perception/People/mod.rs"},"region":{"startLine":273}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ba1f6dd7314548c9c3fcfa8b554384c31452a2101cf097d71c2f9996cc707c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs:207-212 | crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs:402-407 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:4688-4693 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/Identity/Core/mod.rs"},"region":{"startLine":207}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5ec22f2d1f2fcc4f915074e83571228888b446277e0faca7a6ac06692357a0f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs:484-489 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11385-11390 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/OnlineId/mod.rs"},"region":{"startLine":484}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e7296c2cc7bb7ddf37c128c52d917ab1955903906ea0815891b623467fd5c83"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:439-444 | crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs:2806-2811 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/RemoteSystems/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 32 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs"},"region":{"startLine":439}}}],"partialFingerprints":{"codehealthFindingId/v1":"e98d2c10136f5ae9acc3fad8d7e0093abe6decc437837fb6ec2a222e5fa7ee41"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:539-544 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:1123-1128 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1177-1182 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1281-1286 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1487-1492 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:801-806 \u2014 there are 6 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs"},"region":{"startLine":539}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfa1efccab4288fafd78b7d8716d956eb797f6efbf741e3eb18520992e4ee602"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:589-594 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:1049-1054 | crates/libs/windows/src/Windows/Security/Authentication/Web/mod.rs:204-209 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs"},"region":{"startLine":589}}}],"partialFingerprints":{"codehealthFindingId/v1":"cde915e18ef593facfab28a89f23e9095e978245a70e4ce3ab4d6de7592e440a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:800-805 | crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:919-924 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:342-347 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:1155-1160 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:913-918 \u2014 there are 5 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs"},"region":{"startLine":800}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b28ddfe257640ea09593a30679cc979f48282679d9a51401d6144bd4ecbbc81"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs:931-936 | crates/libs/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs:1499-1504 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Authentication/Web/Core/mod.rs"},"region":{"startLine":931}}}],"partialFingerprints":{"codehealthFindingId/v1":"677509ba77b9f1bf2a30f93e4d2396d0ef1e7c1b0bb38c34d3bee254020a6b9c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Credentials/UI/mod.rs:193-198 | crates/libs/windows/src/Windows/Security/Credentials/mod.rs:853-858 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Credentials/UI/mod.rs"},"region":{"startLine":193}}}],"partialFingerprints":{"codehealthFindingId/v1":"bde0395a2b15ca73b5c384f92e207b5165cfa12a18c4dcba973bb2d0ecb1f446"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Security/Credentials/mod.rs:671-676 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:100-105 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1350-1355 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Security/Credentials/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Credentials/mod.rs"},"region":{"startLine":671}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6f1a1d6b7e8fc752d61b4c0c795323677c426bb918811c98ec7d838933620ca"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:588-593 | crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs:442-447 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs"},"region":{"startLine":588}}}],"partialFingerprints":{"codehealthFindingId/v1":"bae990a24483d60ffefdaf836c7eb6aff5fd1fe8da4d1a9b42fb7cc1f8dd49fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:1179-1184 | crates/libs/windows/src/Windows/System/Profile/mod.rs:150-155 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs"},"region":{"startLine":1179}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f748f93265d9d4d1abb29c8523fc53cf58b8a9711538e4f4247066c3ac8f76b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:2263-2268 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14691-14696 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs"},"region":{"startLine":2263}}}],"partialFingerprints":{"codehealthFindingId/v1":"aadb1891fa80d655006d9ea19ac91f19ee461ab4893bca277921e7f98442a16b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs:2272-2277 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14700-14705 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Cryptography/Certificates/mod.rs"},"region":{"startLine":2272}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d6f13c2e56ed62a8fd8c2d59c49426ca5f0af58cc11bbe9c664e5138b259360"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs:146-151 | crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs:902-907 | crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs:1675-1680 | crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs:1863-1868 | crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs:2078-2083 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:15703-15708 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/Cryptography/Core/mod.rs"},"region":{"startLine":146}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c0b6e39aa7f21c566268e6a949b88fe24297ba46764fc39e574920c82eb957e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs:19-24 | crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs:122-127 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:2879-2884 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"37f573e7cd0e79d0b428bed3c99ebae857dea98cc5d31b13ff16b8f4c946fd8b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs:31-36 | crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs:134-139 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"3eb946c389e4d6c487dc31ed1172ce76d51d77e5ce8e8224960d64474b4da6a9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs:37-42 | crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs:140-145 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f8e6c86d7d1c35a769418e70a1b4c2876488e53a1fece16e0162e805afbebed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs:43-48 | crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs:146-151 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/System/Profile/SystemManufacturers/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"d48ab898a835777b3fe2129f7622cf488d7e9a93c4626d6fd6765e609d2399e5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs:95-100 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3974-3979 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Security/ExchangeActiveSyncProvisioning/mod.rs"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"4dd20716362d7aa263854dd2ebdb6e86cbc05b4ad46ca933dfb93185af3bb1b2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:280-285 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1481-1486 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs"},"region":{"startLine":280}}}],"partialFingerprints":{"codehealthFindingId/v1":"71258c0c95b8d0d00ebd427ee50f7e9272b62f0ab91c5aa9ce6de2e6a9b0cf7b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:365-370 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3321-3326 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs"},"region":{"startLine":365}}}],"partialFingerprints":{"codehealthFindingId/v1":"34bbdd26662a23ac290bd31ed7b26cc22de0def1ee80f689875a082d7d858f94"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:653-658 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:1009-1014 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1345-1350 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs"},"region":{"startLine":653}}}],"partialFingerprints":{"codehealthFindingId/v1":"283907e1126a47a66c5f0a709a5287d32714499365c7fa9ce49ee3fc2d8b5666"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:702-707 | crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:833-838 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1046-1051 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1412-1417 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:3230-3235 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs"},"region":{"startLine":702}}}],"partialFingerprints":{"codehealthFindingId/v1":"26faab1869456e71b94d54f2912a5855a3e89c126601a6e34abb579c4adf467a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:757-762 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1493-1498 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs"},"region":{"startLine":757}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e9fc6d4bf2611806754ad68262d571e5c02d9724c35b9cf146a3e88a2ff5a4c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:819-824 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1430-1435 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs"},"region":{"startLine":819}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4d37321ef131f087cfaeaf2585adf1189c286fc64338272cf6bbddb7fbbe17f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs:826-831 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1027-1032 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1405-1410 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Maps/Guidance/mod.rs"},"region":{"startLine":826}}}],"partialFingerprints":{"codehealthFindingId/v1":"e01c534436ce60b618cd6721d243c3eefa3d0d569be0995b025a2a6a3defbf1c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs:187-192 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:1729-1734 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:731-736 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs"},"region":{"startLine":187}}}],"partialFingerprints":{"codehealthFindingId/v1":"66279cefddd9bb548b001bfbcd0d13ccad36128eaa8339c1902fde18dfdf4051"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs:206-211 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:13-18 | crates/libs/windows/src/Windows/Services/Maps/mod.rs:803-808 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Services/Maps/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 36 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Maps/LocalSearch/mod.rs"},"region":{"startLine":206}}}],"partialFingerprints":{"codehealthFindingId/v1":"24c1013b8f6d66263c0e6aa4badabf911087224fd809aaf14a7b66d4f91f5565"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Services/Store/mod.rs:1800-1805 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:84-89 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:466-471 | crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:1175-1180 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Store/mod.rs"},"region":{"startLine":1800}}}],"partialFingerprints":{"codehealthFindingId/v1":"58fcc7646ca260046ba2623c03bc0c388514ee31d5983af343ace67abcd683da"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Services/Store/mod.rs:1996-2001 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2830-2835 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/Store/mod.rs"},"region":{"startLine":1996}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef83aa95cf6b126d5bcd4e14c27faabecd05a73adb1e293cd8521cac8a93a399"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:367-372 | crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:583-588 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:664-669 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs"},"region":{"startLine":367}}}],"partialFingerprints":{"codehealthFindingId/v1":"d50aa4a2271a587977be67372c8215379aec43966b939255bba704e5eb9b119d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:458-463 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2392-2397 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:2948-2953 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs"},"region":{"startLine":458}}}],"partialFingerprints":{"codehealthFindingId/v1":"365229ccb4caf8e4581acfc28b954af09e72c57375a6bdc351aa1ff214a6473d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs:884-889 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:8891-8896 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Services/TargetedContent/mod.rs"},"region":{"startLine":884}}}],"partialFingerprints":{"codehealthFindingId/v1":"66802b901651ab35a0b0b3afcaa4bcaea7e6550fdacf8e1232caeed3a7fb9d16"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:398-403 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1846-1851 \u2014 \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 74 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":398}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c79872c226c60d7ce297910cc680ad6430739a6a4688f8a0a35908b4565aaa1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:412-417 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1641-1646 \u2014 \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 74 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":412}}}],"partialFingerprints":{"codehealthFindingId/v1":"66fa85118f5342422ef57c0e2394cc16d66f7c8b0493b948c845e8b4f5f88039"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:426-431 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1749-1754 \u2014 \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 74 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":426}}}],"partialFingerprints":{"codehealthFindingId/v1":"e407fae631c3b6575cad0ddd9a292e7264fe14834df9ade4d36cf3d1b65f4854"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Storage/Compression/mod.rs:39-44 | crates/libs/windows/src/Windows/Storage/Compression/mod.rs:116-121 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:228-233 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:399-404 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:982-987 | crates/libs/windows/src/Windows/Storage/Streams/mod.rs:1517-1522 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Compression/mod.rs"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f09d571cf15763c355caca7107d5c1a929d44ef76bdfdc4a208cd9f654d4c92"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:514-519 | crates/libs/windows/src/Windows/Storage/mod.rs:6002-6007 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 60 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs"},"region":{"startLine":514}}}],"partialFingerprints":{"codehealthFindingId/v1":"7abcd837d41cd42baff12f9b684e8e5e6ab972dec2a43f1a03847eba2e323904"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs:523-528 | crates/libs/windows/src/Windows/Storage/mod.rs:6008-6013 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 60 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/FileProperties/mod.rs"},"region":{"startLine":523}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8afb9461c55e64791f80ebb55dff37b47bc64dff2bf09c7cc85938fc4a930ad"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:63-68 | crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs:159-164 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:115-120 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:401-406 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:552-557 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Pickers/Provider/mod.rs"},"region":{"startLine":63}}}],"partialFingerprints":{"codehealthFindingId/v1":"806082e235217c24348efcd9e5a2e4a56842b22182020aeb2bbf6861d5bb2fa3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:142-147 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:579-584 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1375-1380 \u2014 \u0060crates/libs/windows/src/Windows/Storage/Pickers/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 44 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Pickers/mod.rs"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d601e40e50651c1a6719991b515e5c77198262b203472ad1b8a1c44aa20aabf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2758-2763 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1426-1431 \u2014 \u0060crates/libs/windows/src/Windows/Storage/Provider/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 9 separate duplicated blocks between them, totalling at least 77 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/Provider/mod.rs"},"region":{"startLine":2758}}}],"partialFingerprints":{"codehealthFindingId/v1":"03012c5ed37ffdd5d65b50432dfcb8908ac79047ed270c123e96c144b359b630"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/mod.rs:2552-2557 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1899-1904 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":2552}}}],"partialFingerprints":{"codehealthFindingId/v1":"960daa4d6151234a20a7cc851d7410903eae9b551ab6489c4d218e001c4c3eec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/mod.rs:6258-6263 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:11700-11705 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":6258}}}],"partialFingerprints":{"codehealthFindingId/v1":"35053d24746f5649da420d7ead1eb4cc255ddbb71383dbb73de8b25c0bde131c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs:164-169 | crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:295-300 | crates/libs/windows/src/Windows/Web/Http/mod.rs:706-711 | crates/libs/windows/src/Windows/Web/Http/mod.rs:767-772 | crates/libs/windows/src/Windows/Web/Http/mod.rs:828-833 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1400-1405 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1489-1494 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Http/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 51 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs"},"region":{"startLine":164}}}],"partialFingerprints":{"codehealthFindingId/v1":"92aa598d7d3a8e7272dd3c25972efb0bda5fa070e01de44def0c62c148bcc5d8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs:171-176 | crates/libs/windows/src/Windows/Web/Http/mod.rs:712-717 | crates/libs/windows/src/Windows/Web/Http/mod.rs:773-778 | crates/libs/windows/src/Windows/Web/Http/mod.rs:834-839 | crates/libs/windows/src/Windows/Web/Http/mod.rs:1406-1411 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Diagnostics/DevicePortal/mod.rs"},"region":{"startLine":171}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd0e4bcbf6b012d6b4c02dfd7f901d979dc792060117b875550046e447017f8e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/System/Diagnostics/TraceReporting/mod.rs:202-207 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:860-865 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Diagnostics/TraceReporting/mod.rs"},"region":{"startLine":202}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb80ab4c63f0fe4a4ab81e26cb17ab6c6f92b2dc438b49d1d68c199ef80042cc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:19-24 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1326-1331 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Diagnostics/mod.rs"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ce68203db3064ca777cf6587b9aab22a918844a34706aa02a656d0dac97ccdc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:447-452 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:104-109 | crates/libs/windows/src/Windows/Web/Http/Diagnostics/mod.rs:236-241 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:728-733 \u2014 there are 4 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Diagnostics/mod.rs"},"region":{"startLine":447}}}],"partialFingerprints":{"codehealthFindingId/v1":"224282a877072079fd854f84c609eeb78bd9ab2c1cb4a656f3213d98136c0280"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:453-458 | crates/libs/windows/src/Windows/UI/UIAutomation/mod.rs:22-27 | crates/libs/windows/src/Windows/UI/UIAutomation/mod.rs:84-89 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Diagnostics/mod.rs"},"region":{"startLine":453}}}],"partialFingerprints":{"codehealthFindingId/v1":"18c16a40a2628ec31ac2f17662ca511416dceb8489361a5832aef6c04dee0428"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:459-464 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:97-102 | crates/libs/windows/src/Windows/UI/Input/Inking/Analysis/mod.rs:807-812 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3305-3310 \u2014 there are 4 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Diagnostics/mod.rs"},"region":{"startLine":459}}}],"partialFingerprints":{"codehealthFindingId/v1":"bab5146d27c9acda128488cb458784166b3724c6cdb7b676cd2379002607be44"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/System/Diagnostics/mod.rs:775-780 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:10853-10858 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/Diagnostics/mod.rs"},"region":{"startLine":775}}}],"partialFingerprints":{"codehealthFindingId/v1":"90ff57d064e04d53f447554cdf3c21ce4d6e2c45cdda94ab10b4237a87efb432"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/System/mod.rs:3442-3447 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:262-267 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/System/mod.rs"},"region":{"startLine":3442}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e28b0af5bf169acb0db94359020360437fdc6ef32ce4f5efe2de030d24bca4c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:573-578 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:807-812 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:919-924 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:65-70 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:419-424 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:545-550 \u2014 \u0060crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Popups/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 30 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs"},"region":{"startLine":573}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7bbef10665591131aa1f40001e1f28cda45354bdbc4898277c27ebc7a216a85"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Core/mod.rs:11-16 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:619-624 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:861-866 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 as WHOLE FILES: this scan already matched 8 separate duplicated blocks between them, totalling at least 45 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7278790792cc02c2681dd65add5b31ac518e88db1321182add60b7cd740b708"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/UI/Core/mod.rs:18-23 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4941-4946 | crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs:381-386 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:416-421 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:626-631 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e1a165fc700f6eda00aae34df4b944f0e53cadc68e113b564f4e4e1562367ac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/UI/Core/mod.rs:24-29 | crates/libs/windows/src/Windows/UI/Core/mod.rs:155-160 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4947-4952 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:423-428 | crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:633-638 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 34 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"3db90ed013f2775618d78f0d0bfe83c4bb2e2f2172138dfc7618e6caf96a57a2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:82-87 | crates/libs/windows/src/Windows/UI/UIAutomation/Core/mod.rs:612-617 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2b2f72814f0912d3d01e16d3ff32e23e6968c540c0f6b5b8285726cbe234ebb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/UI/Core/mod.rs:331-336 | crates/libs/windows/src/Windows/UI/Core/mod.rs:848-853 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1368-1373 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2450-2455 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3371-3376 | crates/libs/windows/src/Windows/UI/Input/Core/mod.rs:56-61 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":331}}}],"partialFingerprints":{"codehealthFindingId/v1":"4827f937356e412751f6a7b913962c4eaebd1860550612fc1c5ad45443d52e82"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/UI/Core/mod.rs:337-342 | crates/libs/windows/src/Windows/UI/Core/mod.rs:854-859 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1383-1388 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2456-2461 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3386-3391 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2010-2015 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 as WHOLE FILES: this scan already matched 9 separate duplicated blocks between them, totalling at least 74 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":337}}}],"partialFingerprints":{"codehealthFindingId/v1":"02e9f73cbc5fc41cdcb55b4153ec06a13777d7a90944ecf76e2fdac1a4043ed3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Core/mod.rs:1873-1878 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2028-2033 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:218-223 \u2014 \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Popups/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 36 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1873}}}],"partialFingerprints":{"codehealthFindingId/v1":"9362fadb4a54d9e4659556a7be15a3437468e619f7690930e423b660f263ce41"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Core/mod.rs:1882-1887 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:227-232 \u2014 \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Popups/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 36 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Core/mod.rs"},"region":{"startLine":1882}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb2351ce440bc73f302e39a6e7622e492bacc8fdde2aa987726d6f768c225cbb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:21-26 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2560-2565 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5f95bae159d44dee7dec4f3ba331c0c28fb1b132f650e881c792c28dc9000ba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:175-180 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:235-240 | crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:383-388 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:2967-2972 | crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3225-3230 \u2014 there are 5 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs"},"region":{"startLine":175}}}],"partialFingerprints":{"codehealthFindingId/v1":"f35460998954665abb2ac4d5e79ff4a18fdd4980f3256fdb50be6724be7a52ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs:280-285 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2739-2744 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/Core/mod.rs"},"region":{"startLine":280}}}],"partialFingerprints":{"codehealthFindingId/v1":"64afc7fb742e98774fe39f52eb1afde6a864fc8af63fd171b2bdbe5ad5f64ebb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3015-3020 | crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs:635-640 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":3015}}}],"partialFingerprints":{"codehealthFindingId/v1":"3890e92d145d1d7309fcc9941db119a024ed8dd25bc7dd96e9f528da3345026d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3021-3026 | crates/libs/windows/src/Windows/UI/Input/Preview/Injection/mod.rs:644-649 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":3021}}}],"partialFingerprints":{"codehealthFindingId/v1":"726e71704bc68ce963308c89c521e5e67413a011028871f13f568f4bacae1a23"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs:3027-3032 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2869-2874 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 39 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Inking/mod.rs"},"region":{"startLine":3027}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7887abfbfa92eab7441638fd544c9b4c1ca0505f1dbb7fde60e24a56a3a35f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 7): crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:723-728 | crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:1103-1108 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:48-53 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:312-317 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:550-555 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:829-834 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:898-903 \u2014 there are 7 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 7 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs"},"region":{"startLine":723}}}],"partialFingerprints":{"codehealthFindingId/v1":"59a918d48249072c9cefe581fec15c700cc5b02a6246e6527ac7e31863fa77fe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:874-879 | crates/libs/windows/src/Windows/UI/Text/Core/mod.rs:111-116 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs"},"region":{"startLine":874}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b4b14b72bc4d81b878565abb8981d0428bb7df0b2462fc2085f03a23b465121"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs:886-891 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14369-14374 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Preview/Text/mod.rs"},"region":{"startLine":886}}}],"partialFingerprints":{"codehealthFindingId/v1":"98df6ac94d7daa4e2f15ea5c85bd54cc122892949beeb35859ac796d057a2cea"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:895-900 | crates/libs/windows/src/Windows/UI/Input/mod.rs:298-303 | crates/libs/windows/src/Windows/UI/Input/mod.rs:2532-2537 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 56 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs"},"region":{"startLine":895}}}],"partialFingerprints":{"codehealthFindingId/v1":"539c41acdd5515e69225b44c2f0fc157df7438bd649f71ffbc006296c4269d50"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs:2275-2280 | crates/libs/windows/src/Windows/UI/Input/mod.rs:4142-4147 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 10 separate duplicated blocks between them, totalling at least 56 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Input/Spatial/mod.rs"},"region":{"startLine":2275}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cac28d1c37be0119656ce5788922216328e9d8149ca88bbea2bc4874dc1eb67"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Popups/mod.rs:251-256 | crates/libs/windows/src/Windows/UI/Text/mod.rs:3562-3567 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Popups/mod.rs"},"region":{"startLine":251}}}],"partialFingerprints":{"codehealthFindingId/v1":"845dccfb0e1ccae02fa70bbb53db9254ce30990c65d3409fe127e3c3cbb74c27"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs:418-423 | crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:679-684 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/ViewManagement/Core/mod.rs"},"region":{"startLine":418}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fe18256be58e408bdc9c0b9ff231c33174a3d8d66969031364cfd3e6901e439"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs:63-68 | crates/libs/windows/src/Windows/UI/mod.rs:1167-1172 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/WindowManagement/mod.rs"},"region":{"startLine":63}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6395c5c390d77fa913cf2460d31808ac42325c1ba5da48b60b5f0a76314f51e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:332-337 | crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:658-663 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1737-1742 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2171-2176 \u2014 \u0060crates/libs/windows/src/Windows/Web/AtomPub/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 58 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":332}}}],"partialFingerprints":{"codehealthFindingId/v1":"466d3580e72989519ec8cd6c5b4a6d59568e572de318140cbc31432da40f9e1c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Web/AtomPub/mod.rs:344-349 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1635-1640 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2078-2083 \u2014 \u0060crates/libs/windows/src/Windows/Web/AtomPub/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 58 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/AtomPub/mod.rs"},"region":{"startLine":344}}}],"partialFingerprints":{"codehealthFindingId/v1":"86bcbc9056876d4866fddae13a394cf7cee3ab5c2e85df38a3b04fb69d010c65"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs:45-50 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3061-3066 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3299-3304 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/Http/Filters/mod.rs"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"b83825dc0203bbb33f8f6d423925a8f616ba514010e2e87281f639ebbcce292d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:184-189 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1580-1585 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:1174-1179 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs"},"region":{"startLine":184}}}],"partialFingerprints":{"codehealthFindingId/v1":"de21aca2ca20efa1f94ffc7484d7c02bccff3c7f3fc848d56dbeee52115b5e66"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2266-2271 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2342-2347 | crates/libs/windows/src/Windows/Web/Syndication/mod.rs:2358-2363 | crates/libs/windows/src/Windows/Web/UI/mod.rs:1822-1827 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/Syndication/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 30 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs"},"region":{"startLine":2266}}}],"partialFingerprints":{"codehealthFindingId/v1":"9218f656ac464c6b47b05726620ca19e1621fe0dcc9ad5bf56363407d15d6ea6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:141-146 | crates/libs/windows/src/Windows/Web/UI/mod.rs:28-33 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":141}}}],"partialFingerprints":{"codehealthFindingId/v1":"bffe90578cec55968334b0a62b2e3a16a0b60f8add6f39e4ca7ba3181dc42405"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:147-152 | crates/libs/windows/src/Windows/Web/UI/mod.rs:34-39 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":147}}}],"partialFingerprints":{"codehealthFindingId/v1":"f22d9afa5fdb587d98be3e78ee253c3ae8227db97e0700a54448262f25bd52bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:158-163 | crates/libs/windows/src/Windows/Web/UI/mod.rs:45-50 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"d7e0202bafc8ebf15e88794174f01c3a50d3fdc93d138b5e5135908fb3d0e601"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:164-169 | crates/libs/windows/src/Windows/Web/UI/mod.rs:51-56 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":164}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a5f628dfbc9fe942408515de7d9ca23b572a224aac0ae401a916bc4b2d67468"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:170-175 | crates/libs/windows/src/Windows/Web/UI/mod.rs:57-62 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":170}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6de1cbb0e61a30f13e279693258aa1ed44d21a1066c4bd38803a0f77782a127"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:176-181 | crates/libs/windows/src/Windows/Web/UI/mod.rs:63-68 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":176}}}],"partialFingerprints":{"codehealthFindingId/v1":"24bb1c4d4b9ae1d1244fad4a75bc21507d6cece2512aac33f2983230eeac03a2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs:237-242 | crates/libs/windows/src/Windows/Web/UI/mod.rs:124-129 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Web/UI/mod.rs\u0060 as WHOLE FILES: this scan already matched 29 separate duplicated blocks between them, totalling at least 155 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Web/UI/Interop/mod.rs"},"region":{"startLine":237}}}],"partialFingerprints":{"codehealthFindingId/v1":"dda7bc57c1800f684de216c764c86f6835df0bb8b82758d074de39088cda695c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 12): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:341-346 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:2044-2049 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:3665-3670 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4243-4248 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4623-4628 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:4833-4838 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5003-5008 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5212-5217 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:5383-5388 | crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:6592-6597 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:760-765 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1513-1518 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 62 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":341}}}],"partialFingerprints":{"codehealthFindingId/v1":"79b9dd4937a9c295eb6f9218df86fa9457a9985299afce8896cff376739327e0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs:1115-1120 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:1859-1864 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:2245-2250 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:2693-2698 \u2014 \u0060crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 51 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/appxpackaging/mod.rs"},"region":{"startLine":1115}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ddcc5976db772dd0aa6d39414d83372543022bbb0d43d1d81429b84dced2b1f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/audioclient/mod.rs:723-728 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:1489-1494 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/audioclient/mod.rs"},"region":{"startLine":723}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a89aaa41714939cbe8e0b196196995e92c4cd02db9725bfa8fd4f77a826f7a0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/audioclient/mod.rs:1023-1028 | crates/libs/windows/src/Windows/Win32/audioclient/mod.rs:1161-1166 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:431-436 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1850-1855 | crates/libs/windows/src/Windows/Win32/endpointvolume/mod.rs:33-38 \u2014 there are 5 copies across 3 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 5 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/audioclient/mod.rs"},"region":{"startLine":1023}}}],"partialFingerprints":{"codehealthFindingId/v1":"3733a5de09e7cd023b6667faf5cc173083ff7dff18907b9d111189287f4b021c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/audioclient/mod.rs:1286-1291 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:315-320 | crates/libs/windows/src/Windows/Win32/endpointvolume/mod.rs:83-88 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/audioclient/mod.rs"},"region":{"startLine":1286}}}],"partialFingerprints":{"codehealthFindingId/v1":"1725811615284b769a7fac52b740a1d24362ed70b644fc0580a7e53b68993de2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:12-17 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:1195-1200 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"56a9ec9a781fb66d058ef5103866645bc0972b71c7de6586374417a3a8b1e47c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:18-23 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:1219-1224 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"9696c37bda386dc096bc47bd62e0884e343c74b18da7fcc432b49a4e2a9a3e25"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 14): crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs:326-331 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3181-3186 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3281-3286 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3381-3386 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:3481-3486 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:778-783 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:998-1003 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1216-1221 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:1220-1225 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:511-516 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:617-622 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1790-1795 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:467-472 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:762-767 \u2014 \u0060crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenc/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 47 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/audiopolicy/mod.rs"},"region":{"startLine":326}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2ff5bb1c1a77ad11893becc8281e94058f1e19493df02f76b5b9ecebafc66d0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/bits/mod.rs:1176-1181 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:2904-2909 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:1826-1831 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:2212-2217 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:2660-2665 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bits/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 49 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bits/mod.rs"},"region":{"startLine":1176}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc8d12cc6a38244af79870388e194a01916741b139577372ad325267fb02989f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/bits/mod.rs:1182-1187 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:434-439 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:547-552 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:821-826 | crates/libs/windows/src/Windows/Win32/gpedit/mod.rs:114-119 | crates/libs/windows/src/Windows/Win32/gpedit/mod.rs:335-340 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bits/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/gpedit/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 31 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bits/mod.rs"},"region":{"startLine":1182}}}],"partialFingerprints":{"codehealthFindingId/v1":"d662964834608f824648f0bb3f8c4279d62cbe5da0fa9c80888e6c547715155c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/bits/mod.rs:1249-1254 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1531-1536 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bits/mod.rs"},"region":{"startLine":1249}}}],"partialFingerprints":{"codehealthFindingId/v1":"20e8b24be0389adc14e5bb85355c752babacde906028a3b12adb4425adfb2f75"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/bits/mod.rs:2916-2921 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:6224-6229 \u2014 \u0060crates/libs/windows/src/Windows/Win32/bits/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dwrite/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 43 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/bits/mod.rs"},"region":{"startLine":2916}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c86a28134aefb47ffdc6cf7a05f86895246a130c736b9fa06e22d08ab78e93b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:794-799 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3525-3530 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6327-6332 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14774-14779 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 155 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":794}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed36877cbe8bfc620ea7be9af9cdf96db372b2db1a18498e25c99c9444eacdf6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 34): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1222-1227 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1510-1515 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:377-382 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:708-713 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2284-2289 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2515-2520 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2852-2857 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3279-3284 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3879-3884 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4312-4317 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4705-4710 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4990-4995 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5362-5367 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5524-5529 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6702-6707 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10206-10211 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10736-10741 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13769-13774 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14090-14095 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14228-14233 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1274-1279 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4893-4898 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7796-7801 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7973-7978 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8073-8078 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:9446-9451 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10580-10585 | crates/libs/windows/src/Windows/Win32/control/mod.rs:28-33 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3034-3039 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1072-1077 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1479-1484 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:2694-2699 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3460-3465 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5476-5481 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 155 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":1222}}}],"partialFingerprints":{"codehealthFindingId/v1":"225e2b4cf91ebf489fd5a6c6344a62dd4dd83c13e72d75a9fec3eec006cd45a9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1229-1234 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1517-1522 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1079-1084 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/fsrm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 102 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":1229}}}],"partialFingerprints":{"codehealthFindingId/v1":"8800fe6b30f76a18eabbf8f675660f8a1d3dfb2c87055ca2d2424a4f1f3d7278"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 39): crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1235-1240 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:1523-1528 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:371-376 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:702-707 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2278-2283 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2509-2514 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:2846-2851 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3273-3278 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3873-3878 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4306-4311 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4699-4704 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:4984-4989 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5356-5361 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5518-5523 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6696-6701 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10200-10205 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10730-10735 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:13763-13768 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14084-14089 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14222-14227 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1286-1291 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:3316-3321 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:3758-3763 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:4899-4904 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5079-5084 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:5678-5683 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6591-6596 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:6858-6863 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7783-7788 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:7961-7966 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:8060-8065 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:10567-10572 | crates/libs/windows/src/Windows/Win32/control/mod.rs:16-21 | crates/libs/windows/src/Windows/Win32/control/mod.rs:118-123 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3021-3026 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1085-1090 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:3454-3459 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:5470-5475 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:9404-9409 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 18 separate duplicated blocks between them, totalling at least 155 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certadm/mod.rs"},"region":{"startLine":1235}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f9a8159f37ea9a986d641d61e5864ca0267d8e60f51f26d1655a4103f6cc886"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/certcli/mod.rs:167-172 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:272-277 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:416-421 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:648-653 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:817-822 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certcli/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certview/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 65 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certcli/mod.rs"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"38cddcfaea200d1ad450c9231969b1b4dbcc3aec2668c98b0cbd5c6eb78c4115"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certcli/mod.rs:736-741 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:1548-1553 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certcli/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 99 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certcli/mod.rs"},"region":{"startLine":736}}}],"partialFingerprints":{"codehealthFindingId/v1":"061895cbc367c18cce962a76f0cc2f1aab5eeefc244d454fbffab0092e8bc017"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1222-1227 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:453-458 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:3425-3430 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:1114-1119 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certenc/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/certview/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 71 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenc/mod.rs"},"region":{"startLine":1222}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d599a1b675f1b83a88ce339baed1d0981d0ac00da0eebb95961ee8caa81dfe3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3042-3047 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:3495-3500 | crates/libs/windows/src/Windows/Win32/comadmin/mod.rs:1659-1664 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/comadmin/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 12 separate duplicated blocks between them, totalling at least 101 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":3042}}}],"partialFingerprints":{"codehealthFindingId/v1":"2373fc48f46e73e52aee27dabce75c62eae9f0ae3baeab557083d2e4ec65a36f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:5133-5138 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:6856-6861 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:11178-11183 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14880-14885 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:16159-16164 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3780-3785 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/exdisp/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 114 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":5133}}}],"partialFingerprints":{"codehealthFindingId/v1":"be62db2d46295123a0d1a64c7ce8a249f6bb1844125523f2a3f3d9004ed1eb3f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14389-14394 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:715-720 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:1203-1208 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/exdisp/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 13 separate duplicated blocks between them, totalling at least 114 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":14389}}}],"partialFingerprints":{"codehealthFindingId/v1":"74ee95bd668dbc1b0aafb6d19ee4159d5cbe88e724c79d2d3c37e45e2fa95dea"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:14418-14423 | crates/libs/windows/src/Windows/Win32/fhcfg/mod.rs:427-432 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/fhcfg/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 36 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":14418}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4ac6102e494c872deda0202c0dac43e23567512d525d2cf9021b24cab266c17"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/certexit/mod.rs:33-38 | crates/libs/windows/src/Windows/Win32/certpol/mod.rs:23-28 | crates/libs/windows/src/Windows/Win32/dispex/mod.rs:71-76 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certexit/mod.rs"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"cabf451dc211d3f627420a381fa25eac8f2c74dca3effd8b87a5a40baa1cdd96"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/certexit/mod.rs:115-120 | crates/libs/windows/src/Windows/Win32/certpol/mod.rs:117-122 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certexit/mod.rs"},"region":{"startLine":115}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fcf69cc7e906b9564b5516383fa3c2eb4a6018984058ef3fb5c9e2fef0b34a7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/certview/mod.rs:278-283 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:422-427 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:654-659 | crates/libs/windows/src/Windows/Win32/dbgprop/mod.rs:363-368 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certview/mod.rs"},"region":{"startLine":278}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb0e341feaec611f90bce38a13a776c91385c7dcd80efe2e606696e7967d2efe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/certview/mod.rs:660-665 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:1843-1848 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:2229-2234 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:2677-2682 | crates/libs/windows/src/Windows/Win32/gpedit/mod.rs:594-599 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certview/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 36 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certview/mod.rs"},"region":{"startLine":660}}}],"partialFingerprints":{"codehealthFindingId/v1":"62242df8b5c5c0858d56c2a830765dcc73db59801f06bd087d8cd76d2692dbff"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/control/mod.rs:1408-1413 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1102-1107 \u2014 \u0060crates/libs/windows/src/Windows/Win32/control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/fsrm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 6 separate duplicated blocks between them, totalling at least 61 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/control/mod.rs"},"region":{"startLine":1408}}}],"partialFingerprints":{"codehealthFindingId/v1":"761f9a8b190e9f2226dd6d4ea7ef3a4f88d4ef0e9217ba0ba719f8ed711e28c1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/control/mod.rs:2410-2415 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3336-3341 \u2014 \u0060crates/libs/windows/src/Windows/Win32/control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/exdisp/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 12 separate duplicated blocks between them, totalling at least 97 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/control/mod.rs"},"region":{"startLine":2410}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6f3654794826a0fb2a1d84cfc61d96a5ce9a3941dee179929afdbca8945bff9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/control/mod.rs:2428-2433 | crates/libs/windows/src/Windows/Win32/exdisp/mod.rs:3345-3350 \u2014 \u0060crates/libs/windows/src/Windows/Win32/control/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/exdisp/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 12 separate duplicated blocks between them, totalling at least 97 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/control/mod.rs"},"region":{"startLine":2428}}}],"partialFingerprints":{"codehealthFindingId/v1":"df2bf3c0b1ff9884e33b65ba9edaf445a997ae558c2f17e9bc3af988109b82e8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:248-253 | crates/libs/windows/src/Windows/Win32/directmanipulation/mod.rs:485-490 | crates/libs/windows/src/Windows/Win32/directmanipulation/mod.rs:1153-1158 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:1496-1501 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:1950-1955 | crates/libs/windows/src/Windows/Win32/dsound/mod.rs:2178-2183 \u2014 \u0060crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dsound/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 59 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs"},"region":{"startLine":248}}}],"partialFingerprints":{"codehealthFindingId/v1":"de887ef17ddcfc63a5fd97179dad90ce0c76cd1186b62826629c8a4658b2a28e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3723-3729 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4402-4408 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:6983-6989 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d2d/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 54 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":3723}}}],"partialFingerprints":{"codehealthFindingId/v1":"a76b2b740cc188ff0aaf04bac6143f50ead5142697edfa52420a4a87034ea310"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 26): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2445-2449 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2531-2535 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2761-2765 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2801-2805 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7718-7722 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7758-7762 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7873-7877 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8542-8546 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8767-8771 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8845-8849 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8929-8933 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5033-5037 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5111-5115 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5157-5161 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5686-5690 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5726-5730 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11152-11156 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11332-11336 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11493-11497 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12172-12176 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12473-12477 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12519-12523 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12611-12615 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12752-12756 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:14477-14481 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:3914-3918 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2445}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a28824da6202fcb8c10ed9bda7efae76ceb7fea2bb95e1c62174e61b116d121"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2484-2488 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8588-8592 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5072-5076 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11191-11195 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11378-11382 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12218-12222 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12565-12569 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12657-12661 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:12798-12802 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2484}}}],"partialFingerprints":{"codehealthFindingId/v1":"8db9c662510bc66b09b3cb552c7f4fcd507bcdbf65f36db56d52d36e5073da64"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 18): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2591-2597 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7677-7683 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5372-5378 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11070-11076 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:15282-15288 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:15323-15329 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:9446-9452 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:10462-10468 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:12327-12333 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:15034-15040 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:16206-16212 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:16375-16381 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:16740-16746 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:18468-18474 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:18550-18556 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:19854-19860 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:19914-19920 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:19980-19986 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2591}}}],"partialFingerprints":{"codehealthFindingId/v1":"107cd3c714538548b196f98d03fa3aae241c86bdcd5d719c704bc5d1a6375836"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2646-2651 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5541-5546 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2646}}}],"partialFingerprints":{"codehealthFindingId/v1":"78971c6a25be6d501ee98cd361c95b904d680b7502f29ae52915b7949359488d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2871-2875 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7097-7101 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2871}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a0cb41b2f99fff688e27a81df642aa2ffb57612851b9537f43c011930378870"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2876-2880 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7102-7106 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2876}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b76aa04ba450090ab1f8c9eb1de4c9f9b4c582a7ca248dc731742a1dfed2f89"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2889-2893 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7129-7133 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2889}}}],"partialFingerprints":{"codehealthFindingId/v1":"255a08e33290e6bf906824bd16858dd95935d631c4ee2de7dcd60ec97bb57ae1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2903-2907 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7143-7147 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2903}}}],"partialFingerprints":{"codehealthFindingId/v1":"b974c801c65477493b81e2fc93e513ceed9687bed7cc019fbaf44e73799e5741"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2908-2912 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7148-7152 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13480-13484 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2908}}}],"partialFingerprints":{"codehealthFindingId/v1":"df9d25fddf560c4170e40987ccad7c6539cd60496c596c20f2052002394314d6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2913-2917 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7153-7157 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13475-13479 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2913}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b9da6e07ef49b13aeab7bf834372a5a0ad86f134e4e95e725f2b62881db8ec8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2932-2936 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7172-7176 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13534-13538 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2932}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e535ce65ebc6c154d48ace78b23c01f96ea4712e102ba4a81c52e40571815ab"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2950-2954 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7212-7216 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2950}}}],"partialFingerprints":{"codehealthFindingId/v1":"45698526ef64485d56801b94448b9456d7941464daa456642750e38883ae175b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:2984-2988 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7254-7258 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":2984}}}],"partialFingerprints":{"codehealthFindingId/v1":"fab1b4307f104fb6abdc85eea9957b47d1d816ed917ac9f761246237a43d364f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3002-3006 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7301-7305 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3002}}}],"partialFingerprints":{"codehealthFindingId/v1":"5587ea0f51098fa502730b819cd93cc06daebbbb15c8540642d0440eb9691d06"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3031-3035 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7330-7334 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13509-13513 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3031}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6261b43d2c14a7b6f137ff0e0ddde7b78fa5eeebd5e35cdee8c40e0d6c3d3f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3047-3051 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7355-7359 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3047}}}],"partialFingerprints":{"codehealthFindingId/v1":"039332036f52e61f3594802bd790d9244d53d6936bad092dabf1da18cbf75a06"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3055-3059 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7379-7383 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3055}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfc537430d0f3d4c3c3439c387ff6ae6645dcfa434aa0e1cdfef6260132b1900"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3063-3067 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7387-7391 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3063}}}],"partialFingerprints":{"codehealthFindingId/v1":"27d8fd0519231f24bf30e73c7cc654f3a1b581db0eaa923827b07d7b1afb4e56"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3073-3077 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7411-7415 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13528-13532 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3073}}}],"partialFingerprints":{"codehealthFindingId/v1":"496d375bbb4c3be4131c53238ad3033efb370ba897eaeffeff78bd75198249bd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3078-3082 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7498-7502 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3078}}}],"partialFingerprints":{"codehealthFindingId/v1":"ada22a8ef59aee105596e02b3b13f060694e1b76ba510652f5d2f873cc9604d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3083-3087 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7503-7507 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3083}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c1d316466dbf51aaf6c32d627226a6a88ce996fe9e676018dfe57d4de640a2b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3095-3099 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7513-7517 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3095}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f8377d3f2c01770e8027e2ff8b12de8315e4357205926943c091b39fcb6a2d7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3107-3111 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7523-7527 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3107}}}],"partialFingerprints":{"codehealthFindingId/v1":"09dc935eea451943c3359438d8bb8687bef22113facecc4a750b2e389e40ceb8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3112-3118 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7528-7534 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3112}}}],"partialFingerprints":{"codehealthFindingId/v1":"97e57909f433c686a0c74bfc3ef2b0f8beb61e89be8bfa8b1fcd27d1f7eb0ba1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3130-3134 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7546-7550 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3130}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2e11548333790dfe6b7454c4e1840968f1a3e780be185c456a58dc9e2003743"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3143-3149 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7557-7563 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3143}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a3cb2e5bd1754f3b2489bd900b6b1381bd84f80fc298c0c385d8a52c7217cf4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3150-3154 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7564-7568 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3150}}}],"partialFingerprints":{"codehealthFindingId/v1":"f103e20e456dbcf31d90b158fabad08d92a782087266fa8eb6eb6b0b171382f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3155-3159 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7569-7573 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3155}}}],"partialFingerprints":{"codehealthFindingId/v1":"75ce1ee4af693e990eab7ab21acf392fe7c5379d4135dd50d2af39a337a9d602"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3165-3169 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7579-7583 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3165}}}],"partialFingerprints":{"codehealthFindingId/v1":"df8d4e131363417558dbb834b02f3449a89f11e895eede5221476fbed78b3094"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3170-3174 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7584-7588 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3170}}}],"partialFingerprints":{"codehealthFindingId/v1":"3fa48a4405b01b0a6fe1522d59ebfbb008f5eb39ece3d87462d8887db591303e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3195-3201 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7614-7620 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3195}}}],"partialFingerprints":{"codehealthFindingId/v1":"d582ebb93b291ddbe4906141b56be62cc93b4a8c5a5641a5e566dbf7f6bbc07c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3202-3206 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7621-7625 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3202}}}],"partialFingerprints":{"codehealthFindingId/v1":"83f6ef398c79a8431f3d87b2f32c2b24d6ee0df460cd6a4bf9503c07e5ec635d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3208-3212 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7627-7631 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3208}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec43a8a42502c0b2c53009cc2ce2767775e1acce4cb4226859c59b8bca45b0fc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3327-3332 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5905-5910 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3327}}}],"partialFingerprints":{"codehealthFindingId/v1":"9375ce3f4cf7dca1fbaf76ec8e6f145d28be8045dc8aacb250c7d0367c6c1dbc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3334-3339 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5912-5917 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3334}}}],"partialFingerprints":{"codehealthFindingId/v1":"e04afb9088e29df38636fd1866dc32bc93db39fa918a43c21799311b193aeab4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3340-3346 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5918-5924 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":3340}}}],"partialFingerprints":{"codehealthFindingId/v1":"9becfc118f3f6a1e0e0c3257a37ac20dd2c89af72ceb035a8fa06b2cbf2dea14"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 10): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:4485-4490 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:8636-8641 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5279-5284 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5334-5339 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5425-5430 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5554-5559 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5773-5778 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:6153-6158 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:6208-6213 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:6263-6268 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d9/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 67 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":4485}}}],"partialFingerprints":{"codehealthFindingId/v1":"262f3a667174ea2466bfbaaa5063cf73c31f43fe8b805c809a406a5d5ae11c99"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:6176-6181 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10410-10415 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:15621-15626 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":6176}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbf45dc2343f522036aee545557b55845c0bc9ae285c4ee20612267b1c9de986"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7183-7187 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:10042-10046 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:15224-15228 | crates/libs/windows/src/Windows/Win32/directml/mod.rs:2040-2044 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7183}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0c75177204d347c3a82de0aa0a0104476dc1820b89f911403766d4c21223e71"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7803-7809 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11423-11429 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7803}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c8c94be5e0d949ab1cc83c9762cb0663e5e1deac36559fdddd685ab67b1bc3a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:7810-7814 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11430-11434 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":7810}}}],"partialFingerprints":{"codehealthFindingId/v1":"7811797dbb0eb6ba5515491034c97368fd8b8bc3b653f12b9d93c317832ddfd1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:9024-9030 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:15364-15370 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 65 separate duplicated blocks between them, totalling at least 494 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d10/mod.rs"},"region":{"startLine":9024}}}],"partialFingerprints":{"codehealthFindingId/v1":"edee34a521f675ab087a5b4aa8ed8b43b29ba62b0fee70f64284b967ba5830cd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:4951-4956 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5427-5432 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2551-2556 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2760-2765 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d9/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 8 separate duplicated blocks between them, totalling at least 74 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d11/mod.rs"},"region":{"startLine":4951}}}],"partialFingerprints":{"codehealthFindingId/v1":"642bd502b800e006f391d6cb957ca150c7d87e4fe8e0a7d25730696ab04441b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:7285-7289 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13485-13489 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 26 separate duplicated blocks between them, totalling at least 284 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d11/mod.rs"},"region":{"startLine":7285}}}],"partialFingerprints":{"codehealthFindingId/v1":"767dc6b03d84b836bab0ca8580177237c3a78ef864681dab52cd4aa6f91ad280"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:9087-9091 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13518-13522 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 26 separate duplicated blocks between them, totalling at least 284 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d11/mod.rs"},"region":{"startLine":9087}}}],"partialFingerprints":{"codehealthFindingId/v1":"84622c7de37399c3b1c924c871b6fe20620cbda4f5724d37a61dc31929d7092d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11111-11117 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:16247-16253 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:16535-16541 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 26 separate duplicated blocks between them, totalling at least 284 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d11/mod.rs"},"region":{"startLine":11111}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8a4c3d8d6cdb2ee7aa060e11af002ef67ddeabcd1da8394bd2838a0ca97609d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:11591-11596 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:16870-16875 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 26 separate duplicated blocks between them, totalling at least 284 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d11/mod.rs"},"region":{"startLine":11591}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c1a0f4e8ed9eea181d9ab859ea0741e27b02558de8033a9847c08c49fceee7d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:4909-4914 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:1512-1517 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d9/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dxgi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 94 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":4909}}}],"partialFingerprints":{"codehealthFindingId/v1":"645a4f4379ff534fc0b08692ec54e8a2d4b579ffc6401a080cab9ff30229d49a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:4927-4932 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:1612-1617 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:4820-4825 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d9/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dxgi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 94 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":4927}}}],"partialFingerprints":{"codehealthFindingId/v1":"d7f8630cca56237c530241904fdf68a4e97fbd7309db69d092d50d27c6223081"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5641-5646 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:3388-3393 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:3931-3936 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:4510-4515 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:5105-5110 | crates/libs/windows/src/Windows/Win32/ddraw/mod.rs:5772-5777 \u2014 there are 6 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 6 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":5641}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb738f4a2f83441fdee02934d121543219d5bd109b04f6da167fb3db46468cf9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:5907-5912 | crates/libs/windows/src/Windows/Win32/dxgi/mod.rs:4455-4460 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d9/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/dxgi/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 94 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":5907}}}],"partialFingerprints":{"codehealthFindingId/v1":"67040b93ee5f76ad75166ed5074afa79c9542a0861322c8a82895c681bfda535"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:252-257 | crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1312-1317 \u2014 \u0060crates/libs/windows/src/Windows/Win32/fsrm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 4 separate duplicated blocks between them, totalling at least 47 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/fsrm/mod.rs"},"region":{"startLine":252}}}],"partialFingerprints":{"codehealthFindingId/v1":"8dbb14454c12d0ef4f9faa511690c630637682a6b674cd4074e2ba798a4fb690"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs:1832-1837 | crates/libs/windows/src/Windows/Win32/iads/mod.rs:6644-6649 \u2014 \u0060crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/iads/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 12 separate duplicated blocks between them, totalling at least 104 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/fsrmpipeline/mod.rs"},"region":{"startLine":1832}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e82c14402fbf2e82b16791d57df76faf40b604a650eddb059666b65c9eded13"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): crates/libs/animation/src/bindings.rs:139-147 | crates/libs/webview/src/bindings.rs:217-225 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/animation/src/bindings.rs"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9dfaffe0eafdad95c2b6e35d357d7da768df68c8f6b7f373b0d6483603e999a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 3): crates/libs/canvas/src/bindings.rs:411-421 | crates/libs/pickers/src/bindings.rs:391-401 | crates/libs/reactor/src/native/winui/bindings.rs:20631-20641 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere all 3 call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made 3 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/canvas/src/bindings.rs"},"region":{"startLine":411}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb487d64373476edb0ef3d98c09fa683e1a7e9cc044e9a6fada5dae3cf7a13ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 9): crates/libs/canvas/src/bindings.rs:2244-2251 | crates/libs/canvas/src/bindings.rs:2255-2262 | crates/libs/canvas/src/bindings.rs:2266-2273 | crates/libs/canvas/src/bindings.rs:2331-2338 | crates/libs/canvas/src/bindings.rs:2339-2346 | crates/libs/canvas/src/bindings.rs:2929-2936 | crates/libs/pickers/src/bindings.rs:89-96 | crates/libs/pickers/src/bindings.rs:97-104 | crates/libs/pickers/src/bindings.rs:197-204 \u2014 there are 9 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 9 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/canvas/src/bindings.rs"},"region":{"startLine":2244}}}],"partialFingerprints":{"codehealthFindingId/v1":"f24692aba1cab91026be0c861eec1d0859a944224aef8638c7b4f3a4a7caf0f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): crates/libs/canvas/src/bindings.rs:2364-2371 | crates/libs/reactor/src/native/winui/bindings.rs:17551-17558 | crates/libs/reactor/src/native/winui/bindings.rs:21714-21721 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/canvas/src/bindings.rs"},"region":{"startLine":2364}}}],"partialFingerprints":{"codehealthFindingId/v1":"479e2a95d112fc8a0b8b874b197b17d20e98ed72f9e009e92f5527ea3d6cadef"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 4): crates/libs/collections/src/bindings.rs:3002-3008 | crates/libs/future/src/bindings.rs:109-115 | crates/libs/future/src/bindings.rs:233-239 | crates/libs/future/src/bindings.rs:353-359 \u2014 before extracting anything, compare \u0060crates/libs/collections/src/bindings.rs\u0060 and \u0060crates/libs/future/src/bindings.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 42 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/bindings.rs"},"region":{"startLine":3002}}}],"partialFingerprints":{"codehealthFindingId/v1":"175470131d7ce06793ec16106ecdc0241985917242221c7d09b45ed4f8fb0612"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/collections/src/observable_map.rs:273-279 | crates/libs/collections/src/observable_vector.rs:289-295 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/collections/src/observable_map.rs"},"region":{"startLine":273}}}],"partialFingerprints":{"codehealthFindingId/v1":"00a875092fc45b25703c345e1e5c8663f90219e67e17a0ad5d441c5b34edb9d4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 4): crates/libs/future/src/bindings.rs:17-23 | crates/libs/reactor/src/native/winui/bindings.rs:365-371 | crates/libs/reactor/src/native/winui/bindings.rs:2983-2989 | crates/libs/reactor/src/native/winui/bindings.rs:3149-3155 \u2014 there are 4 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 4 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/future/src/bindings.rs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6261eba78c5b992450e7c03658edc906f31762e08e2c8860ab275bd1b1735f7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 6): crates/libs/windows/src/Windows/AI/Actions/mod.rs:828-833 | crates/libs/windows/src/Windows/Data/Json/mod.rs:596-601 | crates/libs/windows/src/Windows/Data/Json/mod.rs:602-607 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:296-301 | crates/libs/windows/src/Windows/Win32/certadm/mod.rs:525-530 | crates/libs/windows/src/Windows/Win32/fsrm/mod.rs:1776-1781 \u2014 \u0060crates/libs/windows/src/Windows/Win32/certadm/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/fsrm/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 102 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/AI/Actions/mod.rs"},"region":{"startLine":828}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4f3e88bdf30cd93176d659d797ebdd5fc1d851563a6e6991cb50679a5ee1cd3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 131): crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs:2524-2529 | crates/libs/windows/src/Windows/Data/Json/mod.rs:327-332 | crates/libs/windows/src/Windows/Data/Json/mod.rs:333-338 | crates/libs/windows/src/Windows/Devices/Lights/mod.rs:573-578 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:13-18 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:248-253 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1605-1610 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1887-1892 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:1899-1904 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2129-2134 | crates/libs/windows/src/Windows/Gaming/Input/mod.rs:2135-2140 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:43-48 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:211-216 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:1722-1727 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:1952-1957 | crates/libs/windows/src/Windows/Media/Protection/PlayReady/mod.rs:4325-4330 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1423-1428 | crates/libs/windows/src/Windows/UI/Core/mod.rs:1430-1435 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3426-3431 | crates/libs/windows/src/Windows/UI/Core/mod.rs:3433-3438 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:630-635 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:636-641 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:1026-1031 | crates/libs/windows/src/Windows/Win32/bits/mod.rs:2100-2105 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:31-36 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:518-523 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:785-790 | crates/libs/windows/src/Windows/Win32/certenc/mod.rs:1004-1009 | crates/libs/windows/src/Windows/Win32/certenroll/mod.rs:10943-10948 | crates/libs/windows/src/Windows/Win32/certview/mod.rs:64-69 | crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:80-85 | crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:149-154 | crates/libs/windows/src/Windows/Win32/commoncontrols/mod.rs:155-160 | crates/libs/windows/src/Windows/Win32/comsvcs/mod.rs:3478-3483 | crates/libs/windows/src/Windows/Win32/control/mod.rs:1228-1233 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:204-209 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:358-363 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:365-370 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:374-379 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:936-941 | crates/libs/windows/src/Windows/Win32/credentialprovider/mod.rs:1107-1112 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:344-349 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:437-442 | crates/libs/windows/src/Windows/Win32/ctfutb/mod.rs:534-539 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:17981-17986 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2199-2204 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2432-2437 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2557-2562 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:2766-2771 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3054-3059 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3108-3113 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3270-3275 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3279-3284 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3288-3293 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3359-3364 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3491-3496 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7254-7259 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8829-8834 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10419-10424 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:12021-12026 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13638-13643 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:33901-33906 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:36081-36086 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:36088-36093 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:36095-36100 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:36762-36767 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:36769-36774 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:36776-36781 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37138-37143 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38046-38051 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39082-39087 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41272-41277 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43566-43571 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:44209-44214 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45894-45899 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45908-45913 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45922-45927 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45936-45941 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45950-45955 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45975-45980 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:45989-45994 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46003-46008 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46017-46022 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46582-46587 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46596-46601 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46610-46615 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46624-46629 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46638-46643 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46663-46668 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46677-46682 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46691-46696 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:46705-46710 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47369-47374 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47383-47388 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47397-47402 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47411-47416 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47425-47430 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47450-47455 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47464-47469 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47478-47483 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47492-47497 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:47569-47574 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48341-48346 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48355-48360 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48369-48374 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48383-48388 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48397-48402 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48422-48427 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48436-48441 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48450-48455 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48464-48469 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:48541-48546 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:437-442 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1340-1345 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1411-1416 | crates/libs/windows/src/Windows/Win32/devicetopology/mod.rs:1859-1864 | crates/libs/windows/src/Windows/Win32/dxcore_interface/mod.rs:302-307 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:923-928 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:992-997 | crates/libs/windows/src/Windows/Win32/dxva2api/mod.rs:998-1003 | crates/libs/windows/src/Windows/Win32/endpointvolume/mod.rs:67-72 | crates/libs/windows/src/Windows/Win32/endpointvolume/mod.rs:73-78 | crates/libs/windows/src/Windows/Win32/endpointvolume/mod.rs:442-447 | crates/libs/windows/src/Windows/Win32/evr/mod.rs:745-750 | crates/libs/windows/src/Windows/Win32/evr/mod.rs:756-761 | crates/libs/windows/src/Windows/Win32/fhcfg/mod.rs:57-62 | crates/libs/windows/src/Windows/Win32/fhcfg/mod.rs:433-438 | crates/libs/windows/src/Windows/Win32/gameux/mod.rs:210-215 | crates/libs/windows/src/Windows/Win32/gpedit/mod.rs:94-99 | crates/libs/windows/src/Windows/Win32/gpedit/mod.rs:320-325 | crates/libs/windows/src/Windows/Win32/hlink/mod.rs:569-574 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Gaming/Input/mod.rs\u0060 as WHOLE FILES: this scan already matched 4 separate duplicated blocks between them, totalling at least 49 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Background/mod.rs"},"region":{"startLine":2524}}}],"partialFingerprints":{"codehealthFindingId/v1":"92173b8b0096769a94ed1c7f9ca057c3000679aac5d86db5e4ec9b1929458cfd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 25): crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:1113-1118 | crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs:2370-2375 | crates/libs/windows/src/Windows/Devices/Sms/mod.rs:1953-1958 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:135-140 | crates/libs/windows/src/Windows/Gaming/Preview/GamesEnumeration/mod.rs:301-306 | crates/libs/windows/src/Windows/Graphics/Display/mod.rs:992-997 | crates/libs/windows/src/Windows/Graphics/Printing/mod.rs:2080-2085 | crates/libs/windows/src/Windows/Graphics/Printing3D/mod.rs:915-920 | crates/libs/windows/src/Windows/Media/Capture/mod.rs:7779-7784 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:509-514 | crates/libs/windows/src/Windows/Media/Protection/mod.rs:645-650 | crates/libs/windows/src/Windows/Networking/Connectivity/mod.rs:1761-1766 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:57-62 | crates/libs/windows/src/Windows/Networking/Proximity/mod.rs:96-101 | crates/libs/windows/src/Windows/Storage/Provider/mod.rs:2480-2485 | crates/libs/windows/src/Windows/Storage/mod.rs:621-626 | crates/libs/windows/src/Windows/Storage/mod.rs:5647-5652 | crates/libs/windows/src/Windows/System/Threading/mod.rs:187-192 | crates/libs/windows/src/Windows/System/Threading/mod.rs:226-231 | crates/libs/windows/src/Windows/System/Threading/mod.rs:265-270 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:253-258 | crates/libs/windows/src/Windows/UI/ApplicationSettings/mod.rs:983-988 | crates/libs/windows/src/Windows/UI/Core/mod.rs:4860-4865 | crates/libs/windows/src/Windows/UI/Popups/mod.rs:517-522 | crates/libs/windows/src/Windows/UI/WebUI/mod.rs:957-962 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Sms/mod.rs\u0060 as WHOLE FILES: this scan already matched 7 separate duplicated blocks between them, totalling at least 40 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/DataTransfer/mod.rs"},"region":{"startLine":1113}}}],"partialFingerprints":{"codehealthFindingId/v1":"bcff4a418df20f0116839eb9b81aa59b6d98bb9b6829e995708676c2c965fdfb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 3): crates/libs/windows/src/Windows/Foundation/mod.rs:77-82 | crates/libs/windows/src/Windows/System/mod.rs:1186-1191 | crates/libs/windows/src/Windows/UI/Core/mod.rs:2175-2180 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Foundation/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/UI/Core/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 54 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Foundation/mod.rs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6dbe25a43efbfb285b173384040e4d3044f948044cd7bb9622da3bd4473afc7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 25): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:1697-1703 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:1846-1852 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3738-3744 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5263-5269 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:5423-5429 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:7632-7638 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:7853-7859 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:8250-8256 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:8867-8873 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9290-9296 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10040-10046 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10590-10596 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10669-10675 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10912-10918 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10928-10934 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10938-10944 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:10945-10951 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:11412-11418 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:12001-12007 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:12062-12068 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5150-5156 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:5953-5959 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:6411-6417 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:6547-6553 | crates/libs/windows/src/Windows/Win32/d3d11/mod.rs:6683-6689 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d2d/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d11/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 12 separate duplicated blocks between them, totalling at least 99 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":1697}}}],"partialFingerprints":{"codehealthFindingId/v1":"043d23be65592a10e6543274a1427d1c6aa4de784930abdd3f6193831fac506c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:3796-3800 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:13717-13721 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:18065-18069 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:19062-19066 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:20068-20072 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d2d/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 77 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":3796}}}],"partialFingerprints":{"codehealthFindingId/v1":"f50cfea7449c7f211931e0d54dfa0aa75b60622510dad74e4e163e1b031ab364"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9297-9301 | crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9370-9374 | crates/libs/windows/src/Windows/Win32/evr/mod.rs:261-265 \u2014 there are 3 copies across 2 file(s) \u2014 more copies than files, so at least one file holds the block twice. Extract it once into a single shared function every call site can reach and call it from all 3 sites; resolving a subset leaves the remainder to drift apart."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":9297}}}],"partialFingerprints":{"codehealthFindingId/v1":"90332fc9ad3ae114aa2ee4cea926cdd34e99d6fa3feadd9a3b1ac51750fa290b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d2d/mod.rs:9302-9306 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3160-3164 | crates/libs/windows/src/Windows/Win32/d3d10/mod.rs:3362-3366 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d2d/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d10/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 7 separate duplicated blocks between them, totalling at least 54 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":9302}}}],"partialFingerprints":{"codehealthFindingId/v1":"465e3fd128646a3c7f959dafb5d0f7f6242d6757e8f9da22a90969f5a01b2001"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:11870-11874 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:20711-20715 | crates/libs/windows/src/Windows/Win32/d3d9/mod.rs:3122-3126 \u2014 \u0060crates/libs/windows/src/Windows/Win32/d3d12/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Win32/d3d9/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 5 separate duplicated blocks between them, totalling at least 35 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":11870}}}],"partialFingerprints":{"codehealthFindingId/v1":"4711ac496b0dd243b519c7c3fbff5c5dd7a0444bce37253bf8393b2ee5389fcf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/rdl/src/writer/mod.rs:189-198 | crates/libs/rdl/src/writer/mod.rs:234-243 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/mod.rs"},"region":{"startLine":189}}}],"partialFingerprints":{"codehealthFindingId/v1":"28d0935a4c51382c1b975e41b3a11c214fb7071a76179dff691b370d0ca83f9a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/rdl/src/reader/attribute.rs:52-61 | crates/libs/rdl/src/reader/enum.rs:38-47 \u2014 the copies sit in sibling files of one directory, so a shared home is within easy reach: extract the block into a single shared function the call sites can all reach \u2014 a file they already depend on, or a new one alongside them \u2014 and call it from both call sites, so a change lands once."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/attribute.rs"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"1aef1beb63a52f9438ba47ac2bd2ff8871d7e6d7b0f444c7feb0f5280ce0ce3f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): crates/libs/clang/src/lib.rs:1269-1278 | crates/libs/clang/src/lib.rs:1279-1288 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":1269}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a707aafa623e708a6e75368f1fcb523cfeda55ac04ae4034a342cf1e6196e45"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 7): crates/libs/reactor/src/element.rs:2628-2635 | crates/libs/reactor/src/element.rs:2645-2652 | crates/libs/reactor/src/element.rs:2662-2669 | crates/libs/reactor/src/element.rs:2679-2686 | crates/libs/reactor/src/element.rs:2696-2703 | crates/libs/reactor/src/element.rs:2713-2720 | crates/libs/reactor/src/element.rs:2730-2737 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/element.rs"},"region":{"startLine":2628}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c64b651bc879456858b30040eb799d1b4b1aa6554c9776dcd150924e4680e73"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/rdl/src/reader/mod.rs:525-532 | crates/libs/rdl/src/reader/mod.rs:546-553 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":525}}}],"partialFingerprints":{"codehealthFindingId/v1":"e27ad8ba93958f82bfd6b8ad4e17218134297071912a0e7fce8931eced6a4127"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 3): crates/libs/reactor/src/app/mod.rs:380-386 | crates/libs/reactor/src/app/mod.rs:396-402 | crates/libs/reactor/src/app/mod.rs:411-417 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":380}}}],"partialFingerprints":{"codehealthFindingId/v1":"cef3832b4180b4cb2e0676a4c9274e496dc2b47d70bd6ea7ad3de488d3d646e1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): crates/libs/reactor/src/app/mod.rs:697-703 | crates/libs/reactor/src/app/mod.rs:718-724 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":697}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ed38078e703e104a19aeabb96348c6927206b3577d1e7d8e68875fb6a148050"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/bindgen/src/tokens.rs:39-43 | crates/libs/rdl/src/emit.rs:15-19 \u2014 the copies span different directories, so extracting a shared function means choosing where it lives: put it somewhere both call sites can already reach \u2014 a location they all depend on today, or a new shared one if there is none \u2014 and call it from each site; until then, every change has to be made twice."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/tokens.rs"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"9067f5a72dbcde03b601bd88dbf6c45676986e48ee8dbcbc88ca56d9195e27bb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/clang/src/lib.rs:3088-3092 | crates/libs/clang/src/lib.rs:3095-3099 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":3088}}}],"partialFingerprints":{"codehealthFindingId/v1":"190bb0b09da78bbb317cfa33c7e5f4c01b872a597d60d6786ffc26d5b34fb02b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/reactor/src/native/winui/grid.rs:203-208 | crates/libs/reactor/src/native/winui/grid.rs:220-225 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/grid.rs"},"region":{"startLine":203}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb96b9f84288203a248054834310cd1fd0069bca1daebebaa830c9d93386e534"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:384-388 | crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs:1697-1701 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Appointments/mod.rs"},"region":{"startLine":384}}}],"partialFingerprints":{"codehealthFindingId/v1":"b370f60bfcaeb2c33837ad5df698e837396c53843734dcd1b777a99b9d209690"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs:3863-3867 | crates/libs/windows/src/Windows/Media/Devices/mod.rs:370-374 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/Devices/mod.rs\u0060 as WHOLE FILES: this scan already matched 6 separate duplicated blocks between them, totalling at least 35 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Calls/mod.rs"},"region":{"startLine":3863}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ed577915c922f64558ee6d2bcd13b1adf62f9b4b44163de415d9d9bc11d5ddc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 10): crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:384-388 | crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs:1194-1198 | crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs:186-190 | crates/libs/windows/src/Windows/Devices/Enumeration/mod.rs:452-456 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:1836-1840 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3621-3625 | crates/libs/windows/src/Windows/Media/Playback/mod.rs:3725-3729 | crates/libs/windows/src/Windows/Networking/ServiceDiscovery/Dnssd/mod.rs:232-236 | crates/libs/windows/src/Windows/Storage/Pickers/mod.rs:344-348 | crates/libs/windows/src/Windows/Web/Http/mod.rs:509-513 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Devices/Enumeration/Pnp/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 31 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/ApplicationModel/Resources/Core/mod.rs"},"region":{"startLine":384}}}],"partialFingerprints":{"codehealthFindingId/v1":"eee9a9cbd9378b0bfabd90823cd09d3b8de97b10ff8825f20fbb34f3daf6e824"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 20): crates/libs/windows/src/Windows/Data/Json/mod.rs:433-437 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4773-4777 | crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs:4904-4908 | crates/libs/windows/src/Windows/Devices/Lights/Effects/mod.rs:818-822 | crates/libs/windows/src/Windows/Foundation/mod.rs:2311-2315 | crates/libs/windows/src/Windows/Globalization/Collation/mod.rs:82-86 | crates/libs/windows/src/Windows/UI/Shell/mod.rs:981-985 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:96-100 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:303-307 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:492-496 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:681-685 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:882-886 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1492-1496 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1832-1836 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:1967-1971 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2175-2179 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2474-2478 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2605-2609 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:2949-2953 | crates/libs/windows/src/Windows/Web/Http/Headers/mod.rs:3575-3579 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Data/Json/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Data/Xml/Dom/mod.rs\u0060 as WHOLE FILES: this scan already matched 5 separate duplicated blocks between them, totalling at least 52 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Data/Json/mod.rs"},"region":{"startLine":433}}}],"partialFingerprints":{"codehealthFindingId/v1":"738beb6d6f28fbc8df1df45c437020297e2b5788293e34400fe28d6186b76460"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:369-373 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:442-446 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:714-718 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs"},"region":{"startLine":369}}}],"partialFingerprints":{"codehealthFindingId/v1":"54dc9e270c003671dd56ead6adc8157340fa38c25d46817cd71fa8dc89317ab4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:384-388 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:457-461 | crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs:729-733 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Devices/HumanInterfaceDevice/mod.rs"},"region":{"startLine":384}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a525fef2686f6ae05d7534e27797b66cd86bd4cd561ee3ddeb98fb090785c1c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:343-348 | crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs:682-687 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Graphics/Imaging/mod.rs"},"region":{"startLine":343}}}],"partialFingerprints":{"codehealthFindingId/v1":"768de1d5346c1a8079934a437b6a685c3953f0b4ae7f70a4f894b0af756732e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Media/Core/mod.rs:4514-4518 | crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs:2086-2090 \u2014 \u0060crates/libs/windows/src/Windows/Media/Core/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Media/MediaProperties/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 11 separate duplicated blocks between them, totalling at least 66 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Media/Core/mod.rs"},"region":{"startLine":4514}}}],"partialFingerprints":{"codehealthFindingId/v1":"c86f7a4c6a0c6c67431fbc03b31223fcab6f869d214dc42d5e0d025e60beb092"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:135-139 | crates/libs/windows/src/Windows/Storage/mod.rs:4376-4380 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":135}}}],"partialFingerprints":{"codehealthFindingId/v1":"738a4dd65564b50a9f0ae564fbff6535e57139fb1bf04340ec299dc5d6e3b294"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:324-328 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:900-904 | crates/libs/windows/src/Windows/Storage/mod.rs:3148-3152 | crates/libs/windows/src/Windows/Storage/mod.rs:3296-3300 | crates/libs/windows/src/Windows/Storage/mod.rs:4562-4566 | crates/libs/windows/src/Windows/Storage/mod.rs:4993-4997 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":324}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8e421fe89972799001a693607f43cd7c99bbc11059f1db75d444d0e1ba79c31"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 6): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:332-336 | crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:908-912 | crates/libs/windows/src/Windows/Storage/mod.rs:3156-3160 | crates/libs/windows/src/Windows/Storage/mod.rs:3304-3308 | crates/libs/windows/src/Windows/Storage/mod.rs:4570-4574 | crates/libs/windows/src/Windows/Storage/mod.rs:5001-5005 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":332}}}],"partialFingerprints":{"codehealthFindingId/v1":"489c07dcebe203435d2fadebd8811331013d1204b7de98eb462bdc641bd28821"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:393-397 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:671-675 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1841-1845 \u2014 \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 74 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":393}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fe23528d551749aca0d8c15233cb50c518d3e495dd288c4e892f550af22a64e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:406-410 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1635-1639 \u2014 \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 74 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":406}}}],"partialFingerprints":{"codehealthFindingId/v1":"87f94336247811911ca853872c3773f598f9a364b17107c5a88dbeee3e4429da"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:420-424 | crates/libs/windows/src/Windows/Storage/Search/mod.rs:1744-1748 \u2014 \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/Search/mod.rs\u0060 are one unit implemented once per sibling directory, so they are most likely parallel implementations of one contract rather than a copy of each other \u2014 this scan matched 10 separate duplicated blocks between them, totalling at least 74 lines. If both are selected at run time, neither can be retired in favour of the other, and the lines that DIFFER between them are the reason both exist. The move that pays here is to hoist the identical part into a shared location the whole family can reach and give what differs a parameter or a seam, so a change lands once instead of once per sibling; extracting one helper per block leaves every sibling to drift on its own."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":420}}}],"partialFingerprints":{"codehealthFindingId/v1":"d532d38710c6a1f6e1dde3157d34df495cfdc63f1b2218cd4905e065b115ce8e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:673-677 | crates/libs/windows/src/Windows/Storage/mod.rs:4820-4824 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":673}}}],"partialFingerprints":{"codehealthFindingId/v1":"09ff7db0c4f4a98861acf4f6a951c013c034770bc1fa3971d25a92b6669eeb1c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:688-692 | crates/libs/windows/src/Windows/Storage/mod.rs:4835-4839 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":688}}}],"partialFingerprints":{"codehealthFindingId/v1":"b48f4592cd2aa3986499b1e2d9419e3474201a3e5e60ed366bcbc4a502232406"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs:702-706 | crates/libs/windows/src/Windows/Storage/mod.rs:4849-4853 \u2014 before extracting anything, compare \u0060crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs\u0060 and \u0060crates/libs/windows/src/Windows/Storage/mod.rs\u0060 as WHOLE FILES: this scan already matched 35 separate duplicated blocks between them, totalling at least 175 lines, which is the signature of one file having been copied from the other rather than of a helper waiting to be extracted. The two sit in different directories, so one cannot simply be deleted in favour of the other while both are reached separately: hoist the shared part into a location both already depend on and have each file call it, and retire whichever file turns out to have no caller of its own left. Extracting one helper per block leaves the fork in place."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/BulkAccess/mod.rs"},"region":{"startLine":702}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdcd6716a1a88b338174aef5e8d11777b01418e028567f811fc895b35b58c2b0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/mod.rs:4614-4619 | crates/libs/windows/src/Windows/Storage/mod.rs:5045-5050 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":4614}}}],"partialFingerprints":{"codehealthFindingId/v1":"40aa3ca88a39a9daeac4bddb0903616b69eac76e3b653368a3fdb4a47d264349"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): crates/libs/windows/src/Windows/Storage/mod.rs:4622-4627 | crates/libs/windows/src/Windows/Storage/mod.rs:5053-5058 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Storage/mod.rs"},"region":{"startLine":4622}}}],"partialFingerprints":{"codehealthFindingId/v1":"70080ec0147f1049bc18cebc9d43ca4fa7dd432b36dc313ab53eb3b84daddd7d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Text/mod.rs:1353-1357 | crates/libs/windows/src/Windows/UI/Text/mod.rs:4436-4440 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":1353}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ec42c30d9c21c2bff6e0b33bf0b45d52b066b27a4d16af20d4f8b24a826ef3e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Text/mod.rs:1359-1363 | crates/libs/windows/src/Windows/UI/Text/mod.rs:4442-4446 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":1359}}}],"partialFingerprints":{"codehealthFindingId/v1":"508bd304c62115ee179c445340c01222cb7cc1a5664a3fae7f4a33fb8fef1a98"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/UI/Text/mod.rs:2775-2779 | crates/libs/windows/src/Windows/UI/Text/mod.rs:4694-4698 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/UI/Text/mod.rs"},"region":{"startLine":2775}}}],"partialFingerprints":{"codehealthFindingId/v1":"20b5ed10bcb7353027657342c5f803a0f3470e4b910d5a3cea20b5a290dafee5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:11432-11436 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:11489-11493 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:11551-11555 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":11432}}}],"partialFingerprints":{"codehealthFindingId/v1":"09c9a4b0c55990b3bbac742130c5005d55b1b2b071d01a5e19b35fcd4770725a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:14483-14487 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:14945-14949 | crates/libs/windows/src/Windows/Win32/d3d12/mod.rs:15015-15019 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d12/mod.rs"},"region":{"startLine":14483}}}],"partialFingerprints":{"codehealthFindingId/v1":"5eeab2a0a1af21d3eb8c151e004825187c7d133e5c04e46c2ec579d135c8e00b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 9): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3176-3180 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:3945-3949 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:4817-4821 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5763-5767 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:6812-6816 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8387-8391 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:9977-9981 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11579-11583 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13196-13200 \u2014 all 9 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":3176}}}],"partialFingerprints":{"codehealthFindingId/v1":"e89e56a6d30a0f6d15875110a3dbfd9bd0d4c700d4ba59e3e07123daf40918fe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5046-5050 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:5992-5996 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:7041-7045 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:8616-8620 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:10206-10210 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:11808-11812 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:13425-13429 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":5046}}}],"partialFingerprints":{"codehealthFindingId/v1":"899b15c9902ca1126f2706cf3ab29ebf5a6e2eedf8bec6381d584e0f0ee0fb2e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:14912-14916 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16547-16551 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18341-18345 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20383-20387 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23331-23335 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26360-26364 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29430-29434 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":14912}}}],"partialFingerprints":{"codehealthFindingId/v1":"41e0a1d77d914057840c98141dd42f1463de34bec96909a8b2989a436f06b6e0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15152-15156 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16787-16791 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18581-18585 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20623-20627 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23571-23575 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26600-26604 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29670-29674 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15152}}}],"partialFingerprints":{"codehealthFindingId/v1":"5188238232cd88f0ef0084398b05198e1522a524692cb5e6a221fd08b1d7be6c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15168-15172 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16803-16807 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18597-18601 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20639-20643 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23587-23591 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26616-26620 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29686-29690 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15168}}}],"partialFingerprints":{"codehealthFindingId/v1":"74971b5c9b1e6f6cd6d637a9dcb6ca00c6490ab9de66051975c45004265dfced"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 7): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:15198-15202 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:16833-16837 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:18627-18631 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20669-20673 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23617-23621 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26646-26650 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29716-29720 \u2014 all 7 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":15198}}}],"partialFingerprints":{"codehealthFindingId/v1":"95973059159f3232a26fb34fb8b16423da4491c45b4d184bcbaf9618f1181b0c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20927-20931 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23875-23879 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26904-26908 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:29974-29978 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20927}}}],"partialFingerprints":{"codehealthFindingId/v1":"473aaa526604d0bec1d4f44c79e093f18596fd551f79daf0e85d83fa1ebb521d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20982-20986 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23930-23934 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26959-26963 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30029-30033 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20982}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8f1ab7a74ec8e436cf278b7e0768523a59bc8053448655aa02b10a928c9ba6a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:20998-21002 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23946-23950 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:26975-26979 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30045-30049 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":20998}}}],"partialFingerprints":{"codehealthFindingId/v1":"1362fd9d4c029d94cc3e389b2e1654ef9e392e4b0cf284a7e4caebdfbcc9b7ba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 4): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:21025-21029 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:23973-23977 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:27002-27006 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:30072-30076 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":21025}}}],"partialFingerprints":{"codehealthFindingId/v1":"257b066ad232fad3c1dbeb444acb6ee8aed0d60b99e471859d949f24fb328129"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37128-37132 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38036-38040 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39072-39076 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41262-41266 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43556-43560 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37128}}}],"partialFingerprints":{"codehealthFindingId/v1":"24a5c65d22f20b31bd79565c79fafaa6a48f9f9a81fa112902efbf3957c86572"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37182-37186 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38090-38094 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39126-39130 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41316-41320 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43610-43614 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37182}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e39c7ede75b5603436194b157ae882baa43532f84a5f2da20ee7044422a8dd3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 5): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:37199-37203 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:38107-38111 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39143-39147 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41333-41337 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43627-43631 \u2014 all 5 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":37199}}}],"partialFingerprints":{"codehealthFindingId/v1":"32799e15d8ef79a2a2079c714b0bae2c18a88a5d03df0201eb45e4923790c67e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39357-39361 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41547-41551 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43841-43845 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":39357}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e2ff10b36fab269e2d73337505b027c43da98e1fc39dcdbaf5366c5537cb851"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39388-39392 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41578-41582 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43872-43876 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":39388}}}],"partialFingerprints":{"codehealthFindingId/v1":"b49df9677518f2852ac5519ccc7ad83328cdc7a58fa10f5e1328ff6c1bbc391e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 3): crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:39398-39402 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:41588-41592 | crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs:43882-43886 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":39398}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0589568798d8b3d232d26d96c0c019b3c2b59c748fb33f8bef77773ed926cf8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:2990-2994 | crates/libs/windows/src/Windows/Win32/dwrite/mod.rs:3162-3166 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":2990}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b0ed43abadbad310747e39a97a4bdaeb6f81446ff7207d9837274c293a3337f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:475-479 | crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs:770-774 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/functiondiscovery/mod.rs"},"region":{"startLine":475}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ea37bd6be84454219ed2e1116f31d2dd4e76c64445b5f5bbd47e0783a621c9e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): crates/libs/reactor/src/app/test.rs:123-130 | crates/libs/reactor/src/app/test.rs:154-161 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/test.rs"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9507e03ca248dba73ec2eb48a29f500b02e5e09f04c46486ca8f46d320b2845"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): crates/libs/reactor/src/app/test.rs:134-146 | crates/libs/reactor/src/app/test.rs:166-178 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/test.rs"},"region":{"startLine":134}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba255e20a8e28d7cad8a46e8bcf81a15e32021f5c7b460cf3142bcd14d62afc2"}},{"ruleId":"D5","level":"warning","message":{"text":"Unstable project windows-composition: windows-composition has instability 0.83 with 1 dependents."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"c365a5252b0e9680b89f37314c632dd83129efcaccdb281881dda44df9d0eeba"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: windows-metadata: windows-metadata: abstractness 0.06, instability 0.00, distance 0.94 \u2014 zone of pain \u2014 concrete and depended on by 8 project(s), so it\u0027s rigid to change."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"a46865c86107899f58bbb4d541a1cae170cd83030fc4b15d63d3323298d79599"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: helpers: helpers: abstractness 0.00, instability 0.11, distance 0.89 \u2014 zone of pain \u2014 concrete and depended on by 8 project(s), so it\u0027s rigid to change."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"9a7bd70c966bd1c22017ae66497878188517c0967a8853a0dba772ab123a471f"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: windows-window: windows-window: abstractness 0.00, instability 0.17, distance 0.83 \u2014 zone of pain \u2014 concrete and depended on by 5 project(s), so it\u0027s rigid to change."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"d0e89359a7def13cd5e10fcf0e99f33936a61418b9773bd0424ccd9c529c1535"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: windows-numerics: windows-numerics: abstractness 0.00, instability 0.20, distance 0.80 \u2014 zone of pain \u2014 concrete and depended on by 4 project(s), so it\u0027s rigid to change."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"c574fa6933069b90fbd11d63b2525289127e3313c22660bb1f2a5744321d34a8"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: windows-time: windows-time: abstractness 0.00, instability 0.20, distance 0.80 \u2014 zone of pain \u2014 concrete and depended on by 4 project(s), so it\u0027s rigid to change."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"430c0d411677376d3292ff02d41626eb9a1f4d21c8e6ff7928d84164927a7227"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: windows-rdl: windows-rdl: abstractness 0.03, instability 0.22, distance 0.75 \u2014 zone of pain \u2014 concrete and depended on by 7 project(s), so it\u0027s rigid to change."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"be3bb89a2fd43a4dbd4f2860426b09fbed343dc6942151a9c5a164321db08ef9"}},{"ruleId":"D8","level":"warning","message":{"text":"Coverage not measured \u2014 no coverage collector is wired up: Coverage NOT MEASURED: \u0060--collect:\u0022XPlat Code Coverage\u0022\u0060 names a data collector that ships in the \u0060coverlet.collector\u0060 package, and this repository wires up none \u2014 no test project references it and no runsettings declares one. The absence of coverage here is therefore not evidence about the suite or about our analyzer environment: without a collector, \u0060--collect\u0060 produces nothing even from a suite that builds and passes. Add a \u0060coverlet.collector\u0060 PackageReference to the test project(s) (or commit the Cobertura/OpenCover/lcov report your CI produces) and real coverage will be measured. It is excluded from the score rather than counted as a near-zero defect."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"62e63e619c28f057e129f2997c965d32a457366a9ce18ca019ffb6bdfba85c99"}},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f41f10915782c78669ed605c6ad2e02e006de96808a287165a4389d5e06a2bf8"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ffdadc7b9440bf0f477a5a820768f0748f4b20f369f28dcd3cc5810ae2e69f61"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"1e31c2f1c479a2c92198c8a1899f0228d19a503dcfd108b601a0cbd07eabdd52"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d7dc5584168cb9e6cc40586612a68ba6ca253b952a291ecf2f68bd53d0865e01"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"4fa767398df6d2b83e9ce5fc4a250c931495c36cb5367eec2c8d3b93923a6e7d"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"50380451bc372636bc83c19ddc056087663f441fc0ffd52bbf373f1da51bccb1"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"745e7bf024dfb94bef579096600ae7f257904c56241339e6a58d28ba3de05195"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"0fed2e76840c3c1fb6452a04a40422446ecedbd22a29f12b0914bd8d62a9ca74"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3f83a02a5a6bcde6d9265ced45192e8fcd1a6bd0aa0e9096618448c852b61288"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"b2a64a2cadd8b932c4f6a80ded6808a74fe947940ef31907234e584d885b8ba8"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"2cf54a6c60fafad26ddd438c92369892da3e7e3dddd41c10f65e3084443bcc82"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"72912139dc51f5a31cafcb1585b9104ac54372bc9d6f00f838370e7b5e18a5d5"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"43dbbe579137fcb63603dc6079dd771c3a9460061d7da36cb67f181d9b26c23b"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"a61bff99c082689fc6021d6a123fccf077c57434eeb1e08c6785c13f8ac635e2"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"774a0b980e2fc1be19cac4bcabd8d1a3093be62dc107e78b073882080220e875"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"424dbae1883ccf1a0a212647f935049209365ef8ba9dc35f0b345ac48638e1eb"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"92bec0f3afc99b539b5fbb72ec8e6a96c0973546817b738ff7a71c38b3469c48"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"284ebd1e18b32c735d048c57847e7a065758b01f7199ca07115312df8ca9faf6"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d5f64cf3e260366f8e8596eb9cac5df1ec74b71410d2d88d9fd956bb1c652a4c"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"422169e64e95ac7bc0fe917adc967219e24d8cbcd3d410d5acbb3b4c6456f724"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"264c7711bb45168b9abcdec0fb5455c821f2741c20c4a374ecf17bf0a6b2cfb6"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"fb20508707a12d5919c15765358ad83655a8c60f951b4f6a6b1b8c375a1eeb65"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"af16d795615a078f8f9b14b4f71dcb190ef07a7ef3ca11f08dd66d3234484535"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8d4c5b668727c35bf3fbbcbb799536309bdc8c13bccf4668e33bb8ef6422e31c"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"72c4e12d1d8f78df93f04d924a01a5bfebc989cea47da8394f4a20fe835a1e80"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"75f51e5f439c4dba2a96012c3dde15012f59ca940d2dffb0ba7940ecde1bd6e0"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"cd8a07405abe0dcf44d5f96b4f6ca91fbe90ed3d12274abe847e555b37d40ada"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3d6877cca7a17ea0172d3b88ed1763bc234878d979d8d5e27f1cffcd2eef51e1"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"bcd6b60493caa8b53fd0aca968714282cd8750fe6464085b337325a8d1831433"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"2ee5475efc933e7afbdb90574f760722f169ea29c72033ee21dcbc1c394ec73d"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"271ee06c42575d91016d7f65a7594bce2e895561107f1286c8b87269e2565950"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"edac67d6b7780742a53d51c6cccf88986d81725eabd447164060d55084a9ccf2"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"4e63d988dd40b19b7291b7d75ba0aa5df93405788365064651015def44c0b505"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"666b3d5f9b9046e7544b520a3bdab938d628d8abcda766e97fde948f77216d22"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"91ceb75830d20de3659e4a346074662c611340c671b16318cd69e280bdc4cd6e"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"787480d4dc6db3fb8e3a4455b1c0062732ab68bc5f62a80c2fe363ec16929ea8"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"07ae5653da9bcce07856db6efb124084dbbb4b41ca1b336b18b02e17a066d401"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3b52a76fc6dbbb38aea3913c1e1a62d57a3933aaa9e261e719722082ec5891f6"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"a5bd1faf171ad8f952ebc947ca29fffc37213c4950c350fa0296f32cae89f8a9"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f47d294838dc4f005988db8182ca57b0e5ac67e3e095fbf51f353a50f16e9d80"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"60ff8f01fc2bbddaeddf50d5f86902402d9e0f92d0e45bab17ee20b5a7d1df0a"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"1ed8268fe592ea6802a4be6461b34c0bda6e1c8f6bb14eb6270e4e1b9bd0e5d5"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ab87e03405ed5252d80977578e379af4983e940fe751700936c6de61ce88b3a9"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"183466a6dde8e09256fbd595a733b78329c182d3530bc97da1763bd2e53d3375"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"00066e07ae7606d7eebca1cc5847b0ea5e8e423e836a47d6fdb87ae186e52daa"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3480dafd627631a8bc709c562f9a58fab1f9b5bd68591d18a209499ffdf05ab7"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8550b591fcc2ecc04086043ddbc01c32579626af53419cfa09d8490f5c6071da"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"37e3881e8d3e94af6ee534142cd39088b629faba7d1596a748fccbe331de809f"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"28d4799740869cfc5fe5c160fbef84b124984573bf29c4654a793f4d0c98b551"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"7c36abfecb56b662c177025d14fd5625a387aa81dce112a50f135b92306fd84e"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"aaedc28dcbe4bdc2876303b831c9aa213bb0211ca4dd16579433b5a8e08fe3cd"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D13","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"265a44ffeaa7d18e649ca4eefc649b65f5e44614a4bf7578cdc6bc5c57783a2f"},"taxa":[{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/clang/src/lib.rs: crates/libs/clang/src/lib.rs changed 27 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 181 in Snapshot::plan at line 773. 2 of those changes were fix/bug commits, and the other 25 changed it for other reasons \u2014 this file is under both repair and feature pressure. Before the next change lands here, make sure the area it touches is under test, then split that area out of the file so the following change is smaller than this one \u2014 a file this often edited pays the complexity back every time. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/clang/src/lib.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/clang/src/lib.rs"},"region":{"startLine":773}}}],"partialFingerprints":{"codehealthFindingId/v1":"11756bae078c90f652e927bf652fb6d1a53d1a2c49eb2cb1c76f3a5e458d2e73"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/reactor/src/native/winui/mod.rs: crates/libs/reactor/src/native/winui/mod.rs changed 24 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 182 in WinUiRuntime::apply_one at line 1713. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/reactor/src/native/winui/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/native/winui/mod.rs"},"region":{"startLine":1713}}}],"partialFingerprints":{"codehealthFindingId/v1":"012823fe4097f86cc61f7b36b748d334770e638219bf91bf93574fe919077f36"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/tools/reactor/src/schema.rs: crates/tools/reactor/src/schema.rs changed 14 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 131 in Schema::resolve at line 768. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/tools/reactor/src/schema.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/schema.rs"},"region":{"startLine":768}}}],"partialFingerprints":{"codehealthFindingId/v1":"669266b88fdcde3c5c4bca57a7b3559f1d5969206e4acf8ba26fcc8d516facf1"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/types/method.rs: crates/libs/bindgen/src/types/method.rs changed 9 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 92 in Method::write at line 347. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/types/method.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/method.rs"},"region":{"startLine":347}}}],"partialFingerprints":{"codehealthFindingId/v1":"f71d6e79a4051539048df75f4081f18f4966d865cfbc6e597bed40f592599548"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/types/cpp_method.rs: crates/libs/bindgen/src/types/cpp_method.rs changed 17 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 41 in CppMethod::new at line 85. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/types/cpp_method.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_method.rs"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8eeeb3637fa0f1b51964b3949161ed458d3d99017dd7ea129fa6898b48fe421"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/types/mod.rs: crates/libs/bindgen/src/types/mod.rs changed 14 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 48 in Type::write_name at line 505. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/types/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/mod.rs"},"region":{"startLine":505}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce79ea92ab361dfadc72a2d9f4e117379b2e9d3d51af9b9cd5eb390d33e966b7"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/uiautomationclient/mod.rs: crates/libs/windows/src/Windows/Win32/uiautomationclient/mod.rs changed 8 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 80 in IUIAutomationElement_Vtbl::new at line 3625. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/uiautomationclient/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/uiautomationclient/mod.rs"},"region":{"startLine":3625}}}],"partialFingerprints":{"codehealthFindingId/v1":"22b87c76e03d19a0a0bf40cb861288febcf0b3ab5ba86153ae16be9efefd7bee"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/tools/reactor/src/generate_winui.rs: crates/tools/reactor/src/generate_winui.rs changed 13 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 48 in tool_reactor::generate_winui::generate_event_arm at line 1022. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/tools/reactor/src/generate_winui.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_winui.rs"},"region":{"startLine":1022}}}],"partialFingerprints":{"codehealthFindingId/v1":"aafed21bd773fe87dbed03dec80a6b91b8f121a05372b6d5ffe94985e1cecc40"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/reactor/src/core/pump/native_work.rs: crates/libs/reactor/src/core/pump/native_work.rs changed 11 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 54 in Pump::dispatch_events at line 92. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/reactor/src/core/pump/native_work.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/native_work.rs"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c092e43a0a0e3206865e2371fbc50907c986d5cb049d253fa1c499baf64bdab"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/reactor/src/core/pump/planner/view.rs: crates/libs/reactor/src/core/pump/planner/view.rs changed 6 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 96 in Pump::reconcile_planned_view at line 69. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/reactor/src/core/pump/planner/view.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/view.rs"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"2177b9b4ed2e6a971fa89f3b603f8193303cea332cf7b59ddbdfe2b3aa8f4951"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/type_closure.rs: crates/libs/bindgen/src/type_closure.rs changed 12 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 47 in Type::combine_closure at line 131. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/type_closure.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/type_closure.rs"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"6442e46c0c630a0e7eefd7d6fc7673163c21b8a2a94b5e241b3ac52520d9e0f0"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/tools/reactor/src/generate.rs: crates/tools/reactor/src/generate.rs changed 15 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 36 in tool_reactor::generate::generate_element at line 1363. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/tools/reactor/src/generate.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate.rs"},"region":{"startLine":1363}}}],"partialFingerprints":{"codehealthFindingId/v1":"796369314564bb69dbbdc44cbabcfe10d44bc3aa9b9f7ebf5f25cdf40b71c4d2"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/reactor/src/app/mod.rs: crates/libs/reactor/src/app/mod.rs changed 24 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 22 in ComponentLoop::live_controlled_feedback_native_finish at line 652. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/reactor/src/app/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/mod.rs"},"region":{"startLine":652}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6e31d2a8835a8500c3cc0dbadb62a5b806bfac3c87844963f33de3081649239"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/rdl/src/reader/mod.rs: crates/libs/rdl/src/reader/mod.rs changed 12 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 42 in Encoder::encode_path at line 1041. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/rdl/src/reader/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/mod.rs"},"region":{"startLine":1041}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e54de5b704a85dd967037941e1e5606319b0b8dfdc4f2ba55e70729f378cd6f"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs: crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs changed 10 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 46 in IDebugControl6_Vtbl::new at line 27822. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dbgeng/mod.rs"},"region":{"startLine":27822}}}],"partialFingerprints":{"codehealthFindingId/v1":"1901a13327bea55a0808ae62a71b3954b120fc7cad181a9ac7bdf389d161475f"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/types/interface.rs: crates/libs/bindgen/src/types/interface.rs changed 10 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 45 in Interface::write at line 207. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/types/interface.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/interface.rs"},"region":{"startLine":207}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3d8315a3546607dbbc7dea47235fcda7ff07d7b40549c918b29175951afe128"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/iads/mod.rs: crates/libs/windows/src/Windows/Win32/iads/mod.rs changed 9 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 49 in IADsUser_Vtbl::new at line 12070. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/iads/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/iads/mod.rs"},"region":{"startLine":12070}}}],"partialFingerprints":{"codehealthFindingId/v1":"c11cef6adb4f4b3882ea4ad7db5822c0b5ef45a99b2a1ea92c6efd49a831fe82"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/types/cpp_const.rs: crates/libs/bindgen/src/types/cpp_const.rs changed 12 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 33 in CppConst::write at line 52. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/types/cpp_const.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_const.rs"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b50bb852376eeabba4937e8ff50cb5e3b90fc4a389d74a81032f4cbe7d56fe0"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/tools/win32/src/main.rs: crates/tools/win32/src/main.rs changed 25 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 15 in tool_win32::scrape_um_arch at line 1164. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/tools/win32/src/main.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/win32/src/main.rs"},"region":{"startLine":1164}}}],"partialFingerprints":{"codehealthFindingId/v1":"13373b1bdc884db149f0d83cbd110774ff7613674677116272b6c862cd633328"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/samples/windows/dcomp/src/main.rs: crates/samples/windows/dcomp/src/main.rs changed 11 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 34 in windows_dcomp::main at line 1. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/samples/windows/dcomp/src/main.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/samples/windows/dcomp/src/main.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d474a9a6fbb70e45f0a2ce8765c5af1ef83a2db053cd75651325ef67c6e4975"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/lib.rs: crates/libs/bindgen/src/lib.rs changed 19 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 19 in Bindgen::write at line 454. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/lib.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/lib.rs"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e075c073b28c270a8d188d39ddb2ad4da6cf9ebb965c2ff432497e3b3edb7fe"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/tools/reactor/src/metadata.rs: crates/tools/reactor/src/metadata.rs changed 12 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 29 in MetadataResolver::load at line 95. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/tools/reactor/src/metadata.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/metadata.rs"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"d12a435ce0b4bfb720c836baab4557306e38f331ce83b0f90e7246b663312d87"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/rdl/src/writer/mod.rs: crates/libs/rdl/src/writer/mod.rs changed 11 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 31 in Writer::write at line 122. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/rdl/src/writer/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/writer/mod.rs"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cc0c4453c445b0872248bb2646b21189eeaf47527745eed44cc1fb4dd6d64bc"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/window/src/window.rs: crates/libs/window/src/window.rs changed 12 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 28 in windows_window::window::wndproc at line 393. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/window/src/window.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/window/src/window.rs"},"region":{"startLine":393}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bee366db32faf6b04833ab1b4334f9e458ea575e3c93f5bad034a521196d0c1"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/types/cpp_interface.rs: crates/libs/bindgen/src/types/cpp_interface.rs changed 9 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 36 in CppInterface::write at line 54. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/types/cpp_interface.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_interface.rs"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c62de7ba63205efc3e4b8eeb07d80b898d32c7328196af750ef95344c420324"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/types/class.rs: crates/libs/bindgen/src/types/class.rs changed 11 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 29 in Class::write at line 17. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/types/class.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/class.rs"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c5cb4bc93adc2de642dfc422da25acaa44b38a58d9cb718ae9bd22f34bda67b"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/wuapi/mod.rs: crates/libs/windows/src/Windows/Win32/wuapi/mod.rs changed 7 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 43 in IUpdate_Vtbl::new at line 3676. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/wuapi/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wuapi/mod.rs"},"region":{"startLine":3676}}}],"partialFingerprints":{"codehealthFindingId/v1":"bba71283267cd55e028e4da62dc6978255c6783123cfab839d9908485d3c293c"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/d3d9/mod.rs: crates/libs/windows/src/Windows/Win32/d3d9/mod.rs changed 9 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 32 in IDirect3DDevice9_Vtbl::new at line 3875. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/d3d9/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d3d9/mod.rs"},"region":{"startLine":3875}}}],"partialFingerprints":{"codehealthFindingId/v1":"06cc1e7b14e7bbd35aee30f6e8bee3828f337274bc2553a92b024883cc6b3477"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/metadata/src/reader/file.rs: crates/libs/metadata/src/reader/file.rs changed 5 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 56 in File::new at line 15. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/metadata/src/reader/file.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/reader/file.rs"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3beb74745f5226cc9bf169812964dfef0dee6f92df2b0647fa5e36492d7a520"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/metadata/src/merge/mod.rs: crates/libs/metadata/src/merge/mod.rs changed 12 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 23 in Merger::merge at line 98. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/metadata/src/merge/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/merge/mod.rs"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c6bbde9b48cb6ceb6fa891ddef103a296c2692ef99275e8f38f1b860ea0ba4b"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/filter.rs: crates/libs/bindgen/src/filter.rs changed 8 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 34 in Filter::register_member at line 389. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/filter.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter.rs"},"region":{"startLine":389}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d56c3515051d128799803ae01844d4d4f86bf41a5f3028a0737baa623deb60b"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/rdl/src/reader/interface.rs: crates/libs/rdl/src/reader/interface.rs changed 6 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 45 in Encoder::encode_interface at line 108. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/rdl/src/reader/interface.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/interface.rs"},"region":{"startLine":108}}}],"partialFingerprints":{"codehealthFindingId/v1":"041c2f719cac71c49aaab2700f169a64b8ca06196165a523c3383f0433b17b18"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/types/cpp_struct.rs: crates/libs/bindgen/src/types/cpp_struct.rs changed 11 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 24 in CppStruct::write_with_cfg at line 169. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/types/cpp_struct.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_struct.rs"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"70a5bcf13fac1b4428b0fe84f779c264718ab2c9f5f0f94c1412b43a421250e1"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/wincodec/mod.rs: crates/libs/windows/src/Windows/Win32/wincodec/mod.rs changed 9 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 26 in IWICImagingFactory_Vtbl::new at line 4010. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/wincodec/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wincodec/mod.rs"},"region":{"startLine":4010}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b099876a80d38e740dd284cd647ed47d1188bdacabe91fff69c790f7ba241bf"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/samples/windows/direct2d/src/main.rs: crates/samples/windows/direct2d/src/main.rs changed 10 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 23 in windows_direct2d::main at line 1. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/samples/windows/direct2d/src/main.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/samples/windows/direct2d/src/main.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"26d288b3c0dd32d51a6f3c8f936beb92a326da3a450477a4dc98fbd4252fec29"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/tom/mod.rs: crates/libs/windows/src/Windows/Win32/tom/mod.rs changed 6 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 36 in ITextRange_Vtbl::new at line 4981. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/tom/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/tom/mod.rs"},"region":{"startLine":4981}}}],"partialFingerprints":{"codehealthFindingId/v1":"f94bd0b1348ac2b3b662360541efebaf81d9c8892b66b714d26cacc6b9c9ded4"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/sapi/mod.rs: crates/libs/windows/src/Windows/Win32/sapi/mod.rs changed 11 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 19 in ISpeechRecognizer_Vtbl::new at line 13073. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/sapi/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/sapi/mod.rs"},"region":{"startLine":13073}}}],"partialFingerprints":{"codehealthFindingId/v1":"57f0fcff9c3f1e5c74acbefa6e920b747ba7388e1f090c91b09cf5013607b383"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/urlmon/mod.rs: crates/libs/windows/src/Windows/Win32/urlmon/mod.rs changed 9 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 23 in IUri_Vtbl::new at line 4213. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/urlmon/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/urlmon/mod.rs"},"region":{"startLine":4213}}}],"partialFingerprints":{"codehealthFindingId/v1":"c044c15d5d23e7360a94e78a177c1146eae6b9b8843716a4a329b66c033595ae"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/cli.rs: crates/libs/bindgen/src/cli.rs changed 7 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 29 in windows_bindgen::cli::bindgen at line 78. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/cli.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/cli.rs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9f782ce94f2c378192c9004c22a441eb183f0cd91c95fe70e25e159c5fbdb55"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/reactor/src/core/pump/planner/element.rs: crates/libs/reactor/src/core/pump/planner/element.rs changed 5 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 40 in Pump::reconcile_node at line 111. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/reactor/src/core/pump/planner/element.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/element.rs"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8748c47b6789054576d51b6c30b5aa571bd022ab9791b14b489b6f8106ec736"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/dwrite/mod.rs: crates/libs/windows/src/Windows/Win32/dwrite/mod.rs changed 11 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 17 in IDWriteFactory_Vtbl::new at line 2042. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/dwrite/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dwrite/mod.rs"},"region":{"startLine":2042}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb04412049759074130a4bba4112137002c58ec85b7910daf007fa0bd07c683c"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/samples/windows/direct3d12/src/main.rs: crates/samples/windows/direct3d12/src/main.rs changed 12 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 15 in windows_direct3d12::main at line 1. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/samples/windows/direct3d12/src/main.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/samples/windows/direct3d12/src/main.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e844b0eb6c69cb988b4b85791281c8a1c2daef2a7be09ceda19c5bec39f2530"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/d2d/mod.rs: crates/libs/windows/src/Windows/Win32/d2d/mod.rs changed 11 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 16 in ID2D1DeviceContext_Vtbl::new at line 4000. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/d2d/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/d2d/mod.rs"},"region":{"startLine":4000}}}],"partialFingerprints":{"codehealthFindingId/v1":"8bbf23d09a1a86916f4c6dd4fb0facf5a18368bfd6bb47768d1843bee22ca708"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/dcomp/mod.rs: crates/libs/windows/src/Windows/Win32/dcomp/mod.rs changed 8 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 22 in IDCompositionDevice_Vtbl::new at line 1353. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/dcomp/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/dcomp/mod.rs"},"region":{"startLine":1353}}}],"partialFingerprints":{"codehealthFindingId/v1":"28bb2fc1b1f52923ad847afdbc437de9609055528b88a55636eb4f0e0dfc8e99"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/winmd/reader.rs: crates/libs/bindgen/src/winmd/reader.rs changed 6 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 26 in Reader::from_index at line 57. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/winmd/reader.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/winmd/reader.rs"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b6359e60be2f3148b361ab93415065f8690885449346269c0b11929f953da32"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/types/cpp_fn.rs: crates/libs/bindgen/src/types/cpp_fn.rs changed 10 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 15 in CppFn::write at line 151. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/types/cpp_fn.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/types/cpp_fn.rs"},"region":{"startLine":151}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf523410f3501925b9a24b0ef37afd8c712ecef56f7eb4a364e9a546b0eb5b73"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/metadata/src/writer/file/rec.rs: crates/libs/metadata/src/writer/file/rec.rs changed 4 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 36 in Records::into_stream at line 197. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/metadata/src/writer/file/rec.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/metadata/src/writer/file/rec.rs"},"region":{"startLine":197}}}],"partialFingerprints":{"codehealthFindingId/v1":"670a70ea943da23ee7fb42254225109b51a556862238ffdddfd4d6abff066f33"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/reactor/src/core/pump/turn.rs: crates/libs/reactor/src/core/pump/turn.rs changed 5 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 27 in Pump::try_local_component_update at line 223. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/reactor/src/core/pump/turn.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/turn.rs"},"region":{"startLine":223}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a1300c3a31002f781c6c1351bb27f5246732fd26694833fccf89bbedc891fc7"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/tools/reactor/src/generate_surface.rs: crates/tools/reactor/src/generate_surface.rs changed 7 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 19 in tool_reactor::generate_surface::generate at line 10. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/tools/reactor/src/generate_surface.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/tools/reactor/src/generate_surface.rs"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a1e905e42cfd6d3a431b95d9f5b5dce81ddf92bb8f84591b0790aaf9e1c6203"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/taskschd/mod.rs: crates/libs/windows/src/Windows/Win32/taskschd/mod.rs changed 6 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 21 in ITaskSettings_Vtbl::new at line 5831. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/taskschd/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/taskschd/mod.rs"},"region":{"startLine":5831}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5700c324bd10e95fdea621fe9ad9225772b0ff1cdb43593410a189b7ae061f6"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/package_writer.rs: crates/libs/bindgen/src/package_writer.rs changed 5 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 25 in Config::write_package at line 101. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/package_writer.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/package_writer.rs"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"c89210d11f69975660eb842673034a28ddcb45f0968d777a89cde761daf0f0b9"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/reactor/src/core/engine/mod.rs: crates/libs/reactor/src/core/engine/mod.rs changed 8 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 15 in NodeData::kind at line 81. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/reactor/src/core/engine/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/engine/mod.rs"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d564452cac383ac0e5a2d9607166be1ace09d369b77d3beab5962800dfbf4d0"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/reactor/src/core/pump/planner/topology.rs: crates/libs/reactor/src/core/pump/planner/topology.rs changed 5 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 22 in Pump::native_attachment at line 142. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/reactor/src/core/pump/planner/topology.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/core/pump/planner/topology.rs"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"70f8154e7397caa0e4904cec94992386a4d7509b054058e0567a1f3b961a2ac6"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/wbemdisp/mod.rs: crates/libs/windows/src/Windows/Win32/wbemdisp/mod.rs changed 5 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 21 in ISWbemDateTime_Vtbl::new at line 374. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/wbemdisp/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/wbemdisp/mod.rs"},"region":{"startLine":374}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc2404c76688104dff48884edd21108732603e24c8141abee3e084c05add5e45"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/vsbackup/mod.rs: crates/libs/windows/src/Windows/Win32/vsbackup/mod.rs changed 6 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 17 in IVssBackupComponents_Vtbl::new at line 563. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/vsbackup/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/vsbackup/mod.rs"},"region":{"startLine":563}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c329ccee6e3396659859bbee8d64d36d2cb83a378ccce8830a389ff406408c8"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/certenroll/mod.rs: crates/libs/windows/src/Windows/Win32/certenroll/mod.rs changed 5 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 19 in IX509EnrollmentPolicyServer_Vtbl::new at line 12055. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/certenroll/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/certenroll/mod.rs"},"region":{"startLine":12055}}}],"partialFingerprints":{"codehealthFindingId/v1":"1401b20c767c392a62f50b701349c5ccf783791ac8ace17e9af7c41b7ab4b813"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/imapi2/mod.rs: crates/libs/windows/src/Windows/Win32/imapi2/mod.rs changed 6 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 15 in IDiscRecorder2_Vtbl::new at line 3334. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/imapi2/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/imapi2/mod.rs"},"region":{"startLine":3334}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae532f8168d86777127382a0662411fee72f9cb0c5029ffc814c792c09b955dc"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/reactor/src/app/test.rs: crates/libs/reactor/src/app/test.rs changed 5 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 17 in windows_reactor::app::test::schedule_live_probe at line 188. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/reactor/src/app/test.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/reactor/src/app/test.rs"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"d643cf8d2ff52c6d9078aeb89097969d47e685d1640a1d7af2573bcfbe91ba2f"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/bindgen/src/filter_parser.rs: crates/libs/bindgen/src/filter_parser.rs changed 5 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 17 in windows_bindgen::filter_parser::resolve_one at line 171. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/bindgen/src/filter_parser.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/bindgen/src/filter_parser.rs"},"region":{"startLine":171}}}],"partialFingerprints":{"codehealthFindingId/v1":"d09d59ed6968b8a95ed30a618837f6948805c0bbcdc665a2e8526a376f109b0f"}},{"ruleId":"D15","level":"warning","message":{"text":"Hotspot: crates/libs/windows/src/Windows/Win32/shldisp/mod.rs: crates/libs/windows/src/Windows/Win32/shldisp/mod.rs changed 5 times in last 90 days, and the most complex body those changes touched has cyclomatic complexity 15 in FolderItem_Vtbl::new at line 744. Frequent change and high complexity in one file compound: schedule the next change to it to include carving out the part being edited, with the area under test before it moves. Counted over 2026-06-20..2026-09-18, the 90 days ending at the analysed commit. Reproduce with \u0060git log --since=\u00272026-06-20 21:54:28 -05:00\u0027 --until=\u00272026-09-18 21:54:28 -05:00\u0027 --full-history --no-merges -- crates/libs/windows/src/Windows/Win32/shldisp/mod.rs\u0060: merges are excluded because a merge re-states changes already counted at their own commits, and history is NOT path-simplified because a change that reached the file through a merged branch is still a change to it. That command counts raw commits and can read HIGHER than this row, which counts a cherry-picked re-land, and a revert together with the commit it undoes, once each \u2014 a difference of several commits on a file whose history was re-landed or reverted inside the window."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/windows/src/Windows/Win32/shldisp/mod.rs"},"region":{"startLine":744}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4672cef65a705d2068022a4c63b75d8e4a7edfc9c61a8b3d033716a7356e088"}},{"ruleId":"D19","level":"note","message":{"text":"Documentation: no architecture or design documentation: The README omits architecture/design documentation for the Windows metadata pipeline (headers -\u003E RDL -\u003E winmd), which is present in the referenced architecture/Docs markdown files."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"docs/readme.md"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9df327268b79693d8b2e233deaa89fafe864a791fe075ec362c205906644cb88"}},{"ruleId":"D22","level":"warning","message":{"text":"Inconsistent naming for adding transitions to a storyboard. \u0060Manager\u0060 uses \u0060schedule_transition\u0060, while \u0060Storyboard\u0060 uses \u0060add_transition\u0060 and \u0060add_transition_at_keyframe\u0060. The verb \u0027schedule\u0027 implies immediate execution or queueing, while \u0027add\u0027 implies construction. Furthermore, \u0060Manager\u0060 takes a \u0060time\u0060 parameter directly, whereas \u0060Storyboard\u0060 uses a \u0060Keyframe\u0060 object for timing, creating a conceptual mismatch in how time is specified.: Unify the naming on the \u0060Storyboard\u0060 type to use \u0060schedule_transition\u0060 and \u0060schedule_transition_at_keyframe\u0060 (or \u0060schedule_transition_at_time\u0060) to align with the \u0060Manager\u0060\u0027s terminology, or rename \u0060Manager\u0060\u0027s method to \u0060create_transition\u0060 if it is purely a builder operation. Clarify if \u0060Manager.schedule_transition\u0060 is a convenience wrapper that delegates to \u0060Storyboard.add_transition\u0060. (signatures: Manager.schedule_transition(variable: Variable, transition: Transition, time: f64): Result | Storyboard.add_transition(variable: Variable, transition: Transition): Result | Storyboard.add_transition_at_keyframe(variable: Variable, transition: Transition, keyframe: Keyframe): Result)"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"b6cae972436af6ccb2f014b36494dc66e64eaf5955ec9327f0780cbe6c87d140"}},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"efa4601ba93a06a6744639667a9a6b712eb5657bc67aa14ecb40ff65ea737fa8"},"taxa":[{"id":"CWE-78","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d5b8f11381d61a58459ffc7c595fd52d09c03c711894a63a9578043d2338412b"},"taxa":[{"id":"CWE-829","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"e83c78305fa76a1bae542950b66b7c9e859499688766a9ee70014fea339fa1d8"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d642151794f3e8bf1e3b3ff71297dd5957ca7375f209f3c4f1bf239f2f03ddb1"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d01338c8e68f61d5b9beea90b7d721212a2f828270fdc2b36b5fbd07b907b245"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8bd2b79dcd8c294bfe429f311a7dac476ebe0df791a0787dc3ee221405f9e32b"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"a1ad8fe129743151104198193dec4a07c863b1ce11909fc2c88a59a705b9b00f"},"taxa":[{"id":"CWE-494","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d0dd8b5495b54c2e555eec2a12bcf56b4eddae1d54b92ed5b0f2d3749ddf441c"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"136aa9af391396e19353563470dbe72cb4ca9d1a81dfac5088d55b0ab4dcd5df"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"6f87c246bc976b80a2f9a95c7085eb31f6d2ea23313eab762a8cfab74e7868df"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"723389af67902326517629d072e110f82594a311440fd1f175feb1a1fe63660e"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"0c6d5e1da48157a9807be7e3e3cfc00a425b3bbe5a77575132d6011dc2c22fe8"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ec195010e0afe9eb262c12b238d3a3203c64417ab01cbdd5d44bb4bd0c282bdb"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ae45c4ffa462e6125173fb5943f5c5c0b534e9852bc28938ff036f9c1be5f54e"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"980970fd81047fa733528120ca629cdc78fa7af7b9b2df36c0ed0438dd76403a"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ab05d8a5d737594e089fe2347ad98f6ada2456d607ef7764e922c36cfae9ca54"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"495b585f858747e92ff5dc25dc82ee59245da1f1e7597fffdc2c2d4d823da722"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3915d78d0590be90085b85b9758dd5e28b47d9eb34aa29f33b669ed08e33fbb2"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"eba3dcd865689bda3190a6b410c1f224f885f4eaaeb4799e259eb2b4de8d80f3"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f09d2cb36328c95be388e1a9fbc6107d30364c4db31a5492ecab7e9e738656c3"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"80ac225750874e3ea771fc60216321a6c4b831c773cafcccceb552d8d0858313"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d3fad052c44faf66b95842fab144919dbd170afa14595e82aa40b2ec7c151526"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"2f233b1587fe030900b1da1f8a7c5f01c60b6ead879dff8f4508615734da71dc"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"de5e26ee382774372956e9c7ae93ce2ac5e403fe5ccd5bf70559f86f3bfada3f"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"49eaca67745d5e746f1643ce94f4865578e65c7916cb0742a2e69a5d00e9b7ab"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"81f962e79da41cc9b56c43cb6b05ee17f45220e4133782b881311e0b89af4aa7"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"7285dcfa4f9e9344a70e361bcb96d4cb6c54bfde7667accda974633833a4881d"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"baa2cbc73fd67ffca9dd3a071380009b48c5c2c2f518a2caed253fad8e862d1e"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"4fbc6df3d72864219648f8a5e2a3fe4857d204776cc76785ab693bf45ade35c2"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"82a53597e74b42cc7aca537475ad336401dfa50b34f6b79c26ac0a56bafa38cb"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"c67954a026fdd750d0a6b053b1bb8620c18f32596db528519b6ece6e6d09ebef"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"51fb65ce18418f844873abb5a7d35ff0f1b15f2fc7547609cf151d57d5db1c34"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"59b503bdf68eccf77d2876932fbb29e7d45c84f282a3c94af56222c3eea3df36"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9fca1ddc7385a1b62fe6d81ec250c7aa0ffc5be0b6ed5577a045503a6b72e8b1"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"403b0aa1b7af5cf6ed7712129b57499466d7b3b9b294b1570667879c652df9bd"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"674ed4da75023369c7223aff45a1da738e5ba0f14c1e2edde5f10aaf0178aa5a"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"301984f0e72c5e420e1df29b7b2e2b3a8a57d3ac350f1b35348b98cf95bc2fbb"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"f8db51d13e2341e7480e03b183c9ac6ef6654d70589b25fee36d65c4991b5390"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8f51d79d11ed635483a947de3bdc58d92da68154e2e742c03eb2ad9824c4118f"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"51deb5f11d29da72484d112de68af7e38e0a51818f441a6e0dd487a6031a58d2"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"86f2130772dcaee755750b649d5b6d962098cc8a941f085f680bdabcb3329507"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"b5179306bd7b163721445b277e205d10d0e87efc1add88e394519fd222f375f8"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"bcdd85dc9dd24c7776a2f762e8b1feeeb5f3183abb3fa523bc584d97bdfe3ac4"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"06105e82d1fc8067ff0c54111abe27143d3e7d6f5d6c0676bde895962a3295af"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d6195e318bca2b3cc92b3d81eea19e72b4118d8fa7c62d100e78e6ac8fa63473"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"64b37962863f85e21f0f4152e0296d8c4bd9494b12c387940b3099b8c531d19d"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-353","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D34","level":"note","message":{"text":"Orphaned files with no living knowledge: 1 of 1456 analysed file(s) have no living knowledge left \u2014 their last meaningful change has decayed away, so if one breaks, no one currently understands it (counted over production source files of roughly 2,400 bytes or more, excluding vendored, generated and example/demo trees and test files identified by path convention, largest first; 1456 of the 1848 production source files in this repository met that bar). None is large enough to earn a read-through of its own, so this row stands in for the per-file rows rather than raising one each \u2014 most significant first: crates/libs/core/src/compose.rs. Attach the read to the next change that touches one of them: have a second person review that change, and leave behind a short comment or test recording what the file is for, so the knowledge comes back at the cost of a change you were making anyway."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"ce861fd78f6935114d3a342cb90ad25870f984e1042954fcbbe27c0e23be3658"}},{"ruleId":"D35","level":"warning","message":{"text":"Change coupling: lib.rs \u2194 lib.rs: \u0060crates/libs/sys/src/lib.rs\u0060 and \u0060crates/libs/windows/src/lib.rs\u0060 change together 79% of the time (11 of the 14 commits that touched whichever of the two files changed less often, counting a file under its earlier names as well \u2014 a repo-wide or module-wide sweep is evidence about the sweep rather than about any pair inside it and is left out of BOTH sides of this ratio, while a dependency bump, a formatter/rename sweep, or a commit whose edit to one of the two files was a tool directive such as //go:generate or whitespace only is left out of the shared count ONLY, so the two sides are not taken over identical commit sets) with no explicit dependency \u2014 the edge is real but nothing declares it. Read the pair before acting: if one registers itself into the other through a hook or an initialiser, the missing dependency is DELIBERATE \u2014 the registration is the link, and it is meant not to be an import \u2014 and the thing to add is a comment on each side naming the other, not a merge; if they simply belong together, co-locate them; if neither holds, the coupling is hidden and worth breaking. You can check this without leaving the row: of the 11 shared commits counted here, the most recent 3 are \u00608bc13e58\u0060 Remove \u0060improper_ctypes\u0060 workaround (#3296); \u0060bca9a76f\u0060 Address Rust nightly compiler warnings (#3292); \u0060f766e5ae\u0060 Remove unnecessary doc attributes (#3206) \u2014 run \u0060git show\u0060 on any of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/sys/src/lib.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fdc1e227bdbe92e57bf96f57dce1bc566f967328832e59f3200dcf4f5df1be68"}},{"ruleId":"D35","level":"warning","message":{"text":"Change coupling: interface.rs \u2194 interface.rs: \u0060crates/libs/rdl/src/reader/interface.rs\u0060 and \u0060crates/libs/rdl/src/writer/interface.rs\u0060 change together 53% of the time (8 of the 15 commits that touched whichever of the two files changed less often, counting a file under its earlier names as well \u2014 a repo-wide or module-wide sweep is evidence about the sweep rather than about any pair inside it and is left out of BOTH sides of this ratio, while a dependency bump, a formatter/rename sweep, or a commit whose edit to one of the two files was a tool directive such as //go:generate or whitespace only is left out of the shared count ONLY, so the two sides are not taken over identical commit sets) with no explicit dependency \u2014 the edge is real but nothing declares it. Read the pair before acting: if one registers itself into the other through a hook or an initialiser, the missing dependency is DELIBERATE \u2014 the registration is the link, and it is meant not to be an import \u2014 and the thing to add is a comment on each side naming the other, not a merge; if they simply belong together, co-locate them; if neither holds, the coupling is hidden and worth breaking. You can check this without leaving the row: of the 8 shared commits counted here, the most recent 3 are \u00608d9839a4\u0060 feat(rdl): add property and event shorthand syntax for interfaces (#4\u2026; \u006025089b65\u0060 windows-rdl: Add #[guid(u128)] and #[no_guid] pseudo-attributes for i\u2026; \u0060a383edcf\u0060 \u0060windows-rdl\u0060 should optionally infer GUIDs for interfaces and WinRT \u2026 \u2014 run \u0060git show\u0060 on any of them."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"crates/libs/rdl/src/reader/interface.rs"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"876c703b7a233244da98d761d7ef333c0b094008bdef4dadb4aaae2d9d713733"}},{"ruleId":"D36","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"1b213f6eedd4b140d0bc37bdf1496f72811a643f34064f12518b32e9e83bcfc7"}},{"ruleId":"D36","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"0e17f71490e4d120a48b2b2881ab866c93b272bef2febb673a3e8e42b2c288ab"}},{"ruleId":"D36","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"eb00976a698a5d68999b7ee6d27206fd374e916853e7ff1ead5eed42386f043f"}},{"ruleId":"D36","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"90f83b4fa27db32740afe9540c905f3c0499caed87f61049a8a903ecc95b41c3"}},{"ruleId":"D36","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"5754c41696a8f3c51bda22f396d4a52e2119cf4303ddae084fd4ffe3f38b0756"}},{"ruleId":"D36","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"0752d0df7434000fcabf1048e2de30a7a1a8b982b3db9a19898c4dec199856b4"}},{"ruleId":"D36","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"4f1e7684f8281bd255ddef97105c7055c2ebae06964c8745716b83e174debe83"}},{"ruleId":"D44","level":"warning","message":{"text":"End-of-life runtime: .NET net9.0: crates/samples/robot/client_cs/client.csproj declares .NET net9.0 as this project\u0027s target framework, and .NET 9 STS, support ended 2026-05-12. An unsupported runtime receives no security patches, so every vulnerability disclosed in it since 2026-05-12 is present and unfixable without moving off it. This is a migration rather than an upgrade: there is no newer release of a runtime that has ended."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"cf833dd2e60d7abeaab60bf3ef76eff2806e8ec26408f1f9382eb19e6e5923da"}},{"ruleId":"M1","level":"warning","message":{"text":"README may be stale: 2622 code files changed in the last 6 months but the README was not touched \u2014 it may no longer reflect the system."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"e973e7a8d5d866995cbf78b120250fe7f132bf928812d48ca62e69aba11b9910"}},{"ruleId":"M2","level":"note","message":{"text":"No ADRs: No Architecture Decision Records found \u2014 no conventional ADR directory, no numbered \u0060NNNN-title\u0060 documents in any markup this check reads, and nothing ADR-shaped by content. Design rationale recorded elsewhere (a design-notes tree, a mailing list, pull-request discussion) is not visible to this check and is not re-findable per decision, so a future maintainer cannot ask why one choice was made and get an answer."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"670b3d6e36a756d63097d0dfbf90afd5fc761308800b9354894a07c3f4e4aa14"}},{"ruleId":"M3","level":"note","message":{"text":"Inconsistent root namespaces: Only 2/4 projects share a common root namespace \u2014 the code\u0027s module identity is inconsistent."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"c8031c9fb77ad97c2e4a8ddb29978f4bf30140d481913bd7fde8b5adbbb83ede"}},{"ruleId":"P12","level":"warning","message":{"text":"Coverage collected but not gated: CI collects a coverage report but no step enforces a minimum \u2014 coverage could halve and CI stays green. Add a step that fails the build when coverage drops below a floor (your coverage tool\u0027s minimum-threshold flag, or a coverage-gate action) so the number guards something. What was searched, so you can tell an absence from a miss: this repository\u0027s CI files AND its coverage configuration \u2014 the well-known coverage and test-runner config files, read at the repository root and inside workspace package directories two levels down, so a floor declared beside the tests rather than in the pipeline is credited \u2014 matched against the threshold settings this check knows by name. A floor set in your coverage service\u0027s web UI rather than in a committed file, or under a setting whose name is not one of those, is not seen here."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"7f63c06044cf998d9a0698692df30d8873e29bc9b0c98ee829255017c1193d33"}},{"ruleId":"P2","level":"warning","message":{"text":"No structured logging: No logging or diagnostics emission found. This repository ships a binary its users launch rather than a service you operate, so there is no operator to page \u2014 but when a run fails on a user\u0027s machine, neither they nor you have anything to read."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"9f10d71351c6778ebe84e761f82a90d4f9ed6c64f5e01975ede8fda7e4e2ebc5"}},{"ruleId":"P6","level":"note","message":{"text":"No changelog: No CHANGELOG/HISTORY/RELEASES file \u2014 what shipped when isn\u0027t easy to reconstruct for support or audit. (Versioning/tagging makes releases traceable, but a changelog records the what.)"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"dda5aa5aed8cbb292c3ef2b733bc138f614293ae6426c85e98bf31ef330d9415"}},{"ruleId":"SC1","level":"warning","message":{"text":"NuGet dependencies are not locked: No packages.lock.json and no central package management \u2014 restores aren\u0027t reproducible or pinned (SSDF PW.4.4). Enable \u003CRestorePackagesWithLockFile\u003Etrue\u003C/RestorePackagesWithLockFile\u003E (commit the lockfile) or adopt Directory.Packages.props. Advisory \u2014 never scored."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"0a97b4f69ccac509400ece7eedefb06d3ede0522cd4d8bcb5c068bea719545a6"}}],"taxonomies":[{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d","organization":"MITRE","informationUri":"https://cwe.mitre.org/","isComprehensive":false,"shortDescription":{"text":"The MITRE Common Weakness Enumeration (CWE)."},"taxa":[{"id":"CWE-1357","guid":"e4d2e772-757e-0a5c-bd7d-77052949d866","name":"Reliance on Insufficiently Trustworthy Component","shortDescription":{"text":"Reliance on Insufficiently Trustworthy Component"},"helpUri":"https://cwe.mitre.org/data/definitions/1357.html"},{"id":"CWE-259","guid":"ae9ad959-fbb6-9d5e-892d-3dca66da0b69","name":"Use of Hard-coded Password","shortDescription":{"text":"Use of Hard-coded Password"},"helpUri":"https://cwe.mitre.org/data/definitions/259.html"},{"id":"CWE-353","guid":"09d7e902-d4ee-f05d-ae6c-0a1554d0c18f","name":"CWE-353","shortDescription":{"text":"CWE-353"},"helpUri":"https://cwe.mitre.org/data/definitions/353.html"},{"id":"CWE-494","guid":"b8a65e0d-e459-4a55-a931-fc1136482375","name":"Download of Code Without Integrity Check","shortDescription":{"text":"Download of Code Without Integrity Check"},"helpUri":"https://cwe.mitre.org/data/definitions/494.html"},{"id":"CWE-77","guid":"332c8ade-6612-9f56-a06b-d8d90b1a8750","name":"Command Injection","shortDescription":{"text":"Command Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/77.html"},{"id":"CWE-78","guid":"2e31ceaf-c7ae-2e5e-9661-cfb1362789cf","name":"OS Command Injection","shortDescription":{"text":"OS Command Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/78.html"},{"id":"CWE-79","guid":"fd45580b-e8c4-fc5e-8c2f-aa8fab0b4dbf","name":"Cross-site Scripting (XSS)","shortDescription":{"text":"Cross-site Scripting (XSS)"},"helpUri":"https://cwe.mitre.org/data/definitions/79.html"},{"id":"CWE-798","guid":"5e8f057d-fee3-995a-a0cb-9fc5b0d174d1","name":"Use of Hard-coded Credentials","shortDescription":{"text":"Use of Hard-coded Credentials"},"helpUri":"https://cwe.mitre.org/data/definitions/798.html"},{"id":"CWE-829","guid":"13c33925-97fb-5a5e-b40c-56d328b8a4d7","name":"CWE-829","shortDescription":{"text":"CWE-829"},"helpUri":"https://cwe.mitre.org/data/definitions/829.html"},{"id":"CWE-89","guid":"6d08fdad-37eb-c150-bbf0-d7d946863407","name":"SQL Injection","shortDescription":{"text":"SQL Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/89.html"},{"id":"CWE-94","guid":"75e7f50c-6c2f-dd52-bf40-bf6c52b861fd","name":"Code Injection","shortDescription":{"text":"Code Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/94.html"}]}],"properties":{"codehealthPublication":{"public":true,"notice":"This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings \u2014 which rule fired, in which file, on which line, and how to fix it \u2014 are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.","securityFindingsRedacted":105,"secretScannerRunsExcluded":0}},"redactionTokens":["A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."]}]}