zig-network
zig-network copied to clipboard
Import of 'bind' overrides existing definition
Had that error while trying to add the library to my project. Line 1107 in network.zig. The test cases in test-suite.zig also cause that error.
I am on windows 10, using zig 0.6.0+4b48fccad.
PS C:\Users\Guillaume\Programming\zig\repos\minecraft-server-test\zig-network> zig test .\testsuite.zig
.\network.zig:1107:5: error: import of 'bind' overrides existing definition
usingnamespace std.os.windows;
^
.\network.zig:1443:5: note: previous definition here
fn bind(sock: ws2_32.SOCKET, addr: *const std.os.sockaddr, namelen: std.os.socklen_t) std.os.BindError!void {
^
C:\zig\lib\zig\std\os\windows.zig:1160:5: note: imported definition here
pub fn bind(s: ws2_32.SOCKET, name: *const ws2_32.sockaddr, namelen: ws2_32.socklen_t) i32 {
^
.\network.zig:1107:5: error: import of 'listen' overrides existing definition
usingnamespace std.os.windows;
^
.\network.zig:1352:5: note: previous definition here
fn listen(sock: ws2_32.SOCKET, backlog: u32) ListenError!void {
^
C:\zig\lib\zig\std\os\windows.zig:1164:5: note: imported definition here
pub fn listen(s: ws2_32.SOCKET, backlog: u31) i32 {
^
.\network.zig:1107:5: error: import of 'getsockname' overrides existing definition
usingnamespace std.os.windows;
^
.\network.zig:1409:5: note: previous definition here
fn getsockname(sock: ws2_32.SOCKET, addr: *std.os.sockaddr, addrlen: *std.os.socklen_t) std.os.GetSockNameError!void {
^
C:\zig\lib\zig\std\os\windows.zig:1183:5: note: imported definition here
pub fn getsockname(s: ws2_32.SOCKET, name: *ws2_32.sockaddr, namelen: *ws2_32.socklen_t) i32 {
^
.\network.zig:1107:5: error: import of 'sendto' overrides existing definition
usingnamespace std.os.windows;
^
.\network.zig:1192:5: note: previous definition here
fn sendto(
^
C:\zig\lib\zig\std\os\windows.zig:1187:5: note: imported definition here
pub fn sendto(s: ws2_32.SOCKET, buf: [*]const u8, len: usize, flags: u32, to: ?*const ws2_32.sockaddr, to_len: ws2_32.socklen_t) i32 {
^
.\network.zig:1107:5: error: import of 'recvfrom' overrides existing definition
usingnamespace std.os.windows;
^
.\network.zig:1275:5: note: previous definition here
fn recvfrom(
^
C:\zig\lib\zig\std\os\windows.zig:1197:5: note: imported definition here
pub fn recvfrom(s: ws2_32.SOCKET, buf: [*]u8, len: usize, flags: u32, from: ?*ws2_32.sockaddr, from_len: ?*ws2_32.socklen_t) i32 {
^
C:\zig\lib\zig\std\os\windows\bits.zig:920:28: note: referenced here
pub usingnamespace switch (builtin.arch) {
^
C:\zig\lib\zig\std\os\windows\bits.zig:920:35: note: referenced here
pub usingnamespace switch (builtin.arch) {
^
.\network.zig:1460:23: note: referenced here
hints: *const addrinfo,
^
C:\zig\lib\zig\std\os\bits\windows.zig:175:23: note: referenced here
pub const socklen_t = ws2_32.socklen_t;
^
C:\zig\lib\zig\std\os\bits\windows.zig:175:29: note: referenced here
pub const socklen_t = ws2_32.socklen_t;
^
.\network.zig:1119:24: note: referenced here
addrlen: std.os.socklen_t,
^
C:\zig\lib\zig\std\os\bits\windows.zig:177:28: note: referenced here
pub const sockaddr = ws2_32.sockaddr;
^
.\network.zig:1121:23: note: referenced here
addr: ?*std.os.sockaddr,
^
C:\zig\lib\zig\std\os\windows\ws2_32.zig:185:13: note: referenced here
family: ADDRESS_FAMILY,
^
.\network.zig:1078:12: note: referenced here
} || std.os.UnexpectedError;
^
.\network.zig:1462:7: note: referenced here
) GetAddrInfoError!void {
^
.\network.zig:960:55: note: referenced here
const getaddrinfo_fn = if (is_windows) windows.getaddrinfo else libc_getaddrinfo;
^
.\network.zig:961:56: note: referenced here
const freeaddrinfo_fn = if (is_windows) windows.funcs.freeaddrinfo else std.os.system.freeaddrinfo;
^
.\network.zig:961:62: note: referenced here
const freeaddrinfo_fn = if (is_windows) windows.funcs.freeaddrinfo else std.os.system.freeaddrinfo;
^
.\network.zig:966:31: note: referenced here
const name_c = try std.cstr.addNullByte(allocator, name);
^
C:\zig\lib\zig\std\cstr.zig:9:13: note: referenced here
const mem = std.mem;
^
C:\zig\lib\zig\std\cstr.zig:41:32: note: referenced here
pub fn addNullByte(allocator: *mem.Allocator, slice: []const u8) ![:0]u8 {
^
.\network.zig:966:36: note: referenced here
const name_c = try std.cstr.addNullByte(allocator, name);
^
C:\zig\lib\zig\std\cstr.zig:42:33: note: referenced here
const result = try allocator.alloc(u8, slice.len + 1);
^
C:\zig\lib\zig\std\cstr.zig:43:8: note: referenced here
mem.copy(u8, result, slice);
^
.\network.zig:969:31: note: referenced here
const port_c = try std.fmt.allocPrint(allocator, "{}\x00", .{port});
^
C:\zig\lib\zig\std\fmt.zig:9:13: note: referenced here
const mem = std.mem;
^
C:\zig\lib\zig\std\fmt.zig:1207:31: note: referenced here
pub fn allocPrint(allocator: *mem.Allocator, comptime fmt: []const u8, args: anytype) AllocPrintError![]u8 {
^
.\network.zig:969:35: note: referenced here
const port_c = try std.fmt.allocPrint(allocator, "{}\x00", .{port});
^
C:\zig\lib\zig\std\fmt.zig:1207:87: note: referenced here
pub fn allocPrint(allocator: *mem.Allocator, comptime fmt: []const u8, args: anytype) AllocPrintError![]u8 {
^
.\network.zig:967:24: note: referenced here
defer allocator.free(name_c);
^
C:\zig\lib\zig\std\os\bits\windows.zig:187:29: note: referenced here
pub const AF_UNSPEC = ws2_32.AF_UNSPEC;
^
.\network.zig:974:29: note: referenced here
.family = std.os.AF_UNSPEC,
^
C:\zig\lib\zig\std\os\bits\windows.zig:223:31: note: referenced here
pub const SOCK_STREAM = ws2_32.SOCK_STREAM;
^
.\network.zig:975:31: note: referenced here
.socktype = std.os.SOCK_STREAM,
^
C:\zig\lib\zig\std\os\bits\windows.zig:241:31: note: referenced here
pub const IPPROTO_TCP = ws2_32.IPPROTO_TCP;
^
.\network.zig:976:31: note: referenced here
.protocol = std.os.IPPROTO_TCP,
^
C:\zig\lib\zig\std\os\bits\windows.zig:189:27: note: referenced here
pub const AF_INET = ws2_32.AF_INET;
^
.\network.zig:1004:23: note: referenced here
std.os.AF_INET => block: {
^
C:\zig\lib\zig\std\os\bits\windows.zig:212:28: note: referenced here
pub const AF_INET6 = ws2_32.AF_INET6;
^
.\network.zig:1008:23: note: referenced here
std.os.AF_INET6 => block: {
^
.\network.zig:38:49: note: referenced here
pub fn init(a: u8, b: u8, c: u8, d: u8) Self {
^
.\network.zig:1006:57: note: referenced here
break :block .{ .ipv4 = Address.IPv4.init(bytes[0], bytes[1], bytes[2], bytes[3]) };
^
C:\zig\lib\zig\std\os\bits\windows.zig:179:32: note: referenced here
pub const sockaddr_in6 = ws2_32.sockaddr_in6;
^
.\network.zig:1009:73: note: referenced here
const sockaddr_in6 = @ptrCast(*align(1) const std.os.sockaddr_in6, sockaddr);
^
C:\zig\lib\zig\std\os\windows\ws2_32.zig:211:11: note: referenced here
port: USHORT,
^
.\network.zig:67:51: note: referenced here
pub fn init(value: [16]u8, scope_id: u32) Self {
^
.\network.zig:1010:57: note: referenced here
break :block .{ .ipv6 = Address.IPv6.init(sockaddr_in6.addr, sockaddr_in6.scope_id) };
^
.\network.zig:1022:52: note: referenced here
result.canon_name = try std.mem.dupe(arena, u8, std.mem.spanZ(n));
^
.\network.zig:1022:76: note: referenced here
result.canon_name = try std.mem.dupe(arena, u8, std.mem.spanZ(n));
^
C:\zig\lib\zig\std\mem.zig:614:28: note: referenced here
pub fn spanZ(ptr: anytype) Span(@TypeOf(ptr)) {
^
C:\zig\lib\zig\std\mem.zig:550:26: note: referenced here
return @Type(std.builtin.TypeInfo{ .Pointer = new_ptr_info });
^
C:\zig\lib\zig\std\mem.zig:764:21: note: referenced here
return allocator.dupe(T, m);
^
C:\zig\lib\zig\std\mem\Allocator.zig:11:13: note: referenced here
const mem = std.mem;
^
C:\zig\lib\zig\std\mem\Allocator.zig:463:5: note: referenced here
mem.copy(T, new_buf, m);
^
.\testsuite.zig:6:18: note: referenced here
defer network.deinit();
^
.\testsuite.zig:12:18: note: referenced here
std.debug.print("{}\n", .{endpt});
^
.\testsuite.zig:9:24: note: referenced here
defer endpoint_list.deinit();
^
.\network.zig:1161:58: error: expected type 'c_int', found 'u32'
while (true) if (ws2_32.connect(sock, sock_addr, len) != 0) {
^
.\network.zig:1161:58: note: signed 32-bit int cannot represent all possible unsigned 32-bit values
while (true) if (ws2_32.connect(sock, sock_addr, len) != 0) {
@Guigui220D The bug you encountered has been fixed by the PR https://github.com/MasterQ32/zig-network/pull/22 and is now available on the master branch :)