rust/library/std/src
bors 7e7483d26e Auto merge of #110152 - ChrisDenton:windows-sys, r=thomcc
Start using `windows sys` for Windows FFI bindings in std

Switch to using windows-sys for FFI. In order to avoid some currently contentious issues, this uses windows-bindgen to generate a smaller set of bindings instead of using the full crate.

Unlike the windows-sys crate, the generated bindings uses `*mut c_void` for handle types instead of `isize`. This to sidestep opsem concerns about mixing pointer types and integers between languages. Note that `SOCKET` remains defined as an integer but instead of being a usize, it's changed to fit the [standard library definition](a41fc00eaf/library/std/src/os/windows/raw.rs (L12-L16)):

```rust
#[cfg(target_pointer_width = "32")]
pub type SOCKET = u32;
#[cfg(target_pointer_width = "64")]
pub type SOCKET = u64;
```

The generated bindings also customizes the `#[link]` imports. I hope to switch to using raw-dylib but I don't want to tie that too closely with the switch to windows-sys.

---

Changes outside of the bindings are, for the most part, fairly minimal (e.g. some differences in `*mut` vs. `*const` or a few types differ). One issue is that our own bindings sometimes mix in higher level types, like `BorrowedHandle`. This is pretty adhoc though.
2023-05-09 05:20:41 +00:00
..
backtrace Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
collections rm const traits in libcore 2023-04-16 06:49:27 +00:00
env std: move "mod tests/benches" to separate files 2020-08-31 02:56:59 +00:00
error remove fn backtrace 2022-08-01 20:10:40 +00:00
f32 Remove some cfg(not(bootstrap)) 2022-12-11 01:20:18 -05:00
f64 Remove some cfg(not(bootstrap)) 2022-12-11 01:20:18 -05:00
ffi remove some unneeded imports 2023-04-12 19:27:18 +02:00
fs Correctly convert an NT path to a Win32 path 2023-05-03 10:24:56 +01:00
io replace version placeholders 2023-04-28 08:47:55 -07:00
net Inline AsInner implementations 2023-05-01 13:25:09 +02:00
num rustc_expand: Mark inner #![test] attributes as soft-unstable 2020-11-20 19:35:03 +03:00
os Auto merge of #110152 - ChrisDenton:windows-sys, r=thomcc 2023-05-09 05:20:41 +00:00
panic review: fix nits and move panic safety tests to the correct place 2020-09-25 23:10:24 +02:00
path make many std tests work in Miri 2022-08-18 18:07:39 -04:00
personality Prevent aborting guard from aborting the process in a forced unwind 2023-05-07 12:35:54 +01:00
prelude correct std::prelude comment 2023-04-27 15:56:57 +02:00
process Implement read_buf for a few more types 2023-03-06 12:24:15 +01:00
sync replace version placeholders 2023-04-28 08:47:55 -07:00
sys Auto merge of #110152 - ChrisDenton:windows-sys, r=thomcc 2023-05-09 05:20:41 +00:00
sys_common Rollup merge of #105695 - joboet:remove_generic_parker, r=m-ou-se 2023-05-03 16:42:48 -07:00
thread avoid duplicating TLS state between test std and realstd 2023-04-28 17:24:16 +02:00
time Rollup merge of #103056 - beetrees:timespec-bug-fix, r=thomcc 2023-05-05 18:40:32 +05:30
alloc.rs Revert "Remove #[alloc_error_handler] from the compiler and library" 2023-04-25 00:08:35 +02:00
ascii.rs Add the basic ascii::Char type 2023-05-03 22:09:33 -07:00
backtrace.rs Replace libstd, libcore, liballoc in docs. 2022-12-30 14:00:40 +01:00
env.rs Rollup merge of #109894 - fleetingbytes:109893-var_os-never-returns-an-error, r=cuviper 2023-04-11 20:28:46 -07:00
error.rs remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
f32.rs Cover edge cases for {f32, f64}.hypot() docs 2023-04-13 22:41:55 +01:00
f64.rs Cover edge cases for {f32, f64}.hypot() docs 2023-04-13 22:41:55 +01:00
fs.rs Inline AsInner implementations 2023-05-01 13:25:09 +02:00
keyword_docs.rs enable rust_2018_idioms for doctests 2023-05-07 00:12:29 +03:00
lib.rs Revert "Report allocation errors as panics" 2023-04-25 00:08:37 +02:00
macros.rs Add tidy check for dbg 2022-12-31 15:32:09 +05:30
num.rs Add Saturating type (based on Wrapping type) 2021-08-10 19:27:01 +02:00
panic.rs review 2023-03-17 21:00:10 -07:00
panicking.rs Revert "Report allocation errors as panics" 2023-04-25 00:08:37 +02:00
path.rs Auto merge of #106621 - ozkanonur:enable-elided-lifetimes-for-doctests, r=Mark-Simulacrum 2023-05-08 04:50:28 +00:00
personality.rs Move personality functions to std 2022-08-23 16:12:58 +08:00
primitive_docs.rs Auto merge of #106621 - ozkanonur:enable-elided-lifetimes-for-doctests, r=Mark-Simulacrum 2023-05-08 04:50:28 +00:00
process.rs Auto merge of #106621 - ozkanonur:enable-elided-lifetimes-for-doctests, r=Mark-Simulacrum 2023-05-08 04:50:28 +00:00
rt.rs Replace libstd, libcore, liballoc in line comments. 2022-12-30 14:00:42 +01:00
time.rs update wasi_clock_time_api ref. 2023-04-29 19:04:16 +08:00