Commit graph

58 commits

Author SHA1 Message Date
bc22f92297 Update lints; Decrease MSRV to 1.85 for 'oct'; Add 'unstable-docs' feature; Clean up code; Remove 'T: Copy' bound from 'Encode' and 'SizedEncode' implementations for 'UnsafeCell<T>'; Implement 'Encode' for 'rc::Weak' and 'sync::Weak'; Implement 'Decode' for 'rc::Weak' and 'sync::Weak'; Remove 'OutputError' and 'InputError'; Unmark all 'Output' and 'Input' functions with 'const'; Panic on I/O errors; Make 'Input::{peek, peek_into}' take constant 'self' reference; Update tests; Implement 'SizedEncode' for 'rc::Weak' and 'sync::Weak'; Update readme; 2025-04-09 13:29:09 +02:00
ffb19c5a97 Clean up code; Again make 'bool' decoding fallible; Bring back 'BoolDecodeError' error; Add 'BadChar' and 'NonBool' variants to 'GenericDecodeError'; Fix 'GenericDecodeError' not implementing 'From<CharDecodeError>'; Implement 'From<BoolDecodeError>' for 'GenericDecodeError'; Fix '<Option as Decode>::Error' not being a form of 'EnumDecodeError'; Remove 'string' and 'vec' modules (including contents); Remove 'string' and 'vec' macros; Update readme; Fix '<{Option, Result, SocketAddr} as Encode>::Error' not being forms of 'EnumEncodeError'; 2025-04-04 18:08:27 +02:00
40ff018433 Update tests; Update docs; 2025-04-04 13:11:54 +02:00
677c1ebcbc Fix 'GenericDecodeError' and 'GenericEncodeError' not implementing 'Eq'; 2025-04-03 12:23:49 +02:00
9520130eb3 Again lock 'SystemTimeDecodeError' behind the 'std' feature; Support custom error types when deriving 'Encode' and 'Decode'; 2025-04-03 12:16:52 +02:00
869629fa01 Clean up procedural macros; 2025-04-02 20:10:59 +02:00
dcdec20b64 Update readme; Clean up code; Update tests; 2025-04-01 21:23:45 +02:00
c764c4b724 Remove 'Vec::set_len'; Rename 'Vec::set_len_unchecked' to 'Vec::set_len'; Update repository link; Always expose 'SystemTimeDecodeError'; Update lints; Migrate Bincode benchmark to version 2.0; 2025-04-01 16:04:55 +02:00
7a6f49ed8f Clean up code; Fix double-destruction when using '<Vec<T, N> as From<[T; N]>>::from'; Fix 'Vec::<T, _>::new' still having a 'T: Copy' bound; Update tests; 2025-02-28 15:29:44 +01:00
50be4ca4bb Implement 'Default' for 'vec::IntoIter'; Mark 'String::is_char_boundary' with 'const'; Update lints; Clean up code; Bump MSRV to '1.86' for 'oct'; Bump Rust edition to '2024' for 'oct' and 'oct-macros' (and 'oct-benchmarks'); Fix '<vec::IntoIter as Iterator>::nth' not considering the current position; Optimise 'Iterator', 'DoubleEndedIterator', and 'ExactSizeIterator' implementations for 'vec::IntoIter'; Fix '<vec::IntoIter as Iterator>::size_hint' unsafely underflowing the size; Fix '<vec::IntoIter as Iterator>::nth' allowing out-of-bounds reads; Fix bounds on 'Arc' include in '/oct/src/decode/decode/mod.rs'; Implement 'PartialEq<Cow<str>>' for 'String'; Bring back 'vec' macro; Update syntax for 'string' macro; Unmark 'vec::IntoIter::{as_slice, as_mut_slice}' with 'const'; Optimise 'PartialEq', 'Eq', and 'PartialOrd' implementations; Rewrite 'Clone' implementations for 'Vec' and 'vec::IntoIter'; Update tests; Unimplement 'PartialEq<&mut [u8]>' for 'Slot'; Rewrite 'Vec::into_boxed_slice'; Rename 'Vec::into_alloc_vec' to 'into_vec'; 2025-02-22 21:53:46 +01:00
c19051dc1c Clean up code; Update 'Hash' implementation for 'Vec'; Update lints; Remove 'vec' macro; Rework 'str' macro as 'string'; Remove 'Vec::copy_from_slice'; Rename 'new' and 'new_unchecked' in 'Vec' to 'copy_from_slice' and 'copy_from_slice_unchecked'; Add new 'new' constructor to 'Vec'; Update docs; Add 'test_vec_new' test; 2025-01-31 14:21:31 +01:00
914886fbb0 Clean up code; Fix '<{IntoIter, Vec} as Drop>::drop'; Update 'track_caller' usage; 2025-01-30 15:53:25 +01:00
4a65eb1b42 Update signature for 'Slot::write'; Remove 'Slot::is_full'; Specify version in root Cargo manifest; Update docs; Clean up code; Add 'str' and 'vec' macro; Add 'track_caller' attribute to some functions; Add 'str_macro' and 'vec_macro' tests; Add 'peek' and 'peek_into' methods to 'Input'; 2025-01-27 13:13:40 +01:00
79f3262d83 Update repository link (SSH is not permitted on 'crates.io'); 2025-01-16 11:32:29 +01:00
cdec554690 Update repository link; Clean up code; Fix error bounds on 'Decode' for 'HashMap'; Fix error bounds on 'Encode' for '(T0, ..)'; 2025-01-16 11:29:35 +01:00
464da12e45 Update readme; Update docs; Update lints; 2025-01-15 20:18:02 +01:00
12975eabf5 Reimplement 'Decode' for 'alloc::vec::Vec', 'alloc::string::String', 'CString', 'LinkedList', 'HashMap', and 'HashSet'; Reimplement 'DecodeBorrowed' for 'alloc::vec::Vec', 'alloc::string::String', and 'CString'; Update and add tests; Update readme; Clean up code; Implement 'From<Infallible>' for all error types; Update docs; Rework 'EnumEncodeError' and 'EnumDecodeError'; Add 'encode_char' benchmark; Implement 'Encode' and 'Decode' for 'OsStr', 'OsString', 'c_void', and 'BinaryHeap'; Remove 'never-type' feature flag; Rework 'PrimDiscriminant' as 'PrimRepr'; Add 'PrimDiscriminant' enumeration; Implement 'From<T: PrimRepr>' for 'PrimDiscriminant'; Implement 'PrimRepr' for 'u8', 'u16', 'u32', 'u64', 'u128', 'usize', 'i8', 'i16', 'i32', 'i64', 'i128', and 'isize'; Implement 'Debug', 'Display', 'Binary', 'Octal', 'LowerHex', 'UpperHex', 'LowerExp', and 'UpperExp' for 'PrimDiscriminant'; Implement 'Clone', 'Copy', 'Eq', 'PartialEq', and 'Hash' for 'PrimDiscriminant'; Implement 'Eq' and 'PartialEq' for **all** error types; Add 'as_slice' and 'as_ptr' methods to 'Input'; Implement 'AsRef<[u8]>' and 'Borrow<[u8]>' for 'Input'; Implement 'SizedEncode' for 'c_void'; Fix '<LinkedList as Encode>::Error'; Add 'new_unchecked' constructor to 'String' and 'Vec'; Rework 'from_utf8' and 'from_utf8_unchecked' in 'String'; Remove 'StringError'; Rework 'String' to make it trivially-destructable; Actually mark 'String::as_mut_str' with 'const'; Unimplement 'PartialOrd<{&str, alloc::string::String}>' for 'String'; Implement 'PartialEq<str>' for 'String'; Unimplement 'PartialOrd<{[T; M], &[T], alloc::vec::Vec<T>}>' for 'Vec<T, N>'; Remove 'is_full' method from 'String' and 'Vec'; Implement 'Copy' for 'String'; Implement 'PartialEq<{Self, [u8], &[u8]}>', 'Eq', and 'Debug' for 'Input'; Implement 'PartialEq<[U]>' for 'Vec<T, ..>'; Implement 'PartialEq<Vec<U, ..>>' for 'alloc::vec::Vec<T>'; Implement 'PartialEq<String>' for 'alloc::string::String'; Add 'is_char_boundary' and 'as_mut_bytes' methods to 'String'; Add doc aliases; Update lints; Fix atomics being imported from 'std'; 2025-01-14 21:58:12 +01:00
d43ed46b08 Update readme; Fix soundness hole in '<Vec as Decode>::decode'; 2025-01-10 22:55:17 +01:00
2197a9200d Clean up code; Update docs; Update lints; Update crate metadata; 2025-01-10 15:09:56 +01:00
3c73cbe894 Update logo; 2025-01-09 11:48:30 +01:00
44032dc551 Rename 'SizedStr' to 'String'; Rename 'SizedSlice' to 'Vec'; Mark 'String::as_mut_str' with 'const'; Update readme; Relicence under MPL 2.0; Licence logo; Rename 'SizedIter' to 'IntoIter'; Update docs; Update copyright notices; Add 'vec', 'string', and 'slot' modules; Refactor tests; Clean up code; Rename 'LengthError' fields; Implement 'PartialEq' and 'Eq' for some error types; Remove 'Utf16Error' and 'CStringDecodeError'; Rename 'StrError' to 'StringError'; Remove 'Self: Sized' requirement from 'SizedEncode'; Remove 'T: Sized' requirement from 'Encode' for 'PhantomData<T>'; Unimplement 'Decode' for 'alloc::vec::Vec', 'alloc::string::String', 'CString', 'LinkedList', 'HashMap', and 'HashSet'; Unimplement 'DecodeBorrowed' for 'alloc::vec::Vec', 'alloc::string::String', and 'CString'; Implement 'Debug' for 'Output'; Remove 'B: Sized' requirement from 'Decode' for 'Cow<'_, B>'; Add 'must_use' attribute to 'Vec::{each_ref, each_mut}'; Rework 'Vec::set_len' and add 'set_len_unchecked' method; Remove '{String, Vec}::capacity'; Implement 'SizedEncode' for 'PhantomPinned'; License Cargo manifests; License benchmarks; Add temporary 'never-type', 'f16', and 'f128' feature flags; Remove 'chars' and 'char_indices' from 'String'; Implement 'Drop' for 'IntoIter' and 'Vec'; Implement 'Encode', 'SizedEncode', and 'Decode' for 'UnsafeCell'; Update error requirements for some 'Encode' and 'Decode' implementations; Fix soundness hole with 'Vec::copy_from_slice'; Rename 'Vec::into_vec' to 'into_alloc_vec'; 2025-01-09 11:21:06 +01:00
87be89b792 Update docs icon; Update crate descriptions; Update homepage URLs; 2024-12-21 10:27:23 +01:00
4f624dfebc Update docs icon; Update homepage URL; Fix docs entries for the 'encode' and 'decode' modules; 2024-12-21 10:14:00 +01:00
0f20a01971 Update readme; Fix 'SizedEncode' implementation for 'Bound'; Clean up code; Fix license notices; 2024-12-21 10:03:41 +01:00
73b793a719 Update docs; Update readme; Update package description; Clean up code; 2024-12-20 16:49:44 +01:00
8112d2866e Update logo; Update readme; 2024-12-20 12:06:31 +01:00
b6f171e913 Add more benchmarks; Redefine 'bool' scheme; Remove 'BoolDecodeError'; Rename project to *oct*; Rename 'librum' crate to 'oct'; Rename 'librum-macros' crate to 'oct-macros'; Rename 'librum-benchmarks' crate to 'oct-benchmarks'; Update lints; Update logo; Restructure tests; Rename 'IStream' to 'Input'; Rename 'OStream' to 'Output'; Make 'Output::write' and 'Input::{read, read_into}' fallible; Add 'OutputError' and 'InputError' error types; Mark 'Output::write' and 'Input::{read, read_into}' with 'const'; Add 'position', 'capacity', and 'remaining' methods to 'Output' and 'Input'; Rename 'SizeError' to 'LengthError'; Rework some error types; Fix feature flags for 'From<CStringDecodeError>' for 'GenericDecodeError'; Rename 'Buf' to 'Slot'; Remove '{Output, Input}::close'; Implement 'AsRef<[u8]>', 'Borrow<[u8]>', 'PartialEq<{Self, [u8], &[u8], &mut [u8]}>', and 'Eq' for 'Output'; Add 'as_slice' and 'as_ptr' methods to 'Output'; Add 'encode' and 'decode' modules; Update homepage link; Refactor code; Update readme; 2024-12-20 11:40:26 +01:00
ef4b3c269a Update readme; Null dependency patch versions; 2024-12-03 21:51:23 +01:00
c3bf5aca2e Add decode benchmarks; Add missing docs for '{Decode, Encode}::Error'; Encode numericals in little-endian; Add 'read_into' method to 'IStream'; Fix '<AtomicBool as Decode>::Error' (and invalid values resulting in panics from 'decode'); Add 'Copy' bound to 'PrimitiveDiscriminant'; Update docs; Refactor benchmarks; Run benchmarks multiple times; Bump dependency versions; Update readme; 2024-11-27 22:16:40 +01:00
687ebe6f07 Update readme; 2024-11-24 12:55:24 +01:00
0160d295bd Support custom errors in 'Encode' and 'Decode' (using associated 'Error' type); Further split 'EncodeError' into 'IsizeEncodeError', 'UsizeEncodeError', 'CollectionEncodeError', 'RefCellEncodeError', 'ItemEncodeError', and 'EnumEncodeError'; Fix the 'Encode' implementation of 'LinkedList'; Further split 'DecodeError' into 'BoolDecodeError', 'CharDecodeError', 'CStringDecodeError', 'NonZeroDecodeError', 'CollectionDecodeError', 'SystemTimeDecodeError', 'EnumDecodeError', and 'ItemDecodeError'; Honour custom discriminant types; Add 'DecodeBorrowed' trait (implement appropriately); Implement 'Decode' for 'Cow'; Refactor derive macros; Update lints; Rename test modules from 'test' to 'tests'; Restructure some trait implementations; Add 'proc-macro' feature flag; Add 'GenericEncodeError' and 'GenericDecodeError' error types for derived traits; Add 'PrimitiveDiscriminant' trait; Lock 'Arc' implementations behind atomic widths; Add '?Sized' clauses to some 'Encode' implementations; Update readme; Fix doc entry for 'SizedStr::new'; Update atomic tests; Make 'SizedEncode' a safe trait; Do not automatically implement 'Encode' when deriving 'SizedEncode'; Add 'copy_from_slice' method to 'SizedSlice'; Add 'each_ref' and 'each_mut' methods to 'SizedSlice'; Add more benchmarks; Remove Ciborium benchmarks; Rename project to *Librum*; Rename 'bzipper' crate to 'librum'; Rename 'bzipper_macros' crate to 'librum-macros'; Rename 'bzipper_benchmarks' crate to 'librum-benchmarks'; 2024-11-24 12:49:13 +01:00
74b8d2caa2 Add 'into_bytes' destructor to 'SizedStr'; Clean up code; Update and add more tests; Manually implement '<SizedIter as Iterator>::nth'; Implement 'Encode' and 'Decode' for 'CString', 'SystemTime', 'Duration'; Implement 'Encode' for 'CStr'; Update docs; Fix includes in '/bzipper/src/decode/mod.rs' and '/bzipper/src/sized_encode/mod.rs'; Add new 'NullCString' and 'NarrowSystemTime' error variants to 'DecodeError'; Optimise '<String as Decode>::decode'; Update lints; Implement 'SizedEncode' for 'SystemTime' and 'Duration'; Update benchmark stats; Update readme; 2024-11-03 21:58:01 +01:00
b7a72dc0f9 Clean up and refactor code; Add more tests; Fix 'DoubleEndedIterator' implementation for 'SizedIter'; 2024-11-01 14:56:09 +01:00
5f0092b83f Clean up code; Implement 'Encode' and 'Decode' for 'Cell' and 'HashSet'; Implement 'SizedEncode' for 'Cell'; Add missing 'SizedEncode' implementations for 'Cow', 'LazyCell', and 'LazyLock'; Unimplement 'Decode' for 'Cow', 'LazyCell', and 'LazyLock'; Add missing 'Decode' implementations for 'RefCell'; Fix feature flags for 'SizedEncode' implementations of 'Rc' and 'Arc'; 2024-10-31 17:31:10 +01:00
d32c462487 Implement 'Encode' and 'Decode' for 'LinkedList', 'HashMap', 'Cow', 'PhantomPinned', 'LazyCell', 'LazyLock'; Add missing 'Decode' implementation for 'Box'; Update inline rules; Implement traits for tuples using macros; Implement 'SizedEncode' for 'PhantomPinned', 'Cow', 'LazyCell', 'LazyLock', '&_', '&mut _'; Implement 'Encode' for '&_' and '&mut _'; Update docs; 2024-10-31 16:27:47 +01:00
ae62c252b4 Update package metadata; 2024-10-30 13:14:15 +01:00
beeea79df8 Rename 'FixedString' to 'SizedStr'; Implement 'PartialEq<String>' and 'PartialOrd<String>' for 'SizedStr'; Add constructors 'from_utf8' and 'from_utf8_unchecked' to 'SizedStr'; Remove 'pop', 'push_str', and 'push' from 'SizedStr'; Implement 'FromIterator<char>' for 'SizedStr'; Rename 'Serialise' to 'Encode'; Rename 'Deserialise' to 'Decode'; Remove 'Sized' requirement for 'Encode'; Add benchmarks; Update package metadata; Rename 'Sstream' to 'OStream'; Rename 'Dstream' to 'IStream'; Update readme; Refactor code; Update lints; Implement 'Encode' and 'Decode' for 'IpAddr', 'Ipv4Addr', 'Ipv6Addr', 'Mutex', 'Box', 'RwLock', 'Rc', 'Arc', 'Wrapping', 'Saturating', 'AtomicBool', 'AtomicU8', 'AtomicU16', 'AtomicU32', 'AtomicU64', 'AtomicI8', 'AtomicI16', 'AtomicI32', 'AtomicI64', 'AtomicUsize', 'AtomicIsize', 'SocketAddrV4', 'SocketAddrV6', 'SocketAddr', 'Range', 'RangeFrom', 'RangeFull', 'RangeInclusive', 'RangeTo', 'RangeToInclusive', 'Bound', 'RefCell', 'String', and 'Vec'; Update docs; Add 'SizedSlice' type; Add 'SizedIter' type; Rename 'Buffer' type to 'Buf'; Remove 'Add' and 'AddAssign' implementations from 'SizedStr'; Add *Features* section to readme; Honour explicit enumeration discriminants; Encode enumeration discriminants as 'isize'; Add 'SizedEncode' trait; Outsource 'MAX_SERIALISED_SIZE' to 'SizedEncode' as 'MAX_ENCODED_SIZE'; Implement 'Iterator', 'ExactSizeIterator', 'FusedIterator', and 'DoubleEndedIterator' for 'SizedIter'; Implement 'AsRef<[T]>' and 'AsMut<[T]>' for 'SizedIter<T, ..>'; Implement 'Clone' for 'SizedIter'; Add 'as_slice' and 'as_mut_slice' methods to 'SizedIter'; Add 'from_raw_parts' constructor and 'into_raw_parts' destructor to 'SizedSlice'; Add 'set_len' method to 'SizedSlice'; Add 'len', 'is_empty', 'is_full', and 'capacity' methods to 'SizedSlice'; Add 'as_slice' and 'as_mut_slice' methods to 'SizedSlice'; Add 'as_ptr' and 'as_mut_ptr' methods to 'SizedSlice'; Implement 'AsMut<[T]>' and 'AsRef<[T]>' for 'SizedSlice<T, ..>'; Implement 'Borrow<[T]>' and 'BorrowMut<[T]>' for 'SizedSlice<T, ..>'; Implement 'Deref<[T]>' and 'DerefMut<[T]>' for 'SizedSlice<T, ..>'; Implement 'Debug' for 'SizedSlice'; Implement 'Default' for 'SizedSlice'; Implement 'Clone' for 'SizedSlice'; Implement 'Encode', 'Decode', and 'SizedEncode' for 'SizedSlice'; Implement 'Eq' and 'PartialEq' for 'SizedSlice'; Implement 'Ord' and 'PartialOrd' for 'SizedSlice'; Implement 'From<[T; N]>' for 'SizedSlice<T, N>'; Implement 'Hash' for 'SizedSlice'; Implement 'Index' and 'IndexMut' for 'SizedSlice'; Implement 'IntoIterator' for 'SizedSlice' (including references hereto); Implement 'TryFrom<&[T]>' for 'SizedSlice<T, ..>'; Implement 'From<SizedSlice<T, ..>>' for 'Vec<[T]>'; Implement 'From<SizedSlice<T, ..>>' for 'Box<[T]>'; Add 'into_boxed_slice' and 'into_vec' destructors to 'SizedSlice'; Add 'into_boxed_str' and 'into_string' destructors to 'SizedStr'; Bump Rust version to '1.83' for 'bzipper'; Mark 'SizedStr::as_mut_ptr' as const; Implement 'FromIterator<T>' for 'SizedSlice<T, ..>'; Make 'SizedStr::new' take a '&str' object; Add 'is_empty' and 'is_full' methods to 'Buf'; Disallow non-empty single-line functions; Add 'SAFETY' comments; Implement 'PartialEq<&mut [u8]>' and 'PartialEq<[u8]>' for 'Buf'; Implement 'Index' and 'IndexMut' for 'Buf'; Add 'from_raw_parts' constructor and 'into_raw_parts' destructor to 'Buf'; Add *Documentation* and *Contribution* sections to readme; Add *Copyright & Licence* section to readme; Add Clippy configuration file; Add more unit tests; Add debug assertions; Remove 'as_ptr' and 'as_slice' methods from 'IStream' and 'OStream'; Remove 'len', 'is_empty', and 'is_full' methods from 'IStream' and 'OStream'; Unimplement all manually-implemented traits from 'IStream' and 'OStream'; Mark 'new' and 'write' in 'OStream' as const; Mark the 'read' method in 'IStream' as const; Add 'close' destructor to 'OStream' and 'IStream'; Implement 'Encode' for '[T]' and 'str'; Encode 'usize' and 'isize' as 'u16' and 'i16' again; Split 'Error' type into 'EncodeError', 'DecodeError', 'Utf8Error', 'Utf16Error', 'SizeError', and 'StringError'; Remove 'Result' type; Add 'error' module; Make 'IStream::read' and 'OSream::write' panic on error; Update logo; Add more examples to docs; Unmark all functions in 'Buf' as const; Implement 'From<SizedStr>' for 'Box<str>'; Always implement 'Freeze', 'RefUnwindSafe', 'Send', 'Sync', 'Unpin', and 'UnwindSafe' for 'Buf'; Add *Examples* section to readme; Implement 'SizedEncode' for all previous 'Encode' types; Bump dependency versions; 2024-10-30 13:11:01 +01:00
a872a5c245 Make 'alloc' and 'std' default features; Make serialisations variably sized again; Refactor derive implementations; Completely rework streams; Fix tuple deserialisation; Encode 'FixedString' in UTF-8; Remove methods 'from_chars' and 'set_len' from 'FixedString'; Rename 'as_slice' and 'as_mut_slice' methods in 'FixedString' to 'as_st' and 'as_mut_str'; Add methods 'as_bytes', 'push_str', 'chars', 'capacity', and 'char_indices' to 'FixedString'; Rework 'FixedString' traits; Remove 'FixedIter'; Update lints; Add methods 'set_len' and 'set_len_unchecked' to 'Buffer'; Elaborate docs; Update readme; Do not require 'Serialise' for 'Deserialise'; Rename 'SERIALISED_SIZE' in 'Serialise' to 'MAX_SERIALISED_SIZE'; Use streams in 'Serialise' and 'Deserialise'; Drop 'Serialise' requirement for 'Buffer'; Add methods 'with_capacity' and 'capacity' to 'Buffer'; 2024-08-31 12:55:15 +02:00
3b29e72624 Fix 'Deserialise' derive for unit variants; Refactor 'Serialise' derive for enumerations; 2024-08-24 11:21:26 +02:00
1d14168c30 Bump dependency version; Update docs; Add more examples; 2024-08-23 20:34:01 +02:00
cf97caa663 Update readme; Add 'Buffer' type; Bump minor version; Implement 'PartialEq<&[char]>' for 'FixedString'; Update tests; Implement 'PartialOrd<&[char]>' and 'PartialOrd<&str>' for 'FixedString'; Remove custom methods 'get', 'get_unchecked', 'get_mut', and 'get_unchecked_mut', 'iter', and 'iter_mut' from 'FixedString'; 2024-08-23 16:12:52 +02:00
50140dfa46 Respecify version numbers; 2024-08-21 13:12:06 +02:00
f5c9bd7c14 Specify 'bzipper_macros' version; 2024-08-21 13:10:09 +02:00
0c64e6a7a0 Bump minor version; Add macros crate; Add derive macros; Update package metadata; Update readme; Expand docs; Require fixed size (de)serialisations; Add more error variants; Require 'bzipper::Error' for (de)serialisation; Reworks streams; Remove 'Buffer'; Rework 'FixedString'; Serialise 'usize' and 'isize' as 'u32' and 'i32', respectively; Rework arrays (de)serialisation; Fix 'Result' serialisations; Add new logo; Add features 'alloc' and 'std'; Specify rustc version; Rename 'FixedStringIter' to 'FixedIter'; Implement 'Serialise' and 'Deserialise' for single tuples and 'PhantomData'; 2024-08-21 13:05:44 +02:00
1573a33399 Extensively elaborate docs; Update readme; 2024-08-08 17:11:15 +02:00
f20b2bd249 Fix docs logo (again); Update docs (add examples); 2024-08-08 11:41:12 +02:00
5041f391c0 Fix package metadata; 2024-08-08 11:26:45 +02:00
28dce0d2f7 Fix docs logo; 2024-08-08 11:25:44 +02:00
b693f31241 Reformat changelog; Update logo; Add docs logo; 2024-08-08 11:16:06 +02:00
641be9ee02 Update package metadata; 2024-07-07 16:11:07 +02:00