Skip to content

Commit

Permalink
Squashed 'library/' changes from a2cf63619d7..9cc3bc6add3
Browse files Browse the repository at this point in the history
9cc3bc6add3 custom MIR: add support for tail calls
5674d1c07e5 Auto merge of rust-lang#128673 - matthiaskrgr:rollup-gtvpkm7, r=matthiaskrgr
deb1d7576df Rollup merge of rust-lang#128619 - glandium:last_chunk, r=scottmcm
6449537a625 Rollup merge of rust-lang#128609 - swenson:smaller-faster-dragon, r=Amanieu
acb2c303c36 Rollup merge of rust-lang#128026 - devnexen:available_parallelism_vxworks, r=Mark-Simulacrum
89fe6dfa6b9 Rollup merge of rust-lang#128309 - kmicklas:btreeset-cursor, r=Amanieu
313484bb62c Correct the const stabilization of `<[T]>::last_chunk`
22e026b048c Auto merge of rust-lang#128534 - bjorn3:split_stdlib_workspace, r=Mark-Simulacrum
18136032131 Rollup merge of rust-lang#128526 - tshepang:patch-1, r=Amanieu
e8a1a4151ee Auto merge of rust-lang#128466 - sayantn:stdarch-update, r=tgross35
2adf9da42a3 Update stdarch
dc85bdb60ce Chore: add `x86_amx_intrinsics` feature flag to `core/lib.rs` and remove `issue-120720-reduce-nan.rs`
e88b04d135d Rollup merge of rust-lang#128551 - Konippi:refactor-backtrace-style-in-panic, r=tgross35
43a1e939ebe Rollup merge of rust-lang#128530 - scottmcm:repeat-n-unchecked, r=joboet
47df194eec6 Remove unnecessary constants from flt2dec dragon
0b5f1b8406f Auto merge of rust-lang#128404 - compiler-errors:revert-dead-code-changes, r=pnkfelix
35cd95f1edb Suppress new false-negatives that were masked by dead code analysis changes
9eb9fa6d7db Revert "Rollup merge of rust-lang#127107 - mu001999-contrib:dead/enhance-2, r=pnkfelix"
975dc19795e Rollup merge of rust-lang#128368 - nnethercote:rustfmt-tweaks, r=cuviper
0ee09fe87cf Rollup merge of rust-lang#128303 - NobodyXu:specialise-for-pipe, r=cuviper
1967a123728 Rollup merge of rust-lang#127586 - zachs18:more-must-use, r=cuviper
fc53324c54d Rollup merge of rust-lang#126704 - sayantn:sha, r=Amanieu
74dd96fbea9 chore: refactor backtrace style in panic
0e4358de84e Auto merge of rust-lang#128528 - workingjubilee:you-dont-need-to-see-this-cpuid-move-along, r=Amanieu
9fa74abcf83 Move the standard library to a separate workspace
e13d132801a Auto merge of rust-lang#128254 - Amanieu:orig-binary-search, r=tgross35
05d8d7c0765 Implement `UncheckedIterator` directly for `RepeatN`
a5fa13e131b Rollup merge of rust-lang#128491 - c410-f3r:unlock-rfc-2011, r=workingjubilee
28e4d22aec0 Rollup merge of rust-lang#128453 - RalfJung:raw_eq, r=saethlin
db770c6262d std: Remove has_cpuid
39aad04eaaf time.rs: remove "Basic usage text"
7df583ccfb3 Dogfood
cb110515265 Add the `sha512`, `sm3` and `sm4` target features
86ea79fb335 Fix mutability in doc tests for `BTreeSet` cursors
c7be27f744a Introduce `Cursor`/`CursorMut`/`CursorMutKey` thrichotomy for `BTreeSet` like map API
8835b0ffaef Fix some uses of "map" instead of "set" in `BTreeSet` cursor API docs
07f64a8e22c Share `UnorderedKeyError` with `BTReeMap` for set API
f859e542648 Rollup merge of rust-lang#128499 - Konippi:refactor-backtrace-formatting, r=tgross35
fb966d2b046 Rollup merge of rust-lang#128497 - Bryanskiy:fix-dropck-doc, r=lcnr
ab00ae63d7a Rollup merge of rust-lang#128433 - hermit-os:hermit-unsafe_op_in_unsafe_fn, r=joboet
2614bd2ae16 chore: refactor backtrace formatting
a8a46595ff6 fix dropck documentation for `[T;0]` special-case
589c0a0e872 fix(os/hermit): `deny(unsafe_op_in_unsafe_fn)`
0260e47b16e fix(pal/hermit): `deny(unsafe_op_in_unsafe_fn)`
7bd6b11e0ad refactor(pal/hermit): make `ENV` a non-mutable static
32894e2b70e Rollup merge of rust-lang#128416 - maurer:remove-android-hack, r=tgross35
beb76c31275 Auto merge of rust-lang#128461 - matthiaskrgr:rollup-3dpp11g, r=matthiaskrgr
1e3976be11a Rollup merge of rust-lang#128162 - ChrisDenton:cleanup, r=joboet
cde45b0a077 Rollup merge of rust-lang#127567 - joboet:once_wait, r=Amanieu
06076429681 Fix docs for OnceLock::get_mut_or_init
da484175cbd raw_eq: using it on bytes with provenance is not UB (outside const-eval)
cc6f37ff93f std: fix busy-waiting in `Once::wait_force`, add more tests
6fd82f18f54 std: implement the `once_wait` feature
0c56873d90f Remove unneeded `pub(crate)`
787a1f7a2e6 Rollup merge of rust-lang#128388 - beetrees:f16-f128-slightly-improve-windows-abi, r=tgross35
e3a4ed3406a Rollup merge of rust-lang#128387 - liigo:patch-14, r=tgross35
8b7f4ee6e3d refactor(pal/hermit): use default impl of `GlobalAlloc::alloc_zeroed`
c3370198cca refactor(pal/hermit): return `!` to satisfy rust-analyzer
7aafdcf2fa2 android: Remove libstd hacks for unsupported Android APIs
ba65c6c88c8 Move Windows implementation of anon pipe
176508ce960 Match LLVM ABI in `extern "C"` functions for `f128` on Windows
85e4ba09e56 Cleanup sys module to match house style
ddff2b608a9 Auto merge of rust-lang#128083 - Mark-Simulacrum:bump-bootstrap, r=albertlarsan68
e4b0e6d427b Rewrite binary search implementation
556dc6028e1 More detailed note to deprecate ONCE_INIT
440ec835e8f Auto merge of rust-lang#128378 - matthiaskrgr:rollup-i3qz9uo, r=matthiaskrgr
a50fe577e5d Auto merge of rust-lang#128250 - Amanieu:select_unpredictable, r=nikic
47f9d6175ee Rollup merge of rust-lang#128315 - zetanumbers:psvita-unsafe-in-unsafe, r=workingjubilee
f70ce7f3e03 Auto merge of rust-lang#128234 - jcsp:retain-empty-case, r=tgross35
93b2f7c4e88 Insert some blank lines.
db0222e3e80 Move a comment.
cc96f3e2d19 Stabilize offset_of_nested
618fdd536b5 Auto merge of rust-lang#128334 - matthiaskrgr:rollup-nhxdt0c, r=matthiaskrgr
e088cb1bcd7 Rollup merge of rust-lang#128333 - RalfJung:miri-sync, r=RalfJung
1ea0493512b Rollup merge of rust-lang#128307 - ojeda:unescaped_backticks, r=GuillaumeGomez
5d510999d8a Optimize empty case in Vec::retain
f2bcbecd66e Auto merge of rust-lang#125016 - nicholasbishop:bishop-cb-112, r=tgross35
7a43febb9b1 Rollup merge of rust-lang#128310 - kmicklas:btree-map-peek-next-docs, r=tgross35
03e5078d0f6 Rollup merge of rust-lang#128055 - workingjubilee:deny-unsafe-ops-in-sys-personality-dwarf-eh, r=Amanieu
f9befad9f51 Rollup merge of rust-lang#109174 - soerenmeier:cursor_fns, r=dtolnay
ed7d02fcc9b Update compiler_builtins to 0.1.114
80254cd2f12 Warn on `rustdoc::unescaped_backticks` for `core/alloc/std/test/proc_macro`
c8db8ead903 Remove spurious backticks detected by `rustdoc::unescaped_backticks`
d1d4fb32943 Reformat `use` declarations.
3ec244feaeb Replace `io::Cursor::{remaining_slice, is_empty}` with `io::Cursor::{split, split_mut}`
abc611ff511 step cfg(bootstrap)
78cd7797193 Update CURRENT_RUSTC_VERSION
70927dcd034 Add forbid(unsafe_op_in_unsafe_fn)
06a22c946e3 Rollup merge of rust-lang#128240 - mbrubeck:patch-3, r=joboet
604d6183e4d Rollup merge of rust-lang#128228 - slanterns:const_waker, r=dtolnay,oli-obk
2a70839bf8f Rollup merge of rust-lang#128103 - folkertdev:unsigned-int-is-multiple-of, r=Amanieu
058f1d3e3a7 Rollup merge of rust-lang#127765 - bitfield:fix_stdlib_doc_nits, r=dtolnay
9a6c84e26c1 fix: psvita's std code
5119266b79c Force LLVM to use CMOV for binary search
d6b6e639162 stabilize const_waker
8e4f58a6520 Add missing periods on `BTreeMap` cursor `peek_next` docs
458b9b07517 Implement cursors for `BTreeSet`
02bf0de46e4 Enable `std::io::copy` specialisation for `std::pipe::{PipeReader, PipeWriter}`
1f83bf3100e Rollup merge of rust-lang#128282 - pitaj:nonzero_bitwise, r=workingjubilee
357ff7a0265 Rollup merge of rust-lang#128279 - slanterns:is_sorted, r=dtolnay
fcbdcae5542 stabilize `is_sorted`
c47f8bdd4f5 bitwise and bytewise methods on `NonZero`
4ea98d76cfd Rollup merge of rust-lang#128259 - sunshowers:msg-nosignal, r=Mark-Simulacrum
d6f970a682d Rollup merge of rust-lang#125897 - RalfJung:from-ref, r=Amanieu
339f7567cf0 Auto merge of rust-lang#128255 - stepancheg:doc-shl, r=scottmcm
0d6a7dd333b Merge from rustc
a66bc798ecd Auto merge of rust-lang#127946 - tgross35:fmt-builders-set-result, r=cuviper
2986bfed613 [illumos/solaris] set MSG_NOSIGNAL while writing to sockets
3e854937500 Document int.checked_shl(BITS - 1)
59f3fefb4cb Rollup merge of rust-lang#128235 - harryscholes:fix-iterator-filter-docs, r=tgross35
a2dbfd338e9 Rollup merge of rust-lang#124941 - Skgland:stabilize-const-int-from-str, r=dtolnay
5b78bae1394 Add links from `assert_eq!` docs to `debug_assert_eq!`, etc.
a0f135d76af Always set `result` during `finish()` in debug builders
bd11b3dcc6d Fix  docs
22ce603b463 Auto merge of rust-lang#128165 - saethlin:optimize-clone-shims, r=compiler-errors
fb7d2a81c80 Fix doc nits
a1528206ab5 Rollup merge of rust-lang#128170 - saethlin:clone-fn, r=compiler-errors
0d636140614 Merge from rustc
cb8f69be7aa Rollup merge of rust-lang#128211 - juliusl:pr/align-change-time, r=tgross35
ba0582bf6c4 Rollup merge of rust-lang#128150 - BoxyUwU:std_only_sized_const_params, r=workingjubilee
30cfde4b97a Rollup merge of rust-lang#127950 - nnethercote:rustfmt-skip-on-use-decls, r=cuviper
8488ae6d29f Make Clone::clone a lang item
1342ef157c3 fix: compilation issue w/ refactored type
92c0ad77d5d Let InstCombine remove Clone shims inside Clone shims
c788415b025 Stop using `unsized_const_parameters` in core/std
ef4d4a039fe Auto merge of rust-lang#128195 - matthiaskrgr:rollup-195dfdf, r=matthiaskrgr
5b6c1e1ad32 Rollup merge of rust-lang#128137 - GrigorenkoPV:cstr-derive, r=dtolnay
aaeac06292c Rollup merge of rust-lang#127999 - ChrisDenton:arm32, r=Amanieu
ea3a99f0fc7 Rollup merge of rust-lang#128158 - workingjubilee:unsafe-wrap-personality-gcc, r=ChrisDenton
886fe5b7f53 Rollup merge of rust-lang#127300 - biabbas:fix_connect_timeout, r=tgross35
b889a1defa7 CStr: derive PartialEq, Eq; add test for Ord
3a181105a62 In connect timeout, read readiness of socket for vxworks. Check pollhup or pollerr for refused connections in linux
c4ee91f1305 Merge from rustc
244d8430769 std: update comments on gcc personality fn
d252b6b475b std: unsafe-wrap gcc::rust_eh_personality and impl
09bda4f2acb Rollup merge of rust-lang#128135 - joboet:reduplicate_tls, r=tgross35
a4c88bc2fbb Rollup merge of rust-lang#128046 - GrigorenkoPV:90435, r=tgross35
2614d86fcb4 Rollup merge of rust-lang#126548 - rik86189:issue-88264-fix, r=tgross35
75a178fdfa7 Rollup merge of rust-lang#126042 - davidzeng0:master, r=Amanieu
1e118aec933 Rollup merge of rust-lang#128131 - ChrisDenton:stuff, r=workingjubilee
cea2ca9af78 Rollup merge of rust-lang#128120 - compiler-errors:async-fn-name, r=oli-obk
92e3688370a Rollup merge of rust-lang#127733 - GrigorenkoPV:don't-forget, r=Amanieu
9b1cffdc1be Rollup merge of rust-lang#127480 - biabbas:vxworks, r=workingjubilee
2632261f008 Rollup merge of rust-lang#127252 - fitzgen:edge-cases-for-bitwise-operations, r=m-ou-se
b0d74144ae4 Rollup merge of rust-lang#126152 - RalfJung:size_of_val_raw, r=saethlin
6d0b7146359 Improved clarity of documentation for std::fs::create_dir_all
eb79e096922 std: use duplicate thread local state in tests
8456a976820 Forbid unsafe_op_in_unsafe_fn in sys/pal/windows
5a9fb1fc194 Import `core::ffi::c_void` in more places
16450f7b3e9 Merge from rustc
697c717b542 Add chroot unsupported implementation for VxWorks
6242470207d Rollup merge of rust-lang#128106 - hallfox:patch-1, r=ChrisDenton
de086ea59d4 Rollup merge of rust-lang#128092 - ChrisDenton:wrappers, r=workingjubilee
ccba33ca2dc Rollup merge of rust-lang#128043 - safinaskar:primitive, r=workingjubilee
a069998a10d Rollup merge of rust-lang#127481 - a1phyr:pattern_gat, r=Amanieu
bc7345c7866 Rollup merge of rust-lang#126770 - wr7:master, r=Amanieu
21f6b6516e2 Rollup merge of rust-lang#125962 - Coekjan:const-binary-heap, r=Amanieu
eee5bbaed57 Auto merge of rust-lang#127153 - NobodyXu:pipe, r=ChrisDenton
fd3a45fc3f9 Gate AsyncFn* under async_closure feature
0374ea22cab Add elem_offset and related methods
2b3eacb22c6 library/core/src/primitive.rs: small doc fix
45f80e6b25b Fix return type of FileAttr methods on AIX target
6cabb65c3fa add `is_multiple_of` for unsigned integer types
4c4a93a480e Initial implementation of anonymous_pipe
63d29970101 Update process vxworks, set default stack size of 256 Kib for vxworks. User can set the stack size using RUST_MIN_STACK, with min size of libc::PTHREAD_STACK_MIN(4kib)
ee8604174b0 Rollup merge of rust-lang#128089 - workingjubilee:commonly-wrapped-to-make-safe, r=ChrisDenton
ad9a52dcb35 Rollup merge of rust-lang#125834 - workingjubilee:weaken-thir-unsafeck-for-addr-of-static-mut, r=compiler-errors
642c69bbe40 Remove wrapper functions from c.rs
de2a0378391 std: Unsafe-wrap backtrace code held in-common
155aef9d64b std: Unsafe-wrap alloc code held in-common
bee0155d119 Cfg disable on_broken_pipe_flag_used() for vxworks
227b5afa55e Disable dirfd for vxworks, Return unsupported error from set_times and lchown for vxworks
22a6797af81 Allow unused unsafe for vxworks in read_at and write at
8be45a9e6a7 Docs for core::primitive: mention that "core" can be shadowed, too, so we should write "::core"
c039ee8ff7e library: vary unsafety in bootstrapping for SEH
6765b971f38 std: unsafe-wrap personality::dwarf::eh
7ae76f0ee2d Rollup merge of rust-lang#128008 - weiznich:fix/121521, r=lcnr
323e962d2cd Rollup merge of rust-lang#127996 - ian-h-chamberlain:fix/horizon-warnings-unsafe-in-unsafe, r=tgross35
ae6187f170c Rollup merge of rust-lang#127415 - AljoschaMeyer:master, r=dtolnay
d6a36f520f5 Use given allocator instad of Global
d0bc9a0ec5d Start using `#[diagnostic::do_not_recommend]` in the standard library
ba43261b233 Rollup merge of rust-lang#127583 - Nilstrieb:invalid-utf8, r=joboet
0727e53d393 Fix warnings when checking armv6k-nintendo-3ds
bbe4da839fa Fix some `#[cfg_attr(not(doc), repr(..))]`
321dbf82a78 Deal with invalid UTF-8 from `gai_strerror`
6aa00e1eece std::thread: available_parallelism implementation for vxWorks proposal.
2fff48df757 Auto merge of rust-lang#127722 - BoxyUwU:new_adt_const_params_limitations, r=compiler-errors
d7770e9cca2 Rollup merge of rust-lang#128005 - ChrisDenton:msvc-include, r=joboet
8fdee233d27 Rollup merge of rust-lang#127734 - ChrisDenton:netc, r=Mark-Simulacrum
3b2536ec206 Remove _tls_used hack
07dbb381321 Rollup merge of rust-lang#127873 - workingjubilee:forbid-unsafe-ops-for-kmc-solid, r=Amanieu
bd262955725 Rollup merge of rust-lang#127843 - workingjubilee:break-up-big-ass-stack-overflow-fn, r=joboet
00b4f61ec49 Inject win arm32 shims into metadata generation
2b628674392 Rollup merge of rust-lang#127918 - ChrisDenton:thread-name-string, r=joboet
a077eb1965c Rollup merge of rust-lang#123196 - Ayush1325:uefi-process, r=joboet
eb09be43d35 std: forbid unwrapped unsafe in unsupported_backslash
dcb98546d31 kmc-solid: forbid(unsafe_op_in_unsafe_fn)
845a2f78382 Auto merge of rust-lang#127982 - matthiaskrgr:rollup-nzyvphj, r=matthiaskrgr
00d6fc4cfef Rollup merge of rust-lang#127978 - nyurik:lib-refs, r=workingjubilee
4d8afcdd44b Avoid ref when using format! for perf
9f20a0f28ba Rollup merge of rust-lang#126199 - ivan-shrimp:nonzero_isqrt, r=tgross35
f06530cc0c3 Rollup merge of rust-lang#112328 - juliusl:pr/windows-add-change-time, r=ChrisDenton
8d5cf50b19d uefi: process: Fixes from PR
c6cb67c41a3 uefi: process: Final Touchups
afe1ef08b0e uefi: process: Add CommandArgs support
ef6b1730a13 uefi: process: Add support for args
1991fe38c57 uefi: process Implement inherit
24a95828625 uefi: process: Add null protocol
36a0e1e01c8 uefi: process: Add stderr support
b712e740ca4 uefi: process: Add support to capture stdout
e6eeb4ee295 uefi: Add process
f3b1c8a63e4 improve safety comment
93489988c77 add `NonZero<uN>::isqrt`
edc4cdc351b Use `#[rustfmt::skip]` on some `use` groups to prevent reordering.
489f1ef8747 unix: acquire-load NEED_ALTSTACK
9e11e01d38f unix: Unsafe-wrap stack_overflow::{drop,make}_handler
72c7444faf0 unix: Unsafe-wrap stack_overflow::cleanup
33a32f20bfd unix: lift init of sigaltstack before sigaction
9fb6e4958f7 unix: Unsafe-wrap stack_overflow::signal_handler
c99ebd411b7 Rollup merge of rust-lang#127594 - c6c7:fuchsia-status-code-match-arm, r=tmandry
83782615519 Move ThreadName conversions to &cstr/&str
68e23910a05 Style change
16bce8a458a Make `Thread::new_inner` a safe function
d1d98933f8f Rollup merge of rust-lang#127748 - scottmcm:option_len, r=joboet
b0c85badd9f Rollup merge of rust-lang#124881 - Sp00ph:reentrant_lock_tid, r=joboet
7e218501a06 Update `ReentrantLock` implementation, add `CURRENT_ID` thread local.
c10a929ac5e Safely enforce thread name requirements
cc4ed954619 Rollup merge of rust-lang#127077 - tbu-:pr_doc_fd_to_owned, r=workingjubilee
37d7bff7bb1 Rollup merge of rust-lang#127861 - Kriskras99:patch-1, r=tgross35
3d50720567e Rollup merge of rust-lang#127859 - RalfJung:ptr-dyn-metadata, r=scottmcm
1f3311b800b Rollup merge of rust-lang#127845 - workingjubilee:actually-break-up-big-ass-stack-overflow-fn, r=joboet
557859328cb Auto merge of rust-lang#127865 - matthiaskrgr:rollup-8m49dlg, r=matthiaskrgr
54728b12a9f feat: adding ext that returns change_time for Windows
b164bab985b Auto merge of rust-lang#125942 - timokroeger:windows-once-futex, r=ChrisDenton
0eda3a36123 Rollup merge of rust-lang#127337 - celinval:intrinsics-fallback, r=oli-obk
ed3c6d115e4 Mention how you can go from `BorrowedFd` to `OwnedFd` and back
455bd5705fb Make language around `ToOwned` for `BorrowedFd` more precise
ab7a0d4d6a5 Document the column numbers for the dbg! macro
89cd225caaa ptr::metadata: update comment on vtable_ptr work-around
51e54a4f5de ptr::metadata: avoid references to extern types
be0c06bc63e Split part of `adt_const_params` into `unsized_const_params`
857ed93c04e Forbid `!Sized` types and references
aedc16cadfe unix: unsafe-wrap install_main_guard_default
4db3aa1e628 unix: clean up install_main_guard_freebsd
d167f00072d unix: stack_start_aligned is a safe fn
27b79e6e1f7 unix: split stack_overflow::install_main_guard by os
d50143fddb9 Update name of Windows abort constant to match platform documentation
cbaa8317349 Add match arm for Fuchsia status code upon an abort in a test
f15715f3e48 lib: replace some `mem::forget`'s with `ManuallyDrop`
9bbf09d3d07 Windows: move BSD socket shims to netc
d76c965affa Remove generic lifetime parameter of trait `Pattern`
ad3db57a529 Use Option's discriminant as its size hint
3b86ae3449f Explicitly ignore `into_raw_handle()` using `let _ =` in sys/pal/windows.
1cb5354fc6c Add `must_use` to IntoRawFd/IntoRawSocket/IntoRawHandle's methods.
697377abf32 Clarify/add `must_use` messages for more `into_raw*` functions of `alloc` types.
a7bec568626 size_of_val_raw: for length 0 this is safe to call
39c4daabd50 Reset sigpipe not supported for vxworks
ca537d2cb33 Fix them doc examples some more
be23cef3a42 Fix doc examples
8d0199656c4 Run formatter on alloc/src/boxed.rs
c3b602af8ce Add missing try_new_uninit_slice_in and try_new_zeroed_slice_in
54875740eef Document safety of a few intrinsics
87fcd2f5c73 Move a few intrinsics to use Rust abi
6b549baafd8 mark `can_not_overflow` as `#[rustc_const_stable(...)]`
259c058b9f7 stabilize `const_int_from_str`
538fe8146ef Add edge-case examples to `{count,leading,trailing}_{ones,zeros}` methods
5fc66ddb6d3 Implement `unsigned_signed_diff`
dbbb4ab477a less garbage, more examples
4952644d73e update tracking issue for `const_binary_heap_new_in`
33389b0e051 more explicitly state the basic rules of working with the obtained raw pointers
395ad9f8afc Windows: Use futex implementation for `Once`
7953644ecec from_ref, from_mut: clarify domain of quantification

