Skip to content

Commit 4c4e430

Browse files
committed
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`.
1 parent 6abb638 commit 4c4e430

File tree

6 files changed

+62
-25
lines changed

6 files changed

+62
-25
lines changed

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

Lines changed: 3 additions & 0 deletions
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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ impl BorrowedFd<'_> {
6262
/// the returned `BorrowedFd`, and it must not have the value `-1`.
6363
#[inline]
6464
#[unstable(feature = "io_safety", issue = "87074")]
65-
pub unsafe fn borrow_raw_fd(fd: RawFd) -> Self {
65+
pub unsafe fn borrow_raw(fd: RawFd) -> Self {
6666
assert_ne!(fd, u32::MAX as RawFd);
6767
// 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)
6868
unsafe { Self { fd, _phantom: PhantomData } }
@@ -215,7 +215,7 @@ impl AsFd for OwnedFd {
215215
// Safety: `OwnedFd` and `BorrowedFd` have the same validity
216216
// invariants, and the `BorrowdFd` is bounded by the lifetime
217217
// of `&self`.
218-
unsafe { BorrowedFd::borrow_raw_fd(self.as_raw_fd()) }
218+
unsafe { BorrowedFd::borrow_raw(self.as_raw_fd()) }
219219
}
220220
}
221221

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

Lines changed: 34 additions & 0 deletions
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, FromRawFd, IntoRawFd, RawFd, BorrowedFd};
6+
#[cfg(target_os = "wasi")]
7+
use crate::os::wasi::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd, BorrowedFd};
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, BorrowedFd, OwnedFd, FromRawFd, IntoRawFd, RawFd, AsRawFd};
22+
#[cfg(target_os = "wasi")]
23+
use crate::os::wasi::io::{AsFd, BorrowedFd, OwnedFd, FromRawFd, IntoRawFd, RawFd, AsRawFd};
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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ impl BorrowedHandle<'_> {
131131
/// [here]: https://devblogs.microsoft.com/oldnewthing/20040302-00/?p=40443
132132
#[inline]
133133
#[unstable(feature = "io_safety", issue = "87074")]
134-
pub unsafe fn borrow_raw_handle(handle: RawHandle) -> Self {
134+
pub unsafe fn borrow_raw(handle: RawHandle) -> Self {
135135
Self { handle, _phantom: PhantomData }
136136
}
137137
}
@@ -329,7 +329,7 @@ impl AsHandle for OwnedHandle {
329329
// Safety: `OwnedHandle` and `BorrowedHandle` have the same validity
330330
// invariants, and the `BorrowdHandle` is bounded by the lifetime
331331
// of `&self`.
332-
unsafe { BorrowedHandle::borrow_raw_handle(self.as_raw_handle()) }
332+
unsafe { BorrowedHandle::borrow_raw(self.as_raw_handle()) }
333333
}
334334
}
335335

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

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

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

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

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

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

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

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

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

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

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ impl BorrowedSocket<'_> {
6767
/// `INVALID_SOCKET`.
6868
#[inline]
6969
#[unstable(feature = "io_safety", issue = "87074")]
70-
pub unsafe fn borrow_raw_socket(socket: RawSocket) -> Self {
70+
pub unsafe fn borrow_raw(socket: RawSocket) -> Self {
7171
debug_assert_ne!(socket, c::INVALID_SOCKET as RawSocket);
7272
Self { socket, _phantom: PhantomData }
7373
}
@@ -223,14 +223,14 @@ impl AsSocket for OwnedSocket {
223223
// Safety: `OwnedSocket` and `BorrowedSocket` have the same validity
224224
// invariants, and the `BorrowdSocket` is bounded by the lifetime
225225
// of `&self`.
226-
unsafe { BorrowedSocket::borrow_raw_socket(self.as_raw_socket()) }
226+
unsafe { BorrowedSocket::borrow_raw(self.as_raw_socket()) }
227227
}
228228
}
229229

230230
impl AsSocket for crate::net::TcpStream {
231231
#[inline]
232232
fn as_socket(&self) -> BorrowedSocket<'_> {
233-
unsafe { BorrowedSocket::borrow_raw_socket(self.as_raw_socket()) }
233+
unsafe { BorrowedSocket::borrow_raw(self.as_raw_socket()) }
234234
}
235235
}
236236

@@ -251,7 +251,7 @@ impl From<OwnedSocket> for crate::net::TcpStream {
251251
impl AsSocket for crate::net::TcpListener {
252252
#[inline]
253253
fn as_socket(&self) -> BorrowedSocket<'_> {
254-
unsafe { BorrowedSocket::borrow_raw_socket(self.as_raw_socket()) }
254+
unsafe { BorrowedSocket::borrow_raw(self.as_raw_socket()) }
255255
}
256256
}
257257

@@ -272,7 +272,7 @@ impl From<OwnedSocket> for crate::net::TcpListener {
272272
impl AsSocket for crate::net::UdpSocket {
273273
#[inline]
274274
fn as_socket(&self) -> BorrowedSocket<'_> {
275-
unsafe { BorrowedSocket::borrow_raw_socket(self.as_raw_socket()) }
275+
unsafe { BorrowedSocket::borrow_raw(self.as_raw_socket()) }
276276
}
277277
}
278278

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

Lines changed: 6 additions & 6 deletions
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)