|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|