Commit 93b8f90
docs(BTree): stop conflating a null key with default(TKey)
Comparer<T>.Default orders null before every non-null value, which is what
makes a null key or element legal here — but that says nothing about
default(TKey) for a value type: default(int) is 0, and sorts after every
negative key like any other. The B-trees have no out-of-band default slot at
all, unlike the hash-based family, so default(TKey) is simply an ordinary key.
Reworded in the BTreeDictionary / BTreeSet / DefaultComparer XML remarks and
in both places in docs/api/collections.md, and renamed the two tests whose
names claimed default(TKey) sorts first (the assertions were already correct:
0 lands between -5 and 5).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 33e8e6d commit 93b8f90
6 files changed
Lines changed: 21 additions & 13 deletions
File tree
- docs/api
- src
- Celerity.Tests/Collections
- Celerity/Collections
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3781 | 3781 | | |
3782 | 3782 | | |
3783 | 3783 | | |
3784 | | - | |
| 3784 | + | |
3785 | 3785 | | |
3786 | 3786 | | |
3787 | 3787 | | |
| |||
3859 | 3859 | | |
3860 | 3860 | | |
3861 | 3861 | | |
3862 | | - | |
| 3862 | + | |
3863 | 3863 | | |
3864 | 3864 | | |
3865 | 3865 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
396 | 396 | | |
397 | 397 | | |
398 | 398 | | |
399 | | - | |
| 399 | + | |
400 | 400 | | |
| 401 | + | |
| 402 | + | |
401 | 403 | | |
402 | 404 | | |
403 | 405 | | |
| |||
410 | 412 | | |
411 | 413 | | |
412 | 414 | | |
413 | | - | |
| 415 | + | |
414 | 416 | | |
415 | 417 | | |
416 | 418 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
249 | | - | |
| 249 | + | |
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
82 | 84 | | |
83 | 85 | | |
84 | 86 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
71 | | - | |
72 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
73 | 75 | | |
74 | 76 | | |
75 | 77 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
33 | 35 | | |
34 | 36 | | |
35 | 37 | | |
| |||
0 commit comments