@@ -58,9 +58,9 @@ pub fn port_create() -> io::Result<OwnedFd> {
5858///
5959/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_associate/
6060/// [illumos]: https://illumos.org/man/3C/port_associate
61- pub unsafe fn port_associate_fd (
62- port : impl AsFd ,
63- object : impl AsRawFd ,
61+ pub unsafe fn port_associate_fd < Fd : AsFd , RawFd : AsRawFd > (
62+ port : Fd ,
63+ object : RawFd ,
6464 events : PollFlags ,
6565 userdata : * mut ffi:: c_void ,
6666) -> io:: Result < ( ) > {
@@ -87,7 +87,10 @@ pub unsafe fn port_associate_fd(
8787///
8888/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_dissociate
8989/// [illumos]: https://illumos.org/man/3C/port_dissociate
90- pub unsafe fn port_dissociate_fd ( port : impl AsFd , object : impl AsRawFd ) -> io:: Result < ( ) > {
90+ pub unsafe fn port_dissociate_fd < Fd : AsFd , RawFd : AsRawFd > (
91+ port : Fd ,
92+ object : RawFd ,
93+ ) -> io:: Result < ( ) > {
9194 syscalls:: port_dissociate ( port. as_fd ( ) , c:: PORT_SOURCE_FD , object. as_raw_fd ( ) as _ )
9295}
9396
@@ -99,7 +102,7 @@ pub unsafe fn port_dissociate_fd(port: impl AsFd, object: impl AsRawFd) -> io::R
99102///
100103/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_get/
101104/// [illumos]: https://illumos.org/man/3C/port_get
102- pub fn port_get ( port : impl AsFd , timeout : Option < Duration > ) -> io:: Result < Event > {
105+ pub fn port_get < Fd : AsFd > ( port : Fd , timeout : Option < Duration > ) -> io:: Result < Event > {
103106 let mut timeout = timeout. map ( |timeout| c:: timespec {
104107 tv_sec : timeout. as_secs ( ) . try_into ( ) . unwrap ( ) ,
105108 tv_nsec : timeout. subsec_nanos ( ) as _ ,
@@ -125,8 +128,8 @@ pub fn port_get(port: impl AsFd, timeout: Option<Duration>) -> io::Result<Event>
125128/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_getn/
126129/// [illumos]: https://illumos.org/man/3C/port_getn
127130#[ cfg( feature = "alloc" ) ]
128- pub fn port_getn (
129- port : impl AsFd ,
131+ pub fn port_getn < Fd : AsFd > (
132+ port : Fd ,
130133 events : & mut Vec < Event > ,
131134 min_events : usize ,
132135 timeout : Option < Duration > ,
@@ -157,7 +160,7 @@ pub fn port_getn(
157160///
158161/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_getn/
159162/// [illumos]: https://illumos.org/man/3C/port_getn
160- pub fn port_getn_query ( port : impl AsFd ) -> io:: Result < u32 > {
163+ pub fn port_getn_query < Fd : AsFd > ( port : Fd ) -> io:: Result < u32 > {
161164 syscalls:: port_getn_query ( port. as_fd ( ) )
162165}
163166
@@ -169,6 +172,6 @@ pub fn port_getn_query(port: impl AsFd) -> io::Result<u32> {
169172///
170173/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_send/
171174/// [illumos]: https://illumos.org/man/3C/port_send
172- pub fn port_send ( port : impl AsFd , events : i32 , userdata : * mut ffi:: c_void ) -> io:: Result < ( ) > {
175+ pub fn port_send < Fd : AsFd > ( port : Fd , events : i32 , userdata : * mut ffi:: c_void ) -> io:: Result < ( ) > {
173176 syscalls:: port_send ( port. as_fd ( ) , events, userdata. cast ( ) )
174177}
0 commit comments