Add an optional context for decoding allowing additional data to be passed to decoded structs.
---------
Co-authored-by: branchseer <dk4rest@gmail.com>
* Fix inconsistent naming between serde and non-serde functions
* Updated references from old deprecated function
---------
Co-authored-by: Victor Koenders <git@trang.ar>
* Made arrays with 32 elements or less never encode their length
* Removed `write_fixed_array_length` and `skip_fixed_array_length` as this was based on incorrect assumptions on how serde and bincode 1 works
---------
Co-authored-by: Victor Koenders <victor.koenders@qrtech.se>
* Switched to weak dependencies
* Removed old `serde_impl` references
* Fixed CI and updated documentation
* Fixed a cfg for a test
* Removed unneeded package in Cargo.toml
* Fixed an issue where serde would decode a sequence with an u32 instead of a usize
* Added serde to the `the_same` test for roundtrips, fixed several issues.
* Fixed backwards compatibility for result, ipv4addr and ipv6addr
* Processed feedback
* Added support for #[bincode(serde)] attribute on fields, added SerdeToBincode helper struct
* Switch to using Compat/BorrowCompat
* Moved all the serde features and functions to its own module
* Fix broken link
* Added support for the bincode(with_serde) attribute in enum variants
* Updated the main documentation on serde, fixed an example not compiling under certain feature flag combinations
* Added #[serde(flatten)] to the list of problematic attributes
* Added better error reporting on invalid attributes