Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
proposal: syscall: reconsider entire package #5616
So far syscall package holds tons of constants, a bit abstracted and raw functions that wrap syscalls especially for networking stuff. E.g., Constants assigned by IANA (IPPROTO, IFType,), other standard bodies (could be moved into each specific package) Set/Getsockopt for Windows Set/GetsockoptInt,Facilites for Unix variants Routing sockets, constants for BSD variants Netlink sockets, constants for Linux We can reconsider the package shape even under the Go 1 contract. (and make things easy for bridging btw Go1 and Go2.)
For Go 2, we should decide whether to simply remove the syscall package from the standard library, and direct people to use golang.org/x/sys instead. We could have a slightly smaller version of the current syscall package in internal/syscall for use by runtime, os, net, and whatever other standard library packages need syscall support.
Our vote is to do this: to remove syscall entirely from Go 2, and use an automated rewriter to change all current uses to use golang.org/x/sys instead.