joboet
c14d137bfc
std: update internal uses of io::const_error!
2024-11-26 18:38:24 +01:00
Mads Marquart
f98d9dd334
Don't try to use confstr in Miri
2024-11-22 07:59:51 +01:00
Mads Marquart
b62ee10e54
Use with_capacity(0) because we're reading the capacity later on
2024-10-10 18:57:44 +02:00
Mads Marquart
6d075dc4d7
Prefer target_vendor = "apple" on confstr
2024-10-10 18:42:24 +02:00
Thom Chiovoloni
cbe428d8cb
use confstr(_CS_DARWIN_USER_TEMP_DIR, ...) as a TMPDIR fallback on darwin
2024-10-10 18:36:12 +02:00
Josh Stone
f4d9d1a0ea
Use &raw in the standard library
...
Since the stabilization in #127679 has reached stage0, 1.82-beta, we can
start using `&raw` freely, and even the soft-deprecated `ptr::addr_of!`
and `ptr::addr_of_mut!` can stop allowing the unstable feature.
I intentionally did not change any documentation or tests, but the rest
of those macro uses are all now using `&raw const` or `&raw mut` in the
standard library.
2024-09-25 17:03:20 -07:00
Huang Qi
24f622cf80
Initial std library support for NuttX
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com >
2024-09-24 15:35:40 +08:00
Jan Sommer
6f435cb07f
Port std library to RTEMS
2024-09-03 09:19:29 +02:00
Nicholas Nethercote
84ac80f192
Reformat use declarations.
...
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
2024-07-29 08:26:52 +10:00
bors
03c2100ded
Auto merge of #126606 - zachs18:patch-2, r=joboet
...
Guard against calling `libc::exit` multiple times on Linux.
Mitigates (but does not fix) #126600 by ensuring only one thread which calls Rust `exit` actually calls `libc::exit`, and all other callers of Rust `exit` block.
2024-07-13 01:18:59 +00:00
Zachary S
a609370143
Move exit guard from sys::common::exit_guard to sys::exit_guard.
2024-07-05 17:01:08 -05:00
David Carlier
fc50acae90
fix build
2024-06-23 09:56:02 +01:00
David Carlier
bd9ce3e074
std::unix::os::home_dir: fallback's optimisation.
...
we're using a guaranteed initialised field on success.
2024-06-23 08:22:51 +01:00
Zachary S
e71d06be10
On target_os = "linux", ensure that only one Rust thread calls libc::exit or returns from main.
2024-06-20 21:47:42 -05:00
Steve Lau
63ec8dd24f
fix: build on haiku
2024-06-10 10:38:00 +08:00
David Carlier
75607b7a5a
std::unix::os current_exe implementation simplification for haiku.
...
_get_net_image_info is a bit overkill as it allows to get broader
informations about the process.
2024-06-08 17:37:48 +01:00
Tobias Bucher
5d8f9b4dc1
Make std::env::{set_var, remove_var} unsafe in edition 2024
...
Allow calling these functions without `unsafe` blocks in editions up
until 2021, but don't trigger the `unused_unsafe` lint for `unsafe`
blocks containing these functions.
Fixes #27970 .
Fixes #90308 .
CC #124866 .
2024-05-29 23:42:27 +02:00
Mads Marquart
6016bad063
Use _NSGetEnviron instead of environ on iOS/tvOS/watchOS/visionOS
...
This should be slightly more correct, and matches the implementation in other programming languages:
- [Python's `os.environ`](https://github.com/python/cpython/blob/v3.12.3/Modules/posixmodule.c#L1562-L1566 ).
- [Swift's `Darwin.environ`](https://github.com/apple/swift-corelibs-foundation/blob/swift-5.10-RELEASE/CoreFoundation/Base.subproj/CFPlatform.c#L1811-L1812 ), though that library is bundled on the system, so they can change it if they want.
- [Dart/Flutter](https://github.com/dart-lang/sdk/blob/3.4.0/runtime/bin/platform_macos.cc#L205-L234 ), doesn't support environment variables on iOS.
- Node seems to not be entirely consistent with it:
- [`process.c`](https://github.com/nodejs/node/blob/v22.1.0/deps/uv/src/unix/process.c#L38 ).
- [`unix/core.c`](https://github.com/nodejs/node/blob/v22.1.0/deps/uv/src/unix/core.c#L59 ).
- [.NET/Xamarin](https://github.com/dotnet/runtime/blob/v8.0.5/src/native/libs/configure.cmake#L1099-L1106 ).
- [OpenJDK](https://github.com/openjdk/jdk/blob/jdk-23%2B22/src/java.base/unix/native/libjava/ProcessEnvironment_md.c#L31-L33 ).
2024-05-17 22:11:50 +02:00
Mads Marquart
d9c0eb8084
Use target_vendor = "apple" instead of target_os = "..."
2024-04-28 18:22:37 +02:00
Adam Gastineau
4f6f433745
Support for visionOS
2024-03-18 20:45:45 -07:00
Arthur Carcano
88ac7ace56
Delete architecture-specific memchr code in std::sys
...
Currently all architecture-specific memchr code is only used in
`std::io`. Most of the actual `memchr` capacity exposed to the user
through the slice API is instead implemented in core::slice::memchr.
Hence this commit deletes memchr from std::sys[_common] and replace
calls to it by calls to core::slice::memchr functions. This deletes
(r)memchr from the list of symbols linked to libc.
2024-02-20 22:27:39 +01:00
David Thomas
dbb15fb45d
Dyn erase at call site
2024-02-18 17:58:52 +00:00
joboet
99128b7e45
std: begin moving platform support modules into pal
2024-01-11 20:10:25 +01:00