You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Clone sweep goes quiet when two new siblings share a divergence #200
Found while adding the float families (#153, PRs #198 and #199).
CloneDivergenceTests / dotnet run tools/oracles.cs clones report a member only where one sibling differs from the family consensus (lone body, extra, missing). When Float64Range/Float64Set landed alone, the sweep listed 28 divergences (the finite guard, the non-positional unbounded variants, the float8out formatter, …), each waived with a reason. Adding Float32Range/Float32Set — which share every one of them — made 24 of those divergences disappear and their waivers go stale, and the sweep accepted that. The same happened earlier on a smaller scale: StringSet's NormalizeElement waivers went stale once Float64Set also had a NormalizeElement.
So two hand-copied siblings that drift together from the family are invisible to the sweep, which is exactly how a pair added in one change (or a defect copied into two siblings) would look.
Possible directions: report a member present in a minority (say, fewer than a third of the family) rather than in exactly one sibling; or key waivers by member and accept a set of units, so a waiver names both floats and fails as stale only when neither diverges any more.
Done when the float pair's shared divergences are reported (and waived once, naming both units), with a seed that copies a defect into two siblings and is caught.
Activity
test: waive the integer ranges' Values($T) step overload
Merge feat/float64-range into feat/float32-range: Float32Range takes …