- Removed unused constants and redundant imports.
- Eliminated debug print statements from the `search` module.
- Added `#[allow(dead_code)]` annotations to suppress warnings for unused functions.
- Made `Tree` and `as_subtree_mut` public
- Replaced `InternalNode` with a unified `LeafNode` structure to simplify
the node hierarchy and reduce redundancy.
- Introduced `capacity` field in `LeafNode` to dynamically manage keys
and edges, replacing fixed-size arrays.
- Added methods for growing node capacity and handling dynamic memory
allocation for keys and edges.
- Updated `NodeRef` methods to work with the new `LeafNode` structure,
including safe handling of raw pointers and memory operations.
- Adjusted tests to reflect the new node structure and ensure correctness.
- Introduced `into_value_mut` for mutable value access in `Handle`
- Added `into_subtree` for converting OccupiedEntries into mutable subtrees
- Refactored `SubtreeMut` into a generic `Subtree` supporting borrow types
- Implemented `get_subtree` and `get_subtree_mut` for subtree traversal
- Updated `Tree` to use the new `Subtree` abstraction
- Introduced `SubtreeMut` for encapsulating mutable subtree operations
- Simplified `Tree::entry` by delegating to `SubtreeMut::entry`
- Removed redundant and commented-out code for clarity
- Added `Handle::value_mut` for mutable access to node values
- Refactored `InternalNode` initialization and parent-child relationships
to improve clarity and safety.
- made `InternalNode` `repr(C)` because I was stupid
- Added `reparent` method to simplify node reparenting logic.
- Introduced `as_leaf_non_null` for safer leaf node handling.
- Updated test utilities to streamline insertion and debugging.
- Added a new test case `promote_leaf` to validate leaf promotion logic.
- Add `Debug` implementations for tree-related structs and enums
- Introduce new methods for node manipulation, including `make_internal_node`
- Refactor `Tree::entry` to support key insertion and retrieval
- Improve internal node handling with enhanced parent-child link management
- Add test cases for tree operations and debug output
- Added support for `maybe_uninit_slice` feature in `lib.rs`
- Introduced `Borrow` and `Ordering` imports in `tree.rs`
- Refactored marker structs and renamed `KV` to `Value`, `Immutable` to `Immut`
- Updated `LeafNode` to use `Option<MaybeUninit<V>>` for value storage
- Simplified `NodeRef` type parameters and added `Sync` and `Send` implementations
- Enhanced `Handle` with `new_value` method for value handling
- Added methods for parent link correction and child link management
- Implemented `search` module for tree traversal and key lookup
- Introduced `entry` module for managing vacant and occupied entries
- Added `DormantMutRef` utility for safe mutable reference reborrowing
- `NextIf` iterator trait that yields the next element iff some predicate holds
- `u64_from_u32s`, `u32s_from_u64`, `u32_from_u16s`, `u16s_from_u32` functions
- moved `can_transmute` to `mem` module, added `is_same_size` and `is_aligned`
functions
- `copy_from` function for `TaggedAtomicPtr`
- attempt at a sync queue?
- `is_whitespace` function