Skip to content

Commit c6fa33a

Browse files
authored
Rollup merge of #93663 - sunfishcode:sunfishcode/as-raw-name, r=joshtriplett
Rename `BorrowedFd::borrow_raw_fd` to `BorrowedFd::borrow_raw`. Also, rename `BorrowedHandle::borrow_raw_handle` and `BorrowedSocket::borrow_raw_socket` to `BorrowedHandle::borrow_raw` and `BorrowedSocket::borrow_raw`. This is just a minor rename to reduce redundancy in the user code calling these functions, and to eliminate an inessential difference between `BorrowedFd` code and `BorrowedHandle`/`BorrowedSocket` code. While here, add a simple test exercising `BorrowedFd::borrow_raw_fd`. r? `@joshtriplett`
2 parents 1de70bc + 7d603dc commit c6fa33a

File tree

6 files changed

+62
-25
lines changed

6 files changed

+62
-25
lines changed

library/std/src/os/fd/mod.rs

+3
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,6 @@ pub mod owned;
1111

1212
// Implementations for `AsRawFd` etc. for network types.
1313
mod net;
14+
15+
#[cfg(test)]
16+
mod tests;

library/std/src/os/fd/owned.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ impl BorrowedFd<'_> {
6666
/// the returned `BorrowedFd`, and it must not have the value `-1`.
6767
#[inline]
6868
#[unstable(feature = "io_safety", issue = "87074")]
69-
pub unsafe fn borrow_raw_fd(fd: RawFd) -> Self {
69+
pub unsafe fn borrow_raw(fd: RawFd) -> Self {
7070
assert_ne!(fd, u32::MAX as RawFd);
7171
// SAFETY: we just asserted that the value is in the valid range and isn't `-1` (the only value bigger than `0xFF_FF_FF_FE` unsigned)
7272
unsafe { Self { fd, _phantom: PhantomData } }
@@ -235,7 +235,7 @@ impl AsFd for OwnedFd {
235235
// Safety: `OwnedFd` and `BorrowedFd` have the same validity
236236
// invariants, and the `BorrowdFd` is bounded by the lifetime
237237
// of `&self`.
238-
unsafe { BorrowedFd::borrow_raw_fd(self.as_raw_fd()) }
238+
unsafe { BorrowedFd::borrow_raw(self.as_raw_fd()) }
239239
}
240240
}
241241

library/std/src/os/fd/tests.rs

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#[cfg(any(unix, target_os = "wasi"))]
2+
#[test]
3+
fn test_raw_fd() {
4+
#[cfg(unix)]
5+
use crate::os::unix::io::{AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, RawFd};
6+
#[cfg(target_os = "wasi")]
7+
use crate::os::wasi::io::{AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, RawFd};
8+
9+
let raw_fd: RawFd = crate::io::stdin().as_raw_fd();
10+
11+
let stdin_as_file = unsafe { crate::fs::File::from_raw_fd(raw_fd) };
12+
assert_eq!(stdin_as_file.as_raw_fd(), raw_fd);
13+
assert_eq!(unsafe { BorrowedFd::borrow_raw(raw_fd).as_raw_fd() }, raw_fd);
14+
assert_eq!(stdin_as_file.into_raw_fd(), 0);
15+
}
16+
17+
#[cfg(any(unix, target_os = "wasi"))]
18+
#[test]
19+
fn test_fd() {
20+
#[cfg(unix)]
21+
use crate::os::unix::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd, RawFd};
22+
#[cfg(target_os = "wasi")]
23+
use crate::os::wasi::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd, RawFd};
24+
25+
let stdin = crate::io::stdin();
26+
let fd: BorrowedFd<'_> = stdin.as_fd();
27+
let raw_fd: RawFd = fd.as_raw_fd();
28+
let owned_fd: OwnedFd = unsafe { OwnedFd::from_raw_fd(raw_fd) };
29+
30+
let stdin_as_file = crate::fs::File::from(owned_fd);
31+
32+
assert_eq!(stdin_as_file.as_fd().as_raw_fd(), raw_fd);
33+
assert_eq!(Into::<OwnedFd>::into(stdin_as_file).into_raw_fd(), raw_fd);
34+
}