git-subtree-dir: library
git-subtree-split: 9cc3bc6add336a695c0570fb8655164ac96cc365
  • Loading branch information
carolynzech committed Aug 16, 2024
1 parent dd0d265 commit 9d7b420
Show file tree
Hide file tree
Showing 642 changed files with 8,224 additions and 4,887 deletions.
489 changes: 489 additions & 0 deletions Cargo.lock

Large diffs are not rendered by default.

44 changes: 44 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
[workspace]
resolver = "1"
members = [
"std",
"sysroot",
]

exclude = [
# stdarch has its own Cargo workspace
"stdarch",
]

[profile.release.package.compiler_builtins]
# For compiler-builtins we always use a high number of codegen units.
# The goal here is to place every single intrinsic into its own object
# file to avoid symbol clashes with the system libgcc if possible. Note
# that this number doesn't actually produce this many object files, we
# just don't create more than this number of object files.
#
# It's a bit of a bummer that we have to pass this here, unfortunately.
# Ideally this would be specified through an env var to Cargo so Cargo
# knows how many CGUs are for this specific crate, but for now
# per-crate configuration isn't specifiable in the environment.
codegen-units = 10000

# These dependencies of the standard library implement symbolication for
# backtraces on most platforms. Their debuginfo causes both linking to be slower
# (more data to chew through) and binaries to be larger without really all that
# much benefit. This section turns them all to down to have no debuginfo which
# helps to improve link times a little bit.
[profile.release.package]
addr2line.debug = 0
adler.debug = 0
gimli.debug = 0
miniz_oxide.debug = 0
object.debug = 0
rustc-demangle.debug = 0

