2.0 KiB
2.0 KiB
refactor
- try to remove unnecessary uses of cloned()
- use expand, expand_cloned and cloned_bounds everywhere
- replace instances of |(key, _)| with fn first()
- rename insert_overwrite to insert_forceful
- make all iterators cutsom types as is standardised in libraries for some reason(?)
- take a look around idiomatic rust for a bit
- review method parameter names for all public functions
- make try_from_bounds trait return TryFromBoundsError rather than mapping the option all the time
optimisations
- make a StartBoundWrapper that uses BoundOrd to implement ord and use that instead of storing the startbound twice
Documentation
- replace
RangeBounds
withK
where applicatble in docs - replace rust types URL links with direct rust links
- normalize the description of the project beteen:
- the first line of the crate levele docs/readme
- the description meta-data section on github
- the descriptio meta-data field in the Cargo.toml
features
-
make specifc RangeMap, RangeSet, RangeInclusiveMap... types for signature simplification - alternatively add just the one generic SafeRangeBoundsMap + Set that just add unwraps everywhere to simplify signatures on known-"Safe" symmetric types such as Range
-
add rangemap's insert function to finally make range_bounds_map a superset of rangemap
-
add remove_at_point(), clear(), etc..
-
add a multi-dimentional version of RandBounds{Map,Set} by compositing Normal 1D RangeBoundsSets together in a big Vec or something.
open questions
- should we implement FromIterator? If so which insert should we use? (At the moment we do implement it using insert_strict())
- should append_* functions not change the base if they fail half way?
PUBLISH
after publish tasks
- add links to [
RangeBoundsSet
] and map after docs.rs is live with the docs, and generally check for dead links on docs and readme - tell people in issues of other rangemap libraries about my library stonks advertising