mirror of
https://github.com/torvalds/linux.git
synced 2026-03-09 04:16:35 +01:00
Box:
- support for type coercion, e.g. `Box<T>` to `Box<dyn U>` if T
implements U
Vec:
- implement new methods (prerequisites for nova-core and binder)
- Vec::truncate()
- Vec::resize()
- Vec::clear()
- Vec::pop()
- Vec::push_within_capacity()
- new error type: PushError
- Vec::drain_all()
- Vec::retain()
- Vec::remove()
- new error type: RemoveError
- Vec::insert_within_capacity
- new error type: InsertError
- simplify Vec::push() using Vec::spare_capacity_mut()
- split Vec::set_len() into Vec::inc_len() and Vec::dec_len()
- add type invariant Vec::len() <= Vec::capacity
- simplify Vec::truncate() using Vec::dec_len()
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQS2q/xV6QjXAdC7k+1FlHeO1qrKLgUCaCMRLAAKCRBFlHeO1qrK
LsN3AP4jqS886xuFT6+Ibh1rinGu3RX5ffK0b2/tm47+BP2ysAD/UZ5M1DHhP1z4
SIQ+Ad9hSQoV6kQngRBKo0SdsZw8jgk=
=T22w
-----END PGP SIGNATURE-----
Merge tag 'alloc-next-v6.16-2025-05-13' of https://github.com/Rust-for-Linux/linux into rust-next
Pull alloc updates from Danilo Krummrich:
"Box:
- Support for type coercion, e.g. 'Box<T>' to 'Box<dyn U>' if T
implements U
Vec:
- Implement new methods (prerequisites for nova-core and binder)
- Vec::truncate()
- Vec::resize()
- Vec::clear()
- Vec::pop()
- Vec::push_within_capacity()
- New error type: PushError
- Vec::drain_all()
- Vec::retain()
- Vec::remove()
- New error type: RemoveError
- Vec::insert_within_capacity
- New error type: InsertError
- Simplify Vec::push() using Vec::spare_capacity_mut()
- Split Vec::set_len() into Vec::inc_len() and Vec::dec_len()
- Add type invariant Vec::len() <= Vec::capacity
- Simplify Vec::truncate() using Vec::dec_len()"
* tag 'alloc-next-v6.16-2025-05-13' of https://github.com/Rust-for-Linux/linux:
rust: alloc: add Vec::insert_within_capacity
rust: alloc: add Vec::remove
rust: alloc: add Vec::retain
rust: alloc: add Vec::drain_all
rust: alloc: add Vec::push_within_capacity
rust: alloc: add Vec::pop
rust: alloc: add Vec::clear
rust: alloc: replace `Vec::set_len` with `inc_len`
rust: alloc: refactor `Vec::truncate` using `dec_len`
rust: alloc: add `Vec::dec_len`
rust: alloc: add Vec::len() <= Vec::capacity invariant
rust: alloc: allow coercion from `Box<T>` to `Box<dyn U>` if T implements U
rust: alloc: use `spare_capacity_mut` to reduce unsafe
rust: alloc: add Vec::resize method
rust: alloc: add Vec::truncate method
rust: alloc: add missing invariant in Vec::set_len()
|
||
|---|---|---|
| .. | ||
| alloc | ||
| block | ||
| fs | ||
| list | ||
| net | ||
| sync | ||
| time | ||
| .gitignore | ||
| alloc.rs | ||
| block.rs | ||
| build_assert.rs | ||
| cred.rs | ||
| device.rs | ||
| device_id.rs | ||
| devres.rs | ||
| dma.rs | ||
| driver.rs | ||
| error.rs | ||
| faux.rs | ||
| firmware.rs | ||
| fs.rs | ||
| generated_arch_static_branch_asm.rs.S | ||
| init.rs | ||
| io.rs | ||
| ioctl.rs | ||
| jump_label.rs | ||
| kunit.rs | ||
| lib.rs | ||
| list.rs | ||
| miscdevice.rs | ||
| net.rs | ||
| of.rs | ||
| page.rs | ||
| pci.rs | ||
| pid_namespace.rs | ||
| platform.rs | ||
| prelude.rs | ||
| print.rs | ||
| rbtree.rs | ||
| revocable.rs | ||
| security.rs | ||
| seq_file.rs | ||
| sizes.rs | ||
| static_assert.rs | ||
| std_vendor.rs | ||
| str.rs | ||
| sync.rs | ||
| task.rs | ||
| time.rs | ||
| tracepoint.rs | ||
| transmute.rs | ||
| types.rs | ||
| uaccess.rs | ||
| workqueue.rs | ||
| xarray.rs | ||