[patch.crates-io]
# See comments in `library/rustc-std-workspace-core/README.md` for what's going on
# here
rustc-std-workspace-core = { path = 'rustc-std-workspace-core' }
rustc-std-workspace-alloc = { path = 'rustc-std-workspace-alloc' }
rustc-std-workspace-std = { path = 'rustc-std-workspace-std' }
7 changes: 5 additions & 2 deletions alloc/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ edition = "2021"

[dependencies]
core = { path = "../core" }
compiler_builtins = { version = "0.1.40", features = ['rustc-dep-of-std'] }
compiler_builtins = { version = "0.1.114", features = ['rustc-dep-of-std'] }

[target.'cfg(not(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64")))'.dependencies]
compiler_builtins = { version = "0.1.114", features = ["no-f16-f128"] }

[dev-dependencies]
rand = { version = "0.8.5", default-features = false, features = ["alloc"] }
Expand Down Expand Up @@ -38,8 +41,8 @@ harness = false
compiler-builtins-mem = ['compiler_builtins/mem']
compiler-builtins-c = ["compiler_builtins/c"]
compiler-builtins-no-asm = ["compiler_builtins/no-asm"]
compiler-builtins-no-f16-f128 = ["compiler_builtins/no-f16-f128"]
compiler-builtins-mangled-names = ["compiler_builtins/mangled-names"]
compiler-builtins-weak-intrinsics = ["compiler_builtins/weak-intrinsics"]
# Make panics and failed asserts immediately abort without formatting any message
panic_immediate_abort = ["core/panic_immediate_abort"]
# Choose algorithms that are optimized for binary size instead of runtime performance
Expand Down
3 changes: 2 additions & 1 deletion alloc/benches/btree/map.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
use std::collections::BTreeMap;
use std::ops::RangeBounds;

