CI was currently broken for two reasons
trunk was not compliant with the 1.41 MSRV check
clippy had new warnings
Since bincode 2.0 is not even in alpha yet MSRV should not be locked in place. This PR removes the MSRV checks for now. Additionally the few clippy warnings have been resolved.
* Add benchmarks for varint parsing
* Enable more inlining
* Outline error construction
* Add provided functions to BincodeRead to customize reading of literals
* Add #[inline] to deserialize_byte
* Outline SliceReader::unexpected_eof so that deserialize_varint inlines
* Implement BincodeRead for std::io::BufReader
* Reimplement all of BincodeRead in terms of BufRead-like functions
* Move branch into error-creation function to get below inline threshold
Deprecate the old config system and make a refined version of the internal config system public. Doing allows the Serializer/Deserializer to be exposed since all of its generic type parameters are now public.
The default read implementation on slices was not generating efficient code. This custom implementation generates much smaller assembly with fewer function calls.
* add option and config traits
* thread options everywhere
* add WithOtherLimit, WithOtherEndian, and update internal to take advantage of it
* wip
* add rest of the public API and fix tests
* dtolnay feedback
* remove serialized_size_bounded and replace it with a use of config
* remove inline from trait method
* finish documentation and add custom reader support
* minor config_map refactor
* doc changes
* add with_(de)serializer functions and their associated modules
If we don't do this we end up using the generic read_exact method
which is not necessarily optimal. This is especially when
using a specialized Read implementation to go fast.
See https://github.com/TyOverby/bincode/issues/206