Skip to content

Commit 9ee582f

Browse files
bors[bot]mkroening
andauthored
Merge #650
650: Remove specialization on x86_64 r=stlankes a=mkroening Co-authored-by: Martin Kröning <[email protected]>
2 parents 5058a48 + 3723676 commit 9ee582f

File tree

2 files changed

+90
-22
lines changed

2 files changed

+90
-22
lines changed

src/fd/socket/tcp.rs

Lines changed: 88 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -261,26 +261,6 @@ impl<T> Socket<T> {
261261

262262
Ok(())
263263
}
264-
}
265-
266-
impl<T: core::marker::Sync + core::marker::Send + core::fmt::Debug + 'static> ObjectInterface
267-
for Socket<T>
268-
{
269-
default fn bind(&self, _name: *const sockaddr, _namelen: socklen_t) -> i32 {
270-
-EINVAL
271-
}
272-
273-
default fn getsockname(&self, _name: *mut sockaddr, _namelen: *mut socklen_t) -> i32 {
274-
-EINVAL
275-
}
276-
277-
default fn getpeername(&self, _name: *mut sockaddr, _namelen: *mut socklen_t) -> i32 {
278-
-EINVAL
279-
}
280-
281-
default fn connect(&self, _name: *const sockaddr, _namelen: socklen_t) -> i32 {
282-
-EINVAL
283-
}
284264

285265
fn accept(&self, addr: *mut sockaddr, addrlen: *mut socklen_t) -> i32 {
286266
block_on(self.async_accept(addr, addrlen), None)
@@ -545,6 +525,50 @@ impl ObjectInterface for Socket<IPv4> {
545525
-EINVAL
546526
}
547527
}
528+
529+
fn accept(&self, addr: *mut sockaddr, addrlen: *mut socklen_t) -> i32 {
530+
self.accept(addr, addrlen)
531+
}
532+
533+
fn read(&self, buf: *mut u8, len: usize) -> isize {
534+
self.read(buf, len)
535+
}
536+
537+
fn write(&self, buf: *const u8, len: usize) -> isize {
538+
self.write(buf, len)
539+
}
540+
541+
fn listen(&self, backlog: i32) -> i32 {
542+
self.listen(backlog)
543+
}
544+
545+
fn setsockopt(
546+
&self,
547+
level: i32,
548+
optname: i32,
549+
optval: *const c_void,
550+
optlen: socklen_t,
551+
) -> i32 {
552+
self.setsockopt(level, optname, optval, optlen)
553+
}
554+
555+
fn getsockopt(
556+
&self,
557+
level: i32,
558+
optname: i32,
559+
optval: *mut c_void,
560+
optlen: *mut socklen_t,
561+
) -> i32 {
562+
self.getsockopt(level, optname, optval, optlen)
563+
}
564+
565+
fn shutdown(&self, how: i32) -> i32 {
566+
self.shutdown(how)
567+
}
568+
569+
fn ioctl(&self, cmd: i32, argp: *mut c_void) -> i32 {
570+
self.ioctl(cmd, argp)
571+
}
548572
}
549573

550574
impl ObjectInterface for Socket<IPv6> {
@@ -646,4 +670,48 @@ impl ObjectInterface for Socket<IPv6> {
646670
-EINVAL
647671
}
648672
}
673+
674+
fn accept(&self, addr: *mut sockaddr, addrlen: *mut socklen_t) -> i32 {
675+
self.accept(addr, addrlen)
676+
}
677+
678+
fn read(&self, buf: *mut u8, len: usize) -> isize {
679+
self.read(buf, len)
680+
}
681+
682+
fn write(&self, buf: *const u8, len: usize) -> isize {
683+
self.write(buf, len)
684+
}
685+
686+
fn listen(&self, backlog: i32) -> i32 {
687+
self.listen(backlog)
688+
}
689+
690+
fn setsockopt(
691+
&self,
692+
level: i32,
693+
optname: i32,
694+
optval: *const c_void,
695+
optlen: socklen_t,
696+
) -> i32 {
697+
self.setsockopt(level, optname, optval, optlen)
698+
}
699+
700+
fn getsockopt(
701+
&self,
702+
level: i32,
703+
optname: i32,
704+
optval: *mut c_void,
705+
optlen: *mut socklen_t,
706+
) -> i32 {
707+
self.getsockopt(level, optname, optval, optlen)
708+
}
709+
710+
fn shutdown(&self, how: i32) -> i32 {
711+
self.shutdown(how)
712+
}
713+
714+
fn ioctl(&self, cmd: i32, argp: *mut c_void) -> i32 {
715+
self.ioctl(cmd, argp)
716+
}
649717
}

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
#![warn(unsafe_op_in_unsafe_fn)]
77
#![warn(clippy::transmute_ptr_to_ptr)]
88
#![allow(clippy::missing_safety_doc)]
9-
#![allow(incomplete_features)]
9+
#![cfg_attr(target_arch = "aarch64", allow(incomplete_features))]
1010
#![cfg_attr(target_arch = "x86_64", feature(abi_x86_interrupt))]
1111
#![feature(allocator_api)]
1212
#![feature(asm_const)]
1313
#![feature(linked_list_cursors)]
1414
#![feature(naked_functions)]
15-
#![feature(specialization)]
15+
#![cfg_attr(target_arch = "aarch64", feature(specialization))]
1616
#![feature(strict_provenance)]
1717
#![cfg_attr(target_os = "none", no_std)]
1818
#![cfg_attr(target_os = "none", feature(custom_test_frameworks))]

0 commit comments

Comments
 (0)