rust/library
Matthias Krüger 34997f0114
Rollup merge of #93888 - sunfishcode:sunfishcode/impl-asfd-for-ref, r=joshtriplett
Implement `AsFd` for `&T` and `&mut T`.

Add implementations of `AsFd` for `&T` and `&mut T`, so that users can
write code like this:

```rust
pub fn fchown<F: AsFd>(fd: F, uid: Option<u32>, gid: Option<u32>) -> io::Result<()> {
```

with `fd: F` rather than `fd: &F`.

And similar for `AsHandle` and `AsSocket` on Windows.

Also, adjust the `fchown` example to pass the file by reference. The
code can work either way now, but passing by reference is more likely
to be what users will want to do.

This is an alternative to #93869, and is a simpler way to achieve the
same goals: users don't need to pass borrowed-`BorrowedFd` arguments,
and it prevents a pitfall in the case where users write `fd: F` instead
of `fd: &F`.

r? ```@joshtriplett```
2022-02-11 21:48:50 +01:00
..
alloc Rollup merge of #93824 - Amanieu:stable_cfg_target_has_atomic, r=davidtwco 2022-02-10 12:10:00 +01:00
backtrace@b02ed04a7e Updated backtrace submodule 2021-11-02 12:31:34 +01:00
core Rollup merge of #93824 - Amanieu:stable_cfg_target_has_atomic, r=davidtwco 2022-02-10 12:10:00 +01:00
panic_abort Switch all libraries to the 2021 edition 2021-12-23 19:03:47 +08:00
panic_unwind adapt L4Bender implementation 2022-01-21 16:50:33 +01:00
portable-simd Sync rust-lang/portable-simd@03f6fbb21e 2022-01-27 11:23:40 -08:00
proc_macro Auto merge of #92598 - Badel2:panic-update-hook, r=yaahc 2022-01-16 02:18:42 +00:00
profiler_builtins Switch all libraries to the 2021 edition 2021-12-23 19:03:47 +08:00
rtstartup
rustc-std-workspace-alloc Switch all libraries to the 2021 edition 2021-12-23 19:03:47 +08:00
rustc-std-workspace-core Switch all libraries to the 2021 edition 2021-12-23 19:03:47 +08:00
rustc-std-workspace-std Switch all libraries to the 2021 edition 2021-12-23 19:03:47 +08:00
std Rollup merge of #93888 - sunfishcode:sunfishcode/impl-asfd-for-ref, r=joshtriplett 2022-02-11 21:48:50 +01:00
stdarch@eaee02ffdf Update stdarch submodule 2022-01-28 12:46:22 +00:00
test Rollup merge of #93416 - name1e5s:chore/remove_allow_fail, r=m-ou-se 2022-02-07 14:08:34 +00:00
unwind Switch all libraries to the 2021 edition 2021-12-23 19:03:47 +08:00