library/std/src/os/windows/io/handle.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ impl BorrowedHandle<'_> {
135135
/// [here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443
136136
#[inline]
137137
#[unstable(feature = "io_safety", issue = "87074")]
138-
pub unsafe fn borrow_raw_handle(handle: RawHandle) -> Self {
138+
pub unsafe fn borrow_raw(handle: RawHandle) -> Self {
139139
Self { handle, _phantom: PhantomData }
140140
}
141141
}
@@ -333,7 +333,7 @@ impl AsHandle for OwnedHandle {
333333
// Safety: `OwnedHandle` and `BorrowedHandle` have the same validity
334334
// invariants, and the `BorrowdHandle` is bounded by the lifetime
335335
// of `&self`.
336-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
336+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
337337
}
338338
}
339339

@@ -361,49 +361,49 @@ impl From<OwnedHandle> for fs::File {
361361
impl AsHandle for crate::io::Stdin {
362362
#[inline]
363363
fn as_handle(&self) -> BorrowedHandle<'_> {
364-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
364+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
365365
}
366366
}
367367

368368
impl<'a> AsHandle for crate::io::StdinLock<'a> {
369369
#[inline]
370370
fn as_handle(&self) -> BorrowedHandle<'_> {
371-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
371+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
372372
}
373373
}
374374

375375
impl AsHandle for crate::io::Stdout {
376376
#[inline]
377377
fn as_handle(&self) -> BorrowedHandle<'_> {
378-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
378+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
379379
}
380380
}
381381

382382
impl<'a> AsHandle for crate::io::StdoutLock<'a> {
383383
#[inline]
384384
fn as_handle(&self) -> BorrowedHandle<'_> {
385-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
385+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
386386
}
387387
}
388388

389389
impl AsHandle for crate::io::Stderr {
390390
#[inline]
391391
fn as_handle(&self) -> BorrowedHandle<'_> {
392-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
392+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
393393
}
394394
}
395395

396396
impl<'a> AsHandle for crate::io::StderrLock<'a> {
397397
#[inline]
398398
fn as_handle(&self) -> BorrowedHandle<'_> {
399-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
399+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
400400
}
401401
}
402402

403403
impl AsHandle for crate::process::ChildStdin {
404404
#[inline]
405405
fn as_handle(&self) -> BorrowedHandle<'_> {
406-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
406+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
407407
}
408408
}
409409

@@ -417,7 +417,7 @@ impl From<crate::process::ChildStdin> for OwnedHandle {
417417
impl AsHandle for crate::process::ChildStdout {
418418
#[inline]
419419
fn as_handle(&self) -> BorrowedHandle<'_> {
420-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
420+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
421421
}
422422
}
423423

@@ -431,7 +431,7 @@ impl From<crate::process::ChildStdout> for OwnedHandle {
431431
impl AsHandle for crate::process::ChildStderr {
432432
#[inline]
433433
fn as_handle(&self) -> BorrowedHandle<'_> {
434-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
434+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
435435
}
436436
}
437437

@@ -445,7 +445,7 @@ impl From<crate::process::ChildStderr> for OwnedHandle {
445445
impl<T> AsHandle for crate::thread::JoinHandle<T> {
446446
#[inline]
447447
fn as_handle(&self) -> BorrowedHandle<'_> {
448-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
448+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
449449
}
450450
}
451451

library/std/src/os/windows/io/socket.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ impl BorrowedSocket<'_> {
7171
/// `INVALID_SOCKET`.
7272
#[inline]
7373
#[unstable(feature = "io_safety", issue = "87074")]
74-
pub unsafe fn borrow_raw_socket(socket: RawSocket) -> Self {
74+
pub unsafe fn borrow_raw(socket: RawSocket) -> Self {
7575
debug_assert_ne!(socket, c::INVALID_SOCKET as RawSocket);
7676
Self { socket, _phantom: PhantomData }
7777
}
@@ -236,14 +236,14 @@ impl AsSocket for OwnedSocket {
236236
// Safety: `OwnedSocket` and `BorrowedSocket` have the same validity
237237
// invariants, and the `BorrowdSocket` is bounded by the lifetime
238238
// of `&self`.
239-
unsafe { BorrowedSocket::borrow_raw_socket(self.as_raw_socket()) }
239+
unsafe { BorrowedSocket::borrow_raw(self.as_raw_socket()) }
240240
}
241241
}
242242