use rand::{seq::SliceRandom, Rng};
use rand::seq::SliceRandom;
use rand::Rng;
use test::{black_box, Bencher};

macro_rules! map_insert_rand_bench {
Expand Down
1 change: 1 addition & 0 deletions alloc/benches/linked_list.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use std::collections::LinkedList;

use test::Bencher;

#[bench]
Expand Down
1 change: 1 addition & 0 deletions alloc/benches/string.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use std::iter::repeat;

use test::{black_box, Bencher};

#[bench]
Expand Down
3 changes: 2 additions & 1 deletion alloc/benches/vec.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use rand::RngCore;
use std::iter::repeat;

use rand::RngCore;
use test::{black_box, Bencher};

#[bench]
Expand Down
7 changes: 3 additions & 4 deletions alloc/benches/vec_deque.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use std::{
collections::{vec_deque, VecDeque},
mem,
};
use std::collections::{vec_deque, VecDeque};
use std::mem;

use test::{black_box, Bencher};

#[bench]
Expand Down
3 changes: 2 additions & 1 deletion alloc/benches/vec_deque_append.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use std::{collections::VecDeque, time::Instant};
use std::collections::VecDeque;
use std::time::Instant;

const VECDEQUE_LEN: i32 = 100000;
const WARMUP_N: usize = 100;
Expand Down
18 changes: 8 additions & 10 deletions alloc/src/alloc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,14 @@

#![stable(feature = "alloc_module", since = "1.28.0")]

#[stable(feature = "alloc_module", since = "1.28.0")]
#[doc(inline)]
pub use core::alloc::*;
#[cfg(not(test))]
use core::hint;

#[cfg(not(test))]
use core::ptr::{self, NonNull};

#[stable(feature = "alloc_module", since = "1.28.0")]
#[doc(inline)]
pub use core::alloc::*;

#[cfg(test)]
mod tests;

Expand Down Expand Up @@ -57,7 +55,7 @@ pub struct Global;
#[cfg(test)]
pub use std::alloc::Global;

/// Allocate memory with the global allocator.
/// Allocates memory with the global allocator.
///
/// This function forwards calls to the [`GlobalAlloc::alloc`] method
/// of the allocator registered with the `#[global_allocator]` attribute
Expand Down Expand Up @@ -101,7 +99,7 @@ pub unsafe fn alloc(layout: Layout) -> *mut u8 {
}
}

