Skip to content

Commit 1d06cad

Browse files
committed
Auto merge of #114655 - nbdd0121:io-safety, r=<try>
Make `impl<Fd: AsFd>` impl take `?Sized` `@rustbot` labels: +T-libs-api +needs-fcp
2 parents 0c1fb2a + 9968519 commit 1d06cad

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -244,15 +244,15 @@ pub trait AsFd {
244244
}
245245

246246
#[stable(feature = "io_safety", since = "1.63.0")]
247-
impl<T: AsFd> AsFd for &T {
247+
impl<T: AsFd + ?Sized> AsFd for &T {
248248
#[inline]
249249
fn as_fd(&self) -> BorrowedFd<'_> {
250250
T::as_fd(self)
251251
}
252252
}
253253

254254
#[stable(feature = "io_safety", since = "1.63.0")]
255-
impl<T: AsFd> AsFd for &mut T {
255+
impl<T: AsFd + ?Sized> AsFd for &mut T {
256256
#[inline]
257257
fn as_fd(&self) -> BorrowedFd<'_> {
258258
T::as_fd(self)
@@ -396,23 +396,23 @@ impl From<OwnedFd> for crate::net::UdpSocket {
396396
/// impl MyTrait for Box<UdpSocket> {}
397397
/// # }
398398
/// ```
399-
impl<T: AsFd> AsFd for crate::sync::Arc<T> {
399+
impl<T: AsFd + ?Sized> AsFd for crate::sync::Arc<T> {
400400
#[inline]
401401
fn as_fd(&self) -> BorrowedFd<'_> {
402402
(**self).as_fd()
403403
}
404404
}
405405

406406
#[stable(feature = "asfd_rc", since = "1.69.0")]
407-
impl<T: AsFd> AsFd for crate::rc::Rc<T> {
407+
impl<T: AsFd + ?Sized> AsFd for crate::rc::Rc<T> {
408408
#[inline]
409409
fn as_fd(&self) -> BorrowedFd<'_> {
410410
(**self).as_fd()
411411
}
412412
}
413413

414414
#[stable(feature = "asfd_ptrs", since = "1.64.0")]
415-
impl<T: AsFd> AsFd for Box<T> {
415+
impl<T: AsFd + ?Sized> AsFd for Box<T> {
416416
#[inline]
417417
fn as_fd(&self) -> BorrowedFd<'_> {
418418
(**self).as_fd()

0 commit comments

Comments
 (0)