rust/library
Matthias Krüger 562581c2db
Rollup merge of #105641 - Amanieu:btree_cursor, r=m-ou-se
Implement cursors for BTreeMap

See the ACP for an overview of the API: https://github.com/rust-lang/libs-team/issues/141

The implementation is split into 2 commits:
- The first changes the internal insertion functions to return a handle to the newly inserted element. The lifetimes involved are a bit hairy since we need a mutable handle to both the `BTreeMap` itself (which holds the root) and the nodes allocated in memory. I have tested that this passes the standard library testsuite under miri.
- The second commit implements the cursor API itself. This is more straightforward to follow but still involves some unsafe code to deal with simultaneous mutable borrows of the tree root and the node that is currently being iterated.
2023-02-08 18:32:41 +01:00
..
alloc Rollup merge of #105641 - Amanieu:btree_cursor, r=m-ou-se 2023-02-08 18:32:41 +01:00
backtrace@07872f28cd Update backtrace 2022-09-02 16:09:58 -04:00
core Rollup merge of #107769 - compiler-errors:pointer-like, r=eholk 2023-02-08 07:13:26 +01:00
panic_abort Replace libstd, libcore, liballoc in line comments. 2022-12-30 14:00:42 +01:00
panic_unwind Replace libstd, libcore, liballoc in docs. 2022-12-30 14:00:40 +01:00
portable-simd Remove unnecessary &format! 2023-01-21 22:06:42 -05:00
proc_macro Auto merge of #107318 - matthiaskrgr:rollup-776kd81, r=matthiaskrgr 2023-01-26 09:14:05 +00:00
profiler_builtins Fully stabilize NLL 2022-06-03 17:16:41 -04:00
rtstartup Remove custom frame info registration on i686-pc-windows-gnu 2022-08-23 16:12:58 +08:00
rustc-std-workspace-alloc Replace libstd, libcore, liballoc in line comments. 2022-12-30 14:00:42 +01:00
rustc-std-workspace-core
rustc-std-workspace-std
std Rollup merge of #107714 - Wilfred:round_docs, r=m-ou-se 2023-02-06 21:16:41 +01:00
stdarch@a0c30f3e3c update stdarch 2022-12-29 11:22:13 +01:00
test Rollup merge of #106769 - lenko-d:libtest-print_why_a_test_was_ignored_if_its_the_only_test_specified, r=Mark-Simulacrum 2023-01-29 20:03:36 +01:00
unwind Replace libstd, libcore, liballoc in line comments. 2022-12-30 14:00:42 +01:00