/// Deallocate memory with the global allocator.
/// Deallocates memory with the global allocator.
///
/// This function forwards calls to the [`GlobalAlloc::dealloc`] method
/// of the allocator registered with the `#[global_allocator]` attribute
Expand All @@ -119,7 +117,7 @@ pub unsafe fn dealloc(ptr: *mut u8, layout: Layout) {
unsafe { __rust_dealloc(ptr, layout.size(), layout.align()) }
}

/// Reallocate memory with the global allocator.
/// Reallocates memory with the global allocator.
///
/// This function forwards calls to the [`GlobalAlloc::realloc`] method
/// of the allocator registered with the `#[global_allocator]` attribute
Expand All @@ -138,7 +136,7 @@ pub unsafe fn realloc(ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8
unsafe { __rust_realloc(ptr, layout.size(), layout.align(), new_size) }
}

/// Allocate zero-initialized memory with the global allocator.
/// Allocates zero-initialized memory with the global allocator.
///
/// This function forwards calls to the [`GlobalAlloc::alloc_zeroed`] method
/// of the allocator registered with the `#[global_allocator]` attribute
Expand Down Expand Up @@ -345,7 +343,7 @@ extern "Rust" {
fn __rust_alloc_error_handler(size: usize, align: usize) -> !;
}

/// Signal a memory allocation error.
/// Signals a memory allocation error.
///
/// Callers of memory allocation APIs wishing to cease execution
/// in response to an allocation error are encouraged to call this function,
Expand Down
3 changes: 2 additions & 1 deletion alloc/src/alloc/tests.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
use super::*;

extern crate test;
use crate::boxed::Box;
use test::Bencher;

use crate::boxed::Box;

#[test]
fn allocate_zeroed() {
unsafe {
Expand Down
7 changes: 3 additions & 4 deletions alloc/src/borrow.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,20 @@

#![stable(feature = "rust1", since = "1.0.0")]

#[stable(feature = "rust1", since = "1.0.0")]
pub use core::borrow::{Borrow, BorrowMut};
use core::cmp::Ordering;
use core::hash::{Hash, Hasher};
#[cfg(not(no_global_oom_handling))]
use core::ops::{Add, AddAssign};
use core::ops::{Deref, DerefPure};

#[stable(feature = "rust1", since = "1.0.0")]
pub use core::borrow::{Borrow, BorrowMut};
use Cow::*;

use crate::fmt;
#[cfg(not(no_global_oom_handling))]
use crate::string::String;

use Cow::*;

#[stable(feature = "rust1", since = "1.0.0")]
impl<'a, B: ?Sized> Borrow<B> for Cow<'a, B>
where
Expand Down
Loading

0 comments on commit 9d7b420

Please sign in to comment.