Alice Ryhl and GitHub
d0293b0e35
Merge commit from fork
...
* Add repro for integer overflow
Signed-off-by: Alice Ryhl <[email protected] >
* Always check overflow in new_cap + offset
Signed-off-by: Alice Ryhl <[email protected] >
---------
Signed-off-by: Alice Ryhl <[email protected] >
2026-02-03 14:40:22 +01:00
discord9 and GitHub
60cbb776f2
fix: BytesMut only reuse if src has remaining ( #803 )
...
Signed-off-by: discord9 <[email protected] >
2025-11-14 10:52:50 +01:00
Alice Ryhl and GitHub
7ce330f519
Move drop_fn of from_owner into vtable ( #801 )
2025-11-10 15:16:58 +01:00
Stepan Koltsov and GitHub
4b53a29eb2
Tweak BytesMut::remaining_mut ( #795 )
2025-08-20 11:57:49 +02:00
Stepan Koltsov and GitHub
016fdbdc7a
Reserve capacity in BytesMut::put ( #794 )
2025-08-19 12:50:38 +02:00
Stepan Koltsov and GitHub
ef7f25736c
Specialize BytesMut::put::<Bytes> ( #793 )
2025-08-14 08:55:18 +00:00
Taiki Endo and GitHub
8b4f54d0f3
Ignore BytesMut::freeze doctest on wasm ( #790 )
2025-08-10 19:34:43 +09:00
Paolo Barbolini and GitHub
16132ad259
Fix latest clippy warnings ( #787 )
2025-07-16 10:53:50 +02:00
Paolo Barbolini and GitHub
3e44f88f5f
Bump MSRV to 1.57 ( #788 )
2025-07-16 10:33:07 +02:00
Michael Färber and GitHub
d9d5c59ef8
Guarantee address in slice() for empty slices. ( #780 )
2025-05-20 14:52:05 +02:00
Scott Lamb and GitHub
141cbc22cb
Rename Vtable::to_* -> Vtable::into_* ( #776 )
2025-03-07 13:58:07 +00:00
venomousmoog and GitHub
36675436cc
Fix memory leak in owned_to_vec ( #773 )
2025-03-05 10:44:40 +01:00
Taiki Endo and GitHub
16fd473d5c
Add feature to support platforms without atomic CAS ( #467 )
2025-01-31 18:52:54 +09:00
Taiki Endo and GitHub
7a876609a2
Use [lints] to address unexpected_cfgs lint ( #762 )
2025-01-27 10:56:32 +01:00
hpenne and GitHub
3ab876fee6
Try get methods for Buf trait ( #753 )
2025-01-21 13:41:42 +01:00
aae4969fde
Add specialized Buf::chunks_vectored for Take ( #617 )
...
Co-authored-by: Alice Ryhl <[email protected] >
Co-authored-by: Michal 'vorner' Vaner <[email protected] >
2025-01-13 12:53:52 +00:00
Alice Ryhl and GitHub
103d7bf9e0
Remove incorrect guarantee for chunks_vectored ( #754 )
2025-01-10 23:13:52 +01:00
Paolo Barbolini and GitHub
16cc574fea
Implement Buf::chunks_vectored for VecDeque<u8> ( #708 )
2025-01-10 14:40:12 +01:00
Leonid Logvinov and GitHub
54f1c26f69
Rename hex_impl! to fmt_impl! and reuse it for fmt::Debug ( #743 )
2024-11-08 10:23:02 +01:00
Paolo Barbolini and GitHub
4cd8969e85
Replace BufMut::put with BufMut::put_slice in Writer impl ( #745 )
2024-11-01 18:22:07 +00:00
katelyn martin and GitHub
2d996a2b41
Fix typo in Buf::chunk() comment ( #744 )
2024-11-01 14:46:09 +00:00
Adam Cimarosti and GitHub
30ee8e9cba
Add Bytes::from_owner ( #742 )
2024-10-29 13:18:03 +01:00
Alice Ryhl and GitHub
0ac54ca706
Guarantee address in split_off/split_to for empty slices ( #740 )
...
Signed-off-by: Alice Ryhl <[email protected] >
2024-10-18 19:46:49 +02:00
Taiki Endo and GitHub
ac46ebdd46
ci: update nightly to nightly-2024-09-15 ( #734 )
2024-09-17 11:02:45 -04:00
Paolo Barbolini and GitHub
79fb85323c
fix: apply sign extension when decoding int ( #732 )
...
Closes #730
2024-08-30 08:20:29 -04:00
Paolo Barbolini and GitHub
291df5acc9
Fix double spaces in comments and doc comments ( #731 )
2024-08-19 10:19:35 +02:00
Alice Ryhl and GitHub
f488be48d0
Revert "Reuse capacity when possible in <BytesMut as Buf>::advance impl" ( #726 )
...
This reverts commit baa5053572 .
2024-08-01 22:38:17 +02:00
Alice Ryhl
f8c7b574c0
Merge 'v1.6.1' into 'master' ( #721 )
2024-07-13 09:51:48 +02:00
Emily Crandall Fleischman and GitHub
6b4b0eda29
Fix Bytes::is_unique when created from shared BytesMut ( #718 )
...
The `is_unique` entry in the vtable for `Bytes` created from a shared
`BytesMut` just called the `shared_is_unique` function from the `bytes`
module. However, that function dereferences the `data` argument` as
`bytes::Shared`, but the actual underlying type is `bytes_mut::Shared`.
2024-07-13 01:09:46 +02:00
EXPLOSION and GitHub
9965a04b56
Remove unnecessary file ( #719 )
2024-07-10 19:08:47 +09:00
vvvviiv and GitHub
3443ca5a0b
docs: clarify the behavior of Buf::chunk ( #717 )
2024-07-09 14:13:09 +02:00
Sebastian Hahn and GitHub
8cc940779f
Allow reclaiming the current allocation ( #686 )
2024-06-28 14:26:32 +02:00
Paolo Barbolini and GitHub
7a5154ba8b
Clarify how BytesMut::zeroed works and advantages to manual impl ( #714 )
2024-06-21 14:07:25 +02:00
Anthony Ramine and GitHub
fa1daac3ae
Change Bytes::make_mut to impl From<Bytes> for BytesMut ( closes #709 ) ( #710 )
...
<Arc<T>>::make_mut returns a &mut T, such an API is doable for Bytes too
and thus we should reserve Bytes::make_mut for that.
Furthermore, it would be helpful to use From<Bytes> as a trait bound
in some cases with other traits such as Hyper's body trait, where Hyper
gives you Bytes values.
Finally, making it impl From<Bytes> for BytesMut means the API is more
easily discoverable as it appears on both Bytes and BytesMut.
2024-05-28 10:14:02 +02:00
Brad Dunbar and GitHub
4950c50376
Offset from ( #705 )
2024-05-11 19:41:50 +02:00
Émile Fugulin and GitHub
86694b0564
Add zero-copy make_mut ( #695 )
2024-05-05 17:58:00 +02:00
Alice Ryhl and GitHub
0c17e99283
ci: silence unexpected-cfgs warnings due to #[cfg(loom)] ( #703 )
2024-05-05 14:19:18 +02:00
Alice Ryhl and GitHub
cb7f8449b5
Tweak clear and truncate length modifications ( #700 )
2024-04-26 09:24:05 +02:00
Paolo Barbolini and GitHub
a8806c2457
Improve BytesMut::split suggestion ( #699 )
2024-04-25 10:43:15 +02:00
Paolo Barbolini and GitHub
baa5053572
Reuse capacity when possible in <BytesMut as Buf>::advance impl ( #698 )
2024-04-25 09:08:16 +02:00
Brad Dunbar and GitHub
ce09d7d358
Bytes::split_off - check fast path first ( #693 )
...
Follow up to https://github.com/tokio-rs/bytes/pull/689
* If `at == self.len()`, we already know `at <= self.len()`.
* If `at == 0`, we already know `at <= self.len()`.
2024-04-24 08:23:39 -04:00
9d3ec1cffb
Resize refactor ( #696 )
...
* use checked_sub
* return when additional == 0
* move safe operation out of unsafe block
* use spare_capacity_mut instead of chunk_mut
We don't need to check capacity because it's already been reserved
above.
* Add safety comments
* refactor to use guard clauses
This would be better written with let-else, but we won't get that until
`MSRV >= 1.65.x`.
* use if-let instead of unwrap
* reduce scope of unsafe blocks
Co-authored-by: Alice Ryhl <[email protected] >
---------
Co-authored-by: Alice Ryhl <[email protected] >
2024-04-24 05:49:53 -04:00
Brad Dunbar and GitHub
4e2c9c065a
Truncate tweaks ( #694 )
2024-04-17 11:27:00 +02:00
tison and GitHub
b5fbfc3edb
perf: improve Bytes::copy_to_bytes ( #688 )
...
Signed-off-by: tison <[email protected] >
2024-04-10 16:45:31 +02:00
Brad Dunbar and GitHub
4eb62b912a
Bytes::split_to - check fast path first ( #689 )
...
If `at == self.len()` then we already know `at <= self.len()`. If
`at == 0`, it can't be greater than `self.len()`.
2024-04-10 10:09:09 +02:00
Brad Dunbar and GitHub
e4af48633c
Don't set len in BytesMut::reserve ( #682 )
...
A fundamental invariant of `reserve` is that it can extend capacity
while the stored data remains the same, even if it's moved to a new
allocation. As a result, `len` can never change during a call to
`reserve`.
2024-04-09 14:35:54 +02:00
Brad Dunbar and GitHub
0d4cc7ffed
Bytes: Use ManuallyDrop instead of mem::forget ( #678 )
2024-04-08 17:05:04 +02:00
Brad Dunbar and GitHub
536db06f16
Use ManuallyDrop instead of mem::forget ( #675 )
2024-03-14 14:40:03 +01:00
Brad Dunbar and GitHub
7968f6f83d
Remove redundant reserve call ( #674 )
2024-03-04 09:04:40 +01:00
Brad Dunbar and GitHub
c5fae00c76
copy_to_bytes: Add panic section to docs ( #676 )
...
Fixes #454 .
2024-03-03 22:59:30 +09:00