@@ -58,9 +58,9 @@ pub fn port_create() -> io::Result<OwnedFd> {
58
58
///
59
59
/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_associate/
60
60
/// [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 ,
64
64
events : PollFlags ,
65
65
userdata : * mut ffi:: c_void ,
66
66
) -> io:: Result < ( ) > {
@@ -87,7 +87,10 @@ pub unsafe fn port_associate_fd(
87
87
///
88
88
/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_dissociate
89
89
/// [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 < ( ) > {
91
94
syscalls:: port_dissociate ( port. as_fd ( ) , c:: PORT_SOURCE_FD , object. as_raw_fd ( ) as _ )
92
95
}
93
96
@@ -99,7 +102,7 @@ pub unsafe fn port_dissociate_fd(port: impl AsFd, object: impl AsRawFd) -> io::R
99
102
///
100
103
/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_get/
101
104
/// [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 > {
103
106
let mut timeout = timeout. map ( |timeout| c:: timespec {
104
107
tv_sec : timeout. as_secs ( ) . try_into ( ) . unwrap ( ) ,
105
108
tv_nsec : timeout. subsec_nanos ( ) as _ ,
@@ -125,8 +128,8 @@ pub fn port_get(port: impl AsFd, timeout: Option<Duration>) -> io::Result<Event>
125
128
/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_getn/
126
129
/// [illumos]: https://illumos.org/man/3C/port_getn
127
130
#[ cfg( feature = "alloc" ) ]
128
- pub fn port_getn (
129
- port : impl AsFd ,
131
+ pub fn port_getn < Fd : AsFd > (
132
+ port : Fd ,
130
133
events : & mut Vec < Event > ,
131
134
min_events : usize ,
132
135
timeout : Option < Duration > ,
@@ -157,7 +160,7 @@ pub fn port_getn(
157
160
///
158
161
/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_getn/
159
162
/// [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 > {
161
164
syscalls:: port_getn_query ( port. as_fd ( ) )
162
165
}
163
166
@@ -169,6 +172,6 @@ pub fn port_getn_query(port: impl AsFd) -> io::Result<u32> {
169
172
///
170
173
/// [OpenSolaris]: https://www.unix.com/man-page/opensolaris/3C/port_send/
171
174
/// [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 < ( ) > {
173
176
syscalls:: port_send ( port. as_fd ( ) , events, userdata. cast ( ) )
174
177
}
0 commit comments