Commit Graph

655 Commits

Author SHA1 Message Date
Trangar 404946f12b [Breaking change] Made all `decode_from_slice` also return the number of bytes read (#445) 2021-12-11 15:51:50 +01:00
Trangar 63f4607992 Feature/config limit (#439)
* Added Limit<N> and NoLimit to the configuration
* Added a limit check to Decoder and DecoderImpl
* Added test cases, added a helper function specialized for containers
* Added a test to see if inlining makes the limit config faster, added inlining to the decoder
2021-12-11 15:44:43 +01:00
李冬冬 ed57fd0810 Impl BorrowDecode for Option<&[u8]> and Option<&str> (#446)
Co-authored-by: Trangar <victor.koenders@gmail.com>
2021-12-10 19:50:24 +01:00
Trangar bb3612103a Fixed clippy warnings (#447) 2021-12-10 17:39:35 +01:00
Trangar 7cb10d4ab3 Added test case for a borrowed str (#441) 2021-12-02 11:44:08 +01:00
Trangar 4be23b88de Added Decode/Encode for HashMap<K, V> (#438) 2021-11-22 15:18:58 +01:00
Trangar c4fd7efa49 Release 2.0.0-alpha.1 (#435) 2021-11-09 10:15:12 +01:00
Trangar ad7ddebff3 Allow serde types to be Decode/Encoded (#434)
* 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
2021-11-09 10:08:47 +01:00
Trangar 8c1279feab functions to enable encoding/decoding serde types (#422)
* functions to enable encoding/decoding serde types
* Removed dev feature I forgot to remove
* Centralized option variant and len() decoding/encoding
2021-11-08 12:38:29 +01:00
Trangar cc13be30d4 split off BorrowDecode from Decode in bincode_derive (#432)
* split off BorrowDecode from Decode in bincode_derive

* Added test case for issue #431

* Fixed Cow implementation having the wrong constraint, added BlockedTODO for cow implementation specialization

* Re-exported the Decode and Encode traits in the crate root

* Removed outdated comments

* Removed some :🇩🇪:Decode that were introduced by the merge
2021-11-07 10:57:35 +01:00
Trangar b4c46a789a Fixes for 427 (#428)
* Made bincode_derive handle empty lines of docs correctly
* Made bincode_derive properly support const generics
* Added support for enums with variants with fixed values
2021-11-07 10:31:15 +01:00
Andre Nathan 7174f6422d Generate qualified Result type in derive (#430) 2021-11-05 18:07:13 +01:00
Seppel3210 e54a47cf14 Fix some typos (#423) 2021-10-25 16:24:57 +02:00
Trangar 73616a3d62 Made the zigzag encoding examples compile and run (#421)
Made the zigzag encoding examples compile and run
2021-10-25 11:24:50 +02:00
Trangar b30805dde2 Replace test-all-features with a manual CI matrix (#419)
Made the rust CI pipeline use a matrix instead of test-all-features
Removed beta and nightly from the test pipelines, made the check pipeline check on --all-features
2021-10-25 11:19:46 +02:00
Lena Hellström e81665bbea Add necessary metadata to bincode_derive (#420) 2021-10-25 10:57:37 +02:00
Lena Hellström c6ba4ffc88 Update authors to reflect current code state (#418) 2021-10-25 10:39:58 +02:00
Trangar 0c13c891c5 Updated readme.md and added a test for the examples (#417)
* Updated readme.md and added a test for the examples

* Removed tests/readme.rs and made the readme doctest a (hidden) part of lib.rs
2021-10-25 10:26:23 +02:00
Lena Hellström f09d839d10 Merge pull request #413 from bincode-org/feature/deserde
Feature/deserde
2021-10-24 19:43:59 +02:00
Victor Koenders 382b2c7a8f Fixed clippy lint, removed function that was only used in 1 place 2021-10-24 18:06:16 +02:00
Lena Hellström 99de47a6c8 Reintroduce varint optimizations 2021-10-24 16:44:36 +02:00
Lena Hellström 62b8f39f8f Optimize performance of decoding u8 arrays 2021-10-22 14:47:44 +02:00
Lena Hellström 539906f441 Optimize performance of slice writing 2021-10-22 14:47:05 +02:00
Victor Koenders 0be7e2f4f2 Updated to edition 2021 2021-10-21 17:34:56 +02:00
Victor Koenders bd994e354d Updated documentation of Encode, added an example to lib.rs 2021-10-21 14:45:16 +02:00
Victor Koenders dae645f675 Joined the 2 Sealed traits into a single one 2021-10-21 14:27:03 +02:00
Victor Koenders 707d0d238f Made all encode and decode functions always require a Config, removed _with_config functions 2021-10-21 14:19:40 +02:00
Victor Koenders dd7e8e8e43 Changed bincode version to 2.0.0-alpha.0 2021-10-21 13:39:45 +02:00
Victor Koenders adc47b6895 Fixed a copy-paste error where RwLock would report to be a Mutex if it fails to lock 2021-10-21 13:31:13 +02:00
Victor Koenders f70e94a427 Added dedicated error for `std::path::Path` encoding. Fixed broken link in documentation. 2021-10-21 13:29:03 +02:00
Victor Koenders 6ff33cd8c2 Replaced the decode implementation of [T; N] with the implementation from core 2021-10-21 12:54:37 +02:00
Victor Koenders 07b3c8cd76 Made the Decode of [T; N] properly drop all instances of T when an error has occured 2021-10-21 11:57:24 +02:00
Victor Koenders 151edf46d3 Included spec.md into cargo's documentation, fixed the issues, changed the [u8; N] implementations to [T; N] 2021-10-21 11:57:16 +02:00
Victor Koenders 435e030182 Removed a panic in the derive/src/generate module, moved it to derive/src/derive_* instead 2021-10-21 11:57:07 +02:00
Victor Koenders baad206c6c Added more documentation to derive/src/generate 2021-10-21 11:56:51 +02:00
Victor Koenders 4b25114c59 Processed some of the feedback 2021-10-18 10:18:47 +02:00
Lena Hellström 83970d29cf Merge branch 'trunk' into feature/deserde 2021-10-17 21:54:26 +02:00
Lena Hellström 684f2562b1 Config rewrite (#412)
Rewrite the config system to be slightly more friendly to adding new options
2021-10-17 21:07:31 +02:00
Victor Koenders 2fd2a8d8e2 Made the varint decode_signed module report the correct errors 2021-10-17 17:23:44 +02:00
Victor Koenders 02a9b2cb71 Made the test stage throw an error on warnings 2021-10-17 17:23:28 +02:00
Victor Koenders 4807ea6be2 Added warning on unused lifetimes, fixed warnings 2021-10-17 16:43:18 +02:00
Lena Hellström e232454936 Refactor and rename encoders 2021-10-17 16:22:14 +02:00
Victor Koenders 61c1e8a7cd Added badges to the functions to indicate which features they require 2021-10-17 15:00:14 +02:00
Victor Koenders 1f261cede3 Added support for atomic integers 2021-10-16 14:49:18 +02:00
Victor Koenders 8ab730eb87 Added support for IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6 2021-10-16 14:28:06 +02:00
Victor Koenders a0469e08ef Added support for NonZero* types 2021-10-16 14:14:15 +02:00
Victor Koenders 9420d03762 Added support for Range<T>, RangeInclusive<T> and Bound<T> 2021-10-16 13:59:48 +02:00
Victor Koenders 26d7683719 Added support for Path and PathBuf 2021-10-16 13:47:48 +02:00
Victor Koenders acbd385649 Added core::time::Duration and std::time::SystemTime 2021-10-16 13:32:12 +02:00
Victor Koenders 9cf577d9bc Added support for String, Mutex<T> and RwLock<T> 2021-10-16 13:19:30 +02:00