243243
impl AsSocket for crate::net::TcpStream {
244244
#[inline]
245245
fn as_socket(&self) -> BorrowedSocket<'_> {
246-
unsafe { BorrowedSocket::borrow_raw_socket(self.as_raw_socket()) }
246+
unsafe { BorrowedSocket::borrow_raw(self.as_raw_socket()) }
247247
}
248248
}
249249

@@ -264,7 +264,7 @@ impl From<OwnedSocket> for crate::net::TcpStream {
264264
impl AsSocket for crate::net::TcpListener {
265265
#[inline]
266266
fn as_socket(&self) -> BorrowedSocket<'_> {
267-
unsafe { BorrowedSocket::borrow_raw_socket(self.as_raw_socket()) }
267+
unsafe { BorrowedSocket::borrow_raw(self.as_raw_socket()) }
268268
}
269269
}
270270

@@ -285,7 +285,7 @@ impl From<OwnedSocket> for crate::net::TcpListener {
285285
impl AsSocket for crate::net::UdpSocket {
286286
#[inline]
287287
fn as_socket(&self) -> BorrowedSocket<'_> {
288-
unsafe { BorrowedSocket::borrow_raw_socket(self.as_raw_socket()) }
288+
unsafe { BorrowedSocket::borrow_raw(self.as_raw_socket()) }
289289
}
290290
}
291291

library/std/src/sys/unix/stdio.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -96,46 +96,46 @@ pub fn panic_output() -> Option<impl io::Write> {
9696
impl AsFd for io::Stdin {
9797
#[inline]
9898
fn as_fd(&self) -> BorrowedFd<'_> {
99-
unsafe { BorrowedFd::borrow_raw_fd(libc::STDIN_FILENO) }
99+
unsafe { BorrowedFd::borrow_raw(libc::STDIN_FILENO) }
100100
}
101101
}
102102

103103
#[unstable(feature = "io_safety", issue = "87074")]
104104
impl<'a> AsFd for io::StdinLock<'a> {
105105
#[inline]
106106
fn as_fd(&self) -> BorrowedFd<'_> {
107-
unsafe { BorrowedFd::borrow_raw_fd(libc::STDIN_FILENO) }
107+
unsafe { BorrowedFd::borrow_raw(libc::STDIN_FILENO) }
108108
}
109109
}
110110

111111
#[unstable(feature = "io_safety", issue = "87074")]
112112
impl AsFd for io::Stdout {
113113
#[inline]
114114
fn as_fd(&self) -> BorrowedFd<'_> {
115-
unsafe { BorrowedFd::borrow_raw_fd(libc::STDOUT_FILENO) }
115+
unsafe { BorrowedFd::borrow_raw(libc::STDOUT_FILENO) }
116116
}
117117
}
118118

119119
#[unstable(feature = "io_safety", issue = "87074")]
120120
impl<'a> AsFd for io::StdoutLock<'a> {
121121
#[inline]
122122
fn as_fd(&self) -> BorrowedFd<'_> {
123-
unsafe { BorrowedFd::borrow_raw_fd(libc::STDOUT_FILENO) }
123+
unsafe { BorrowedFd::borrow_raw(libc::STDOUT_FILENO) }
124124
}
125125
}
126126

127127
#[unstable(feature = "io_safety", issue = "87074")]
128128
impl AsFd for io::Stderr {
129129
#[inline]
130130
fn as_fd(&self) -> BorrowedFd<'_> {
131-
unsafe { BorrowedFd::borrow_raw_fd(libc::STDERR_FILENO) }
131+
unsafe { BorrowedFd::borrow_raw(libc::STDERR_FILENO) }
132132
}
133133
}
134134

135135
#[unstable(feature = "io_safety", issue = "87074")]
136136
impl<'a> AsFd for io::StderrLock<'a> {
137137
#[inline]
138138
fn as_fd(&self) -> BorrowedFd<'_> {
139-
unsafe { BorrowedFd::borrow_raw_fd(libc::STDERR_FILENO) }
139+
unsafe { BorrowedFd::borrow_raw(libc::STDERR_FILENO) }
140140
}
141141
}

0 commit comments

Comments
 (0)