pie_core 0.2.12

A high-performance, index-based data structure toolkit. Provides an arena allocator (ElemPool) used to build a cache-friendly PieList (doubly-linked list) and FibHeap (priority queue).
Documentation
# To Do List for `pie_core`

These are suggestions for improvements:

## Completed

- [x] pool.shrink_to_fit(): An advanced method to reclaim unused memory from the end of the pool's vector.
- [x] Serialization support via optional `serde` feature.
- [x] `no_std` support: Enable usage in embedded contexts (via `default-features = false`).
- [x] Add `PieView<'a, T>` to bundle a PieList with its ElemPool for common traits.
- [x] Add `PieViewMut<'a, T>` for mutable operations.
- [x] "View" Pattern: Implement `list.view(&pool)` that implements Debug, IntoIterator, PartialEq, and Ord.
- [x] Documentation: Explain why standard traits (like Drop) are missing to manage user expectations.
- [x] `ExactSizeIterator` implementation for `Iter`, `IterMut`, and `Drain`.
- [x] Optimize `sort()` to use bottom-up iterative merge sort with O(log n) sentinel reuse.
- [x] Add `#[inline]` annotations to hot-path accessor methods (`front`, `back`, `push_*`, `pop_*`, cursor `peek`/`move_*`).
- [x] Optimize `shrink_to_fit()` with O(1) slot-indexed remapping array instead of hash map lookups.

## Pending

### Testing

- [ ] Add more comparative tests against `index_list`.
- [ ] Add property-based testing with `proptest` or `quickcheck` for complex invariants.
- [ ] Add tests for edge cases: maximum pool size, generation counter overflow.

### Documentation

- [ ] Add a `CHANGELOG.md` for version history tracking.
- [ ] Add usage examples in README for the `petgraph` feature (Dijkstra example).
- [ ] Document performance characteristics with benchmark results in README.

### API Enhancements

- [ ] Add `try_push_back` / `try_push_front` variants that return `Result` instead of panicking on OOM.
- [ ] Include diagnostic information (slot/generation) in `DecreaseKeyError::InvalidHandle`.
- [ ] Consider adding `FusedIterator` implementation for iterators.
- [ ] Add `retain()` method to `PieList` for filtering elements in-place.