diff options
author | 2023-06-21 23:38:18 -0700 | |
---|---|---|
committer | 2023-06-21 23:38:18 -0700 | |
commit | 5fa13625a1ca0ea1a3a1c5bb86d0880dcfac349f (patch) | |
tree | 97f669a178e60772038751d690c3e298a63557b2 /src/install | |
parent | bfb322d618a3f0e9618d311ae69016fe7a08e771 (diff) | |
download | bun-5fa13625a1ca0ea1a3a1c5bb86d0880dcfac349f.tar.gz bun-5fa13625a1ca0ea1a3a1c5bb86d0880dcfac349f.tar.zst bun-5fa13625a1ca0ea1a3a1c5bb86d0880dcfac349f.zip |
upgrade zig to `v0.11.0-dev.3737+9eb008717` (#3374)
* progress
* finish `@memset/@memcpy` update
* Update build.zig
* change `@enumToInt` to `@intFromEnum` and friends
* update zig versions
* it was 1
* add link to issue
* add `compileError` reminder
* fix merge
* format
* upgrade to llvm 16
* Revert "upgrade to llvm 16"
This reverts commit cc930ceb1c5b4db9614a7638596948f704544ab8.
---------
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/install')
-rw-r--r-- | src/install/bin.zig | 30 | ||||
-rw-r--r-- | src/install/dependency.zig | 48 | ||||
-rw-r--r-- | src/install/install.zig | 86 | ||||
-rw-r--r-- | src/install/integrity.zig | 4 | ||||
-rw-r--r-- | src/install/lockfile.zig | 67 | ||||
-rw-r--r-- | src/install/npm.zig | 52 | ||||
-rw-r--r-- | src/install/resolution.zig | 2 | ||||
-rw-r--r-- | src/install/resolvers/folder_resolver.zig | 6 | ||||
-rw-r--r-- | src/install/semver.zig | 24 |
9 files changed, 159 insertions, 160 deletions
diff --git a/src/install/bin.zig b/src/install/bin.zig index 371ce0dde..b0e988269 100644 --- a/src/install/bin.zig +++ b/src/install/bin.zig @@ -382,7 +382,7 @@ pub const Bin = extern struct { bun.copy(u8, remain, target); remain = remain[target.len..]; remain[0] = 0; - const target_len = @ptrToInt(remain.ptr) - @ptrToInt(&dest_buf); + const target_len = @intFromPtr(remain.ptr) - @intFromPtr(&dest_buf); remain = remain[1..]; var target_path: [:0]u8 = dest_buf[0..target_len :0]; @@ -392,7 +392,7 @@ pub const Bin = extern struct { bun.copy(u8, from_remain, unscoped_name); from_remain = from_remain[unscoped_name.len..]; from_remain[0] = 0; - var dest_path: [:0]u8 = target_buf[0 .. @ptrToInt(from_remain.ptr) - @ptrToInt(&target_buf) :0]; + var dest_path: [:0]u8 = target_buf[0 .. @intFromPtr(from_remain.ptr) - @intFromPtr(&target_buf) :0]; this.setSimlinkAndPermissions(target_path, dest_path); }, @@ -404,7 +404,7 @@ pub const Bin = extern struct { bun.copy(u8, remain, target); remain = remain[target.len..]; remain[0] = 0; - const target_len = @ptrToInt(remain.ptr) - @ptrToInt(&dest_buf); + const target_len = @intFromPtr(remain.ptr) - @intFromPtr(&dest_buf); remain = remain[1..]; var target_path: [:0]u8 = dest_buf[0..target_len :0]; @@ -412,7 +412,7 @@ pub const Bin = extern struct { bun.copy(u8, from_remain, name_to_use); from_remain = from_remain[name_to_use.len..]; from_remain[0] = 0; - var dest_path: [:0]u8 = target_buf[0 .. @ptrToInt(from_remain.ptr) - @ptrToInt(&target_buf) :0]; + var dest_path: [:0]u8 = target_buf[0 .. @intFromPtr(from_remain.ptr) - @intFromPtr(&target_buf) :0]; this.setSimlinkAndPermissions(target_path, dest_path); }, @@ -434,7 +434,7 @@ pub const Bin = extern struct { bun.copy(u8, remain, target); remain = remain[target.len..]; remain[0] = 0; - const target_len = @ptrToInt(remain.ptr) - @ptrToInt(&dest_buf); + const target_len = @intFromPtr(remain.ptr) - @intFromPtr(&dest_buf); remain = remain[1..]; var target_path: [:0]u8 = dest_buf[0..target_len :0]; @@ -442,7 +442,7 @@ pub const Bin = extern struct { bun.copy(u8, from_remain, name_to_use); from_remain = from_remain[name_to_use.len..]; from_remain[0] = 0; - var dest_path: [:0]u8 = target_buf[0 .. @ptrToInt(from_remain.ptr) - @ptrToInt(&target_buf) :0]; + var dest_path: [:0]u8 = target_buf[0 .. @intFromPtr(from_remain.ptr) - @intFromPtr(&target_buf) :0]; this.setSimlinkAndPermissions(target_path, dest_path); } @@ -461,7 +461,7 @@ pub const Bin = extern struct { var dir = std.fs.Dir{ .fd = this.package_installed_node_modules }; var joined = Path.joinStringBuf(&target_buf, &parts, .auto); - @intToPtr([*]u8, @ptrToInt(joined.ptr))[joined.len] = 0; + @ptrFromInt([*]u8, @intFromPtr(joined.ptr))[joined.len] = 0; var joined_: [:0]const u8 = joined.ptr[0..joined.len :0]; var child_dir = bun.openDir(dir, joined_) catch |err| { this.err = err; @@ -482,12 +482,12 @@ pub const Bin = extern struct { while (iter.next() catch null) |entry_| { const entry: std.fs.IterableDir.Entry = entry_; switch (entry.kind) { - std.fs.IterableDir.Entry.Kind.SymLink, std.fs.IterableDir.Entry.Kind.File => { + std.fs.IterableDir.Entry.Kind.sym_link, std.fs.IterableDir.Entry.Kind.file => { target_buf_remain = prev_target_buf_remain; bun.copy(u8, target_buf_remain, entry.name); target_buf_remain = target_buf_remain[entry.name.len..]; target_buf_remain[0] = 0; - var from_path: [:0]u8 = target_buf[0 .. @ptrToInt(target_buf_remain.ptr) - @ptrToInt(&target_buf) :0]; + var from_path: [:0]u8 = target_buf[0 .. @intFromPtr(target_buf_remain.ptr) - @intFromPtr(&target_buf) :0]; var to_path = if (!link_global) std.fmt.bufPrintZ(&dest_buf, dot_bin ++ "{s}", .{entry.name}) catch continue else @@ -519,7 +519,7 @@ pub const Bin = extern struct { return; } - @memcpy(&target_buf, this.global_bin_path.ptr, this.global_bin_path.len); + @memcpy(target_buf[0..this.global_bin_path.len], this.global_bin_path); from_remain = target_buf[this.global_bin_path.len..]; from_remain[0] = std.fs.path.sep; from_remain = from_remain[1..]; @@ -557,7 +557,7 @@ pub const Bin = extern struct { bun.copy(u8, from_remain, unscoped_name); from_remain = from_remain[unscoped_name.len..]; from_remain[0] = 0; - var dest_path: [:0]u8 = target_buf[0 .. @ptrToInt(from_remain.ptr) - @ptrToInt(&target_buf) :0]; + var dest_path: [:0]u8 = target_buf[0 .. @intFromPtr(from_remain.ptr) - @intFromPtr(&target_buf) :0]; std.os.unlinkatZ(this.root_node_modules_folder, dest_path, 0) catch {}; }, @@ -566,7 +566,7 @@ pub const Bin = extern struct { bun.copy(u8, from_remain, name_to_use); from_remain = from_remain[name_to_use.len..]; from_remain[0] = 0; - var dest_path: [:0]u8 = target_buf[0 .. @ptrToInt(from_remain.ptr) - @ptrToInt(&target_buf) :0]; + var dest_path: [:0]u8 = target_buf[0 .. @intFromPtr(from_remain.ptr) - @intFromPtr(&target_buf) :0]; std.os.unlinkatZ(this.root_node_modules_folder, dest_path, 0) catch {}; }, @@ -594,7 +594,7 @@ pub const Bin = extern struct { bun.copy(u8, from_remain, name_to_use); from_remain = from_remain[name_to_use.len..]; from_remain[0] = 0; - var dest_path: [:0]u8 = target_buf[0 .. @ptrToInt(from_remain.ptr) - @ptrToInt(&target_buf) :0]; + var dest_path: [:0]u8 = target_buf[0 .. @intFromPtr(from_remain.ptr) - @intFromPtr(&target_buf) :0]; std.os.unlinkatZ(this.root_node_modules_folder, dest_path, 0) catch {}; } @@ -613,7 +613,7 @@ pub const Bin = extern struct { var dir = std.fs.Dir{ .fd = this.package_installed_node_modules }; var joined = Path.joinStringBuf(&target_buf, &parts, .auto); - @intToPtr([*]u8, @ptrToInt(joined.ptr))[joined.len] = 0; + @ptrFromInt([*]u8, @intFromPtr(joined.ptr))[joined.len] = 0; var joined_: [:0]const u8 = joined.ptr[0..joined.len :0]; var child_dir = bun.openDir(dir, joined_) catch |err| { this.err = err; @@ -634,7 +634,7 @@ pub const Bin = extern struct { while (iter.next() catch null) |entry_| { const entry: std.fs.IterableDir.Entry = entry_; switch (entry.kind) { - std.fs.IterableDir.Entry.Kind.SymLink, std.fs.IterableDir.Entry.Kind.File => { + std.fs.IterableDir.Entry.Kind.sym_link, std.fs.IterableDir.Entry.Kind.file => { target_buf_remain = prev_target_buf_remain; bun.copy(u8, target_buf_remain, entry.name); target_buf_remain = target_buf_remain[entry.name.len..]; diff --git a/src/install/dependency.zig b/src/install/dependency.zig index 0480dd9d8..6ef02bbfc 100644 --- a/src/install/dependency.zig +++ b/src/install/dependency.zig @@ -147,7 +147,7 @@ pub fn toDependency( return Dependency{ .name = name, .name_hash = @bitCast(u64, this[8..16].*), - .behavior = @intToEnum(Dependency.Behavior, this[16]), + .behavior = @enumFromInt(Dependency.Behavior, this[16]), .version = Dependency.Version.toVersion(name, this[17..this.len].*, ctx), }; } @@ -156,7 +156,7 @@ pub fn toExternal(this: Dependency) External { var bytes: External = undefined; bytes[0..this.name.bytes.len].* = this.name.bytes; bytes[8..16].* = @bitCast([8]u8, this.name_hash); - bytes[16] = @enumToInt(this.behavior); + bytes[16] = @intFromEnum(this.behavior); bytes[17..bytes.len].* = this.version.toExternal(); return bytes; } @@ -265,7 +265,7 @@ pub const Version = struct { ctx: Dependency.Context, ) Dependency.Version { const slice = String{ .bytes = bytes[1..9].* }; - const tag = @intToEnum(Dependency.Version.Tag, bytes[0]); + const tag = @enumFromInt(Dependency.Version.Tag, bytes[0]); const sliced = &slice.sliced(ctx.buffer); return Dependency.parseWithTag( ctx.allocator, @@ -279,7 +279,7 @@ pub const Version = struct { pub inline fn toExternal(this: Version) Version.External { var bytes: Version.External = undefined; - bytes[0] = @enumToInt(this.tag); + bytes[0] = @intFromEnum(this.tag); bytes[1..9].* = this.literal.bytes; return bytes; } @@ -339,7 +339,7 @@ pub const Version = struct { github = 8, pub inline fn isNPM(this: Tag) bool { - return @enumToInt(this) < 3; + return @intFromEnum(this) < 3; } pub fn infer(dependency: string) Tag { @@ -493,7 +493,7 @@ pub const Version = struct { // npm:package@1.2.3 'n' => { if (strings.hasPrefixComptime(dependency, "npm:") and dependency.len > "npm:".len) { - const remain = dependency["npm:".len + @boolToInt(dependency["npm:".len] == '@') ..]; + const remain = dependency["npm:".len + @intFromBool(dependency["npm:".len] == '@') ..]; for (remain, 0..) |c, i| { if (c == '@') { return infer(remain[i + 1 ..]); @@ -645,7 +645,7 @@ pub fn parseWithTag( var input = dependency; const name = if (strings.hasPrefixComptime(input, "npm:")) sliced.sub(brk: { var str = input["npm:".len..]; - var i: usize = @boolToInt(str.len > 0 and str[0] == '@'); + var i: usize = @intFromBool(str.len > 0 and str[0] == '@'); while (i < str.len) : (i += 1) { if (str[i] == '@') { @@ -694,7 +694,7 @@ pub fn parseWithTag( // npm:@foo/bar@latest // ^ - i += @boolToInt(dependency[i] == '@'); + i += @intFromBool(dependency[i] == '@'); while (i < dependency.len) : (i += 1) { // npm:@foo/bar@latest @@ -899,67 +899,67 @@ pub const Behavior = enum(u8) { pub const workspace: u8 = 1 << 5; pub inline fn isNormal(this: Behavior) bool { - return (@enumToInt(this) & Behavior.normal) != 0; + return (@intFromEnum(this) & Behavior.normal) != 0; } pub inline fn isOptional(this: Behavior) bool { - return (@enumToInt(this) & Behavior.optional) != 0 and !this.isPeer(); + return (@intFromEnum(this) & Behavior.optional) != 0 and !this.isPeer(); } pub inline fn isDev(this: Behavior) bool { - return (@enumToInt(this) & Behavior.dev) != 0; + return (@intFromEnum(this) & Behavior.dev) != 0; } pub inline fn isPeer(this: Behavior) bool { - return (@enumToInt(this) & Behavior.peer) != 0; + return (@intFromEnum(this) & Behavior.peer) != 0; } pub inline fn isWorkspace(this: Behavior) bool { - return (@enumToInt(this) & Behavior.workspace) != 0; + return (@intFromEnum(this) & Behavior.workspace) != 0; } pub inline fn setNormal(this: Behavior, value: bool) Behavior { if (value) { - return @intToEnum(Behavior, @enumToInt(this) | Behavior.normal); + return @enumFromInt(Behavior, @intFromEnum(this) | Behavior.normal); } else { - return @intToEnum(Behavior, @enumToInt(this) & ~Behavior.normal); + return @enumFromInt(Behavior, @intFromEnum(this) & ~Behavior.normal); } } pub inline fn setOptional(this: Behavior, value: bool) Behavior { if (value) { - return @intToEnum(Behavior, @enumToInt(this) | Behavior.optional); + return @enumFromInt(Behavior, @intFromEnum(this) | Behavior.optional); } else { - return @intToEnum(Behavior, @enumToInt(this) & ~Behavior.optional); + return @enumFromInt(Behavior, @intFromEnum(this) & ~Behavior.optional); } } pub inline fn setDev(this: Behavior, value: bool) Behavior { if (value) { - return @intToEnum(Behavior, @enumToInt(this) | Behavior.dev); + return @enumFromInt(Behavior, @intFromEnum(this) | Behavior.dev); } else { - return @intToEnum(Behavior, @enumToInt(this) & ~Behavior.dev); + return @enumFromInt(Behavior, @intFromEnum(this) & ~Behavior.dev); } } pub inline fn setPeer(this: Behavior, value: bool) Behavior { if (value) { - return @intToEnum(Behavior, @enumToInt(this) | Behavior.peer); + return @enumFromInt(Behavior, @intFromEnum(this) | Behavior.peer); } else { - return @intToEnum(Behavior, @enumToInt(this) & ~Behavior.peer); + return @enumFromInt(Behavior, @intFromEnum(this) & ~Behavior.peer); } } pub inline fn setWorkspace(this: Behavior, value: bool) Behavior { if (value) { - return @intToEnum(Behavior, @enumToInt(this) | Behavior.workspace); + return @enumFromInt(Behavior, @intFromEnum(this) | Behavior.workspace); } else { - return @intToEnum(Behavior, @enumToInt(this) & ~Behavior.workspace); + return @enumFromInt(Behavior, @intFromEnum(this) & ~Behavior.workspace); } } pub inline fn cmp(lhs: Behavior, rhs: Behavior) std.math.Order { - if (@enumToInt(lhs) == @enumToInt(rhs)) { + if (@intFromEnum(lhs) == @intFromEnum(rhs)) { return .eq; } diff --git a/src/install/install.zig b/src/install/install.zig index 88c8f653f..32c24548c 100644 --- a/src/install/install.zig +++ b/src/install/install.zig @@ -146,12 +146,12 @@ pub fn ExternalSliceAligned(comptime Type: type, comptime alignment_: ?u29) type pub fn init(buf: []const Type, in: []const Type) Slice { // if (comptime Environment.allow_assert) { - // std.debug.assert(@ptrToInt(buf.ptr) <= @ptrToInt(in.ptr)); - // std.debug.assert((@ptrToInt(in.ptr) + in.len) <= (@ptrToInt(buf.ptr) + buf.len)); + // std.debug.assert(@intFromPtr(buf.ptr) <= @intFromPtr(in.ptr)); + // std.debug.assert((@intFromPtr(in.ptr) + in.len) <= (@intFromPtr(buf.ptr) + buf.len)); // } return Slice{ - .off = @truncate(u32, (@ptrToInt(in.ptr) - @ptrToInt(buf.ptr)) / @sizeOf(Type)), + .off = @truncate(u32, (@intFromPtr(in.ptr) - @intFromPtr(buf.ptr)) / @sizeOf(Type)), .len = @truncate(u32, in.len), }; } @@ -183,7 +183,7 @@ pub const Aligner = struct { } pub inline fn skipAmount(comptime Type: type, pos: usize) usize { - return std.mem.alignForward(pos, @alignOf(Type)) - pos; + return std.mem.alignForward(usize, pos, @alignOf(Type)) - pos; } }; @@ -351,7 +351,7 @@ const NetworkTask = struct { }, ); header_builder.header_count = 1; - header_builder.content = GlobalStringBuilder{ .ptr = @intToPtr([*]u8, @ptrToInt(bun.span(default_headers_buf).ptr)), .len = default_headers_buf.len, .cap = default_headers_buf.len }; + header_builder.content = GlobalStringBuilder{ .ptr = @ptrFromInt([*]u8, @intFromPtr(bun.span(default_headers_buf).ptr)), .len = default_headers_buf.len, .cap = default_headers_buf.len }; } this.response_buffer = try MutableString.init(allocator, 0); @@ -474,12 +474,12 @@ pub const Features = struct { pub fn behavior(this: Features) Behavior { var out: u8 = 0; - out |= @as(u8, @boolToInt(this.dependencies)) << 1; - out |= @as(u8, @boolToInt(this.optional_dependencies)) << 2; - out |= @as(u8, @boolToInt(this.dev_dependencies)) << 3; - out |= @as(u8, @boolToInt(this.peer_dependencies)) << 4; - out |= @as(u8, @boolToInt(this.workspaces)) << 5; - return @intToEnum(Behavior, out); + out |= @as(u8, @intFromBool(this.dependencies)) << 1; + out |= @as(u8, @intFromBool(this.optional_dependencies)) << 2; + out |= @as(u8, @intFromBool(this.dev_dependencies)) << 3; + out |= @as(u8, @intFromBool(this.peer_dependencies)) << 4; + out |= @as(u8, @intFromBool(this.workspaces)) << 5; + return @enumFromInt(Behavior, out); } pub const main = Features{ @@ -541,7 +541,7 @@ const Task = struct { /// An ID that lets us register a callback without keeping the same pointer around pub const Id = struct { pub fn forNPMPackage(package_name: string, package_version: Semver.Version) u64 { - var hasher = std.hash.Wyhash.init(0); + var hasher = bun.Wyhash.init(0); hasher.update(package_name); hasher.update("@"); hasher.update(std.mem.asBytes(&package_version)); @@ -549,28 +549,28 @@ const Task = struct { } pub fn forBinLink(package_id: PackageID) u64 { - const hash = std.hash.Wyhash.hash(0, std.mem.asBytes(&package_id)); + const hash = bun.Wyhash.hash(0, std.mem.asBytes(&package_id)); return @as(u64, 1 << 61) | @as(u64, @truncate(u61, hash)); } pub fn forManifest(name: string) u64 { - return @as(u64, 2 << 61) | @as(u64, @truncate(u61, std.hash.Wyhash.hash(0, name))); + return @as(u64, 2 << 61) | @as(u64, @truncate(u61, bun.Wyhash.hash(0, name))); } pub fn forTarball(url: string) u64 { - var hasher = std.hash.Wyhash.init(0); + var hasher = bun.Wyhash.init(0); hasher.update(url); return @as(u64, 3 << 61) | @as(u64, @truncate(u61, hasher.final())); } pub fn forGitClone(url: string) u64 { - var hasher = std.hash.Wyhash.init(0); + var hasher = bun.Wyhash.init(0); hasher.update(url); return @as(u64, 4 << 61) | @as(u64, @truncate(u61, hasher.final())); } pub fn forGitCheckout(url: string, resolved: string) u64 { - var hasher = std.hash.Wyhash.init(0); + var hasher = bun.Wyhash.init(0); hasher.update(url); hasher.update("@"); hasher.update(resolved); @@ -1079,10 +1079,10 @@ const PackageInstall = struct { var stackpath: [bun.MAX_PATH_BYTES]u8 = undefined; while (try walker.next()) |entry| { switch (entry.kind) { - .Directory => { + .directory => { std.os.mkdirat(destination_dir_.dir.fd, entry.path, 0o755) catch {}; }, - .File => { + .file => { bun.copy(u8, &stackpath, entry.path); stackpath[entry.path.len] = 0; var path: [:0]u8 = stackpath[0..entry.path.len :0]; @@ -1190,7 +1190,7 @@ const PackageInstall = struct { ) !u32 { var real_file_count: u32 = 0; while (try walker.next()) |entry| { - if (entry.kind != .File) continue; + if (entry.kind != .file) continue; real_file_count += 1; var outfile = destination_dir_.createFile(entry.path, .{}) catch brk: { @@ -1268,10 +1268,10 @@ const PackageInstall = struct { var real_file_count: u32 = 0; while (try walker.next()) |entry| { switch (entry.kind) { - .Directory => { + .directory => { std.os.mkdirat(destination_dir_.dir.fd, entry.path, 0o755) catch {}; }, - .File => { + .file => { try std.os.linkat(entry.dir.dir.fd, entry.basename, destination_dir_.dir.fd, entry.path, 0); real_file_count += 1; }, @@ -1351,16 +1351,16 @@ const PackageInstall = struct { while (try walker.next()) |entry| { switch (entry.kind) { // directories are created - .Directory => { + .directory => { std.os.mkdirat(dest_dir_fd, entry.path, 0o755) catch {}; }, // but each file in the directory is a symlink - .File => { - @memcpy(remain.ptr, entry.path.ptr, entry.path.len); + .file => { + @memcpy(remain[0..entry.path.len], entry.path); remain[entry.path.len] = 0; var from_path = buf[0 .. cache_dir_offset + entry.path.len :0]; - @memcpy(dest_remaining.ptr, entry.path.ptr, entry.path.len); + @memcpy(dest_remaining[0..entry.path.len], entry.path); dest_remaining[entry.path.len] = 0; var to_path = dest_buf[0 .. dest_dir_offset + entry.path.len :0]; @@ -1830,7 +1830,7 @@ pub const PackageManager = struct { const offset = this.preinstall_state.items.len; try this.preinstall_state.ensureTotalCapacity(this.allocator, count); this.preinstall_state.expandToCapacity(); - std.mem.set(PreinstallState, this.preinstall_state.items[offset..], PreinstallState.unknown); + @memset(this.preinstall_state.items[offset..], PreinstallState.unknown); } pub fn setPreinstallState(this: *PackageManager, package_id: PackageID, lockfile: *Lockfile, value: PreinstallState) void { @@ -2263,7 +2263,7 @@ pub const PackageManager = struct { var iter = dir.iterate(); while (try iter.next()) |entry| { - if (entry.kind != .Directory and entry.kind != .SymLink) continue; + if (entry.kind != .directory and entry.kind != .sym_link) continue; const name = entry.name; const sliced = SlicedString.init(name, name); const parsed = Semver.Version.parse(sliced, allocator); @@ -2305,7 +2305,7 @@ pub const PackageManager = struct { }; // TODO: make this fewer passes - std.sort.sort( + std.sort.block( Semver.Version, installed_versions.items, @as([]const u8, tags_buf.items), @@ -3752,7 +3752,7 @@ pub const PackageManager = struct { if (comptime log_level.isVerbose()) { Output.prettyError(" ", .{}); - Output.printElapsed(@intToFloat(f64, task.http.elapsed) / std.time.ns_per_ms); + Output.printElapsed(@floatFromInt(f64, task.http.elapsed) / std.time.ns_per_ms); Output.prettyError("\n <d>Downloaded <r><green>{s}<r> versions\n", .{name.slice()}); Output.flush(); } @@ -3886,7 +3886,7 @@ pub const PackageManager = struct { if (comptime log_level.isVerbose()) { Output.prettyError(" ", .{}); - Output.printElapsed(@floatCast(f64, @intToFloat(f64, task.http.elapsed) / std.time.ns_per_ms)); + Output.printElapsed(@floatCast(f64, @floatFromInt(f64, task.http.elapsed) / std.time.ns_per_ms)); Output.prettyError(" <d>Downloaded <r><green>{s}<r> tarball\n", .{extract.name.slice()}); Output.flush(); } @@ -4814,7 +4814,7 @@ pub const PackageManager = struct { var new_dependencies = try allocator.alloc(G.Property, dependencies.len + remaining - replacing); bun.copy(G.Property, new_dependencies, dependencies); - std.mem.set(G.Property, new_dependencies[dependencies.len..], G.Property{}); + @memset(new_dependencies[dependencies.len..], G.Property{}); outer: for (updates) |*update| { if (update.e_string != null) continue; @@ -6372,7 +6372,7 @@ pub const PackageManager = struct { var iter: std.fs.IterableDir.Iterator = node_modules_bin.iterate(); iterator: while (iter.next() catch null) |entry| { switch (entry.kind) { - std.fs.IterableDir.Entry.Kind.SymLink => { + std.fs.IterableDir.Entry.Kind.sym_link => { // any symlinks which we are unable to open are assumed to be dangling // note that using access won't work here, because access doesn't resolve symlinks @@ -6547,7 +6547,7 @@ pub const PackageManager = struct { if (folder.len == 0 or (folder.len == 1 and folder[0] == '.')) { installer.cache_dir_subpath = "."; } else { - @memcpy(&this.folder_path_buf, folder.ptr, folder.len); + @memcpy(this.folder_path_buf[0..folder.len], folder); this.folder_path_buf[folder.len] = 0; installer.cache_dir_subpath = this.folder_path_buf[0..folder.len :0]; } @@ -6567,7 +6567,7 @@ pub const PackageManager = struct { if (folder.len == 0 or (folder.len == 1 and folder[0] == '.')) { installer.cache_dir_subpath = "."; } else { - @memcpy(&this.folder_path_buf, folder.ptr, folder.len); + @memcpy(this.folder_path_buf[0..folder.len], folder); this.folder_path_buf[folder.len] = 0; installer.cache_dir_subpath = this.folder_path_buf[0..folder.len :0]; } @@ -6608,16 +6608,16 @@ pub const PackageManager = struct { const global_link_dir = this.manager.globalLinkDirPath() catch unreachable; var ptr = &this.folder_path_buf; var remain: []u8 = this.folder_path_buf[0..]; - @memcpy(ptr, global_link_dir.ptr, global_link_dir.len); + @memcpy(ptr[0..global_link_dir.len], global_link_dir); remain = remain[global_link_dir.len..]; if (global_link_dir[global_link_dir.len - 1] != std.fs.path.sep) { remain[0] = std.fs.path.sep; remain = remain[1..]; } - @memcpy(remain.ptr, folder.ptr, folder.len); + @memcpy(remain[0..folder.len], folder); remain = remain[folder.len..]; remain[0] = 0; - const len = @ptrToInt(remain.ptr) - @ptrToInt(ptr); + const len = @intFromPtr(remain.ptr) - @intFromPtr(ptr); installer.cache_dir_subpath = this.folder_path_buf[0..len :0]; installer.cache_dir = directory; } @@ -6626,7 +6626,7 @@ pub const PackageManager = struct { } const needs_install = this.force_install or this.skip_verify_installed_version_number or !installer.verify(resolution, buf); - this.summary.skipped += @as(u32, @boolToInt(!needs_install)); + this.summary.skipped += @as(u32, @intFromBool(!needs_install)); if (needs_install) { const result: PackageInstall.Result = switch (resolution.tag) { @@ -6637,7 +6637,7 @@ pub const PackageManager = struct { switch (result) { .success => { const is_duplicate = this.successfully_installed.isSet(package_id); - this.summary.success += @as(u32, @boolToInt(!is_duplicate)); + this.summary.success += @as(u32, @intFromBool(!is_duplicate)); this.successfully_installed.set(package_id); if (comptime log_level.showProgress()) { @@ -7390,7 +7390,7 @@ pub const PackageManager = struct { ); } var mapping = try manager.lockfile.allocator.alloc(PackageID, maybe_root.dependencies.len); - std.mem.set(PackageID, mapping, invalid_package_id); + @memset(mapping, invalid_package_id); manager.summary = try Package.Diff.generate( ctx.allocator, @@ -7443,8 +7443,8 @@ pub const PackageManager = struct { var resolutions = manager.lockfile.buffers.resolutions.items.ptr[off .. off + len]; // It is too easy to accidentally undefined memory - std.mem.set(PackageID, resolutions, invalid_package_id); - std.mem.set(Dependency, dependencies, Dependency{}); + @memset(resolutions, invalid_package_id); + @memset(dependencies, Dependency{}); manager.lockfile.buffers.dependencies.items = manager.lockfile.buffers.dependencies.items.ptr[0 .. off + len]; manager.lockfile.buffers.resolutions.items = manager.lockfile.buffers.resolutions.items.ptr[0 .. off + len]; diff --git a/src/install/integrity.zig b/src/install/integrity.zig index e54d9b7e1..19e55c223 100644 --- a/src/install/integrity.zig +++ b/src/install/integrity.zig @@ -41,7 +41,7 @@ pub const Integrity = extern struct { var i: usize = 0; { - std.mem.set(u8, &integrity.value, 0); + @memset(&integrity.value, 0); } while (i < end) { @@ -111,7 +111,7 @@ pub const Integrity = extern struct { _, pub inline fn isSupported(this: Tag) bool { - return @enumToInt(this) >= @enumToInt(Tag.sha1) and @enumToInt(this) <= @enumToInt(Tag.sha512); + return @intFromEnum(this) >= @intFromEnum(Tag.sha1) and @intFromEnum(this) <= @intFromEnum(Tag.sha512); } pub fn parse(buf: []const u8) Tag { diff --git a/src/install/lockfile.zig b/src/install/lockfile.zig index 5c27c1a69..04c6ccec1 100644 --- a/src/install/lockfile.zig +++ b/src/install/lockfile.zig @@ -693,8 +693,7 @@ pub fn cleanWithLogger(old: *Lockfile, updates: []PackageManager.UpdateRequest, const root = old.rootPackage() orelse return error.NoPackage; var package_id_mapping = try old.allocator.alloc(PackageID, old.packages.len); - std.mem.set( - PackageID, + @memset( package_id_mapping, invalid_package_id, ); @@ -998,7 +997,7 @@ pub const Printer = struct { const dependencies_buffer: []const Dependency = this.lockfile.buffers.dependencies.items; const string_buf = this.lockfile.buffers.string_bytes.items; var id_map = try default_allocator.alloc(DependencyID, this.updates.len); - std.mem.set(DependencyID, id_map, invalid_package_id); + @memset(id_map, invalid_package_id); defer if (id_map.len > 0) default_allocator.free(id_map); visited.set(0); @@ -1211,12 +1210,12 @@ pub const Printer = struct { } var dependency_versions = requested_version_start[0..j]; - if (dependency_versions.len > 1) std.sort.insertionSort(Dependency.Version, dependency_versions, string_buf, Dependency.Version.isLessThan); + if (dependency_versions.len > 1) std.sort.insertion(Dependency.Version, dependency_versions, string_buf, Dependency.Version.isLessThan); try requested_versions.put(i, dependency_versions); } } - std.sort.sort( + std.sort.block( PackageID, alphabetized_names, Lockfile.Package.Alphabetizer{ @@ -1908,11 +1907,11 @@ pub const Package = extern struct { field: string, behavior: Behavior, - pub const dependencies = DependencyGroup{ .prop = "dependencies", .field = "dependencies", .behavior = @intToEnum(Behavior, Behavior.normal) }; - pub const dev = DependencyGroup{ .prop = "devDependencies", .field = "dev_dependencies", .behavior = @intToEnum(Behavior, Behavior.dev) }; - pub const optional = DependencyGroup{ .prop = "optionalDependencies", .field = "optional_dependencies", .behavior = @intToEnum(Behavior, Behavior.optional) }; - pub const peer = DependencyGroup{ .prop = "peerDependencies", .field = "peer_dependencies", .behavior = @intToEnum(Behavior, Behavior.peer) }; - pub const workspaces = DependencyGroup{ .prop = "workspaces", .field = "workspaces", .behavior = @intToEnum(Behavior, Behavior.workspace) }; + pub const dependencies = DependencyGroup{ .prop = "dependencies", .field = "dependencies", .behavior = @enumFromInt(Behavior, Behavior.normal) }; + pub const dev = DependencyGroup{ .prop = "devDependencies", .field = "dev_dependencies", .behavior = @enumFromInt(Behavior, Behavior.dev) }; + pub const optional = DependencyGroup{ .prop = "optionalDependencies", .field = "optional_dependencies", .behavior = @enumFromInt(Behavior, Behavior.optional) }; + pub const peer = DependencyGroup{ .prop = "peerDependencies", .field = "peer_dependencies", .behavior = @enumFromInt(Behavior, Behavior.peer) }; + pub const workspaces = DependencyGroup{ .prop = "workspaces", .field = "workspaces", .behavior = @enumFromInt(Behavior, Behavior.workspace) }; }; pub inline fn isDisabled(this: *const Lockfile.Package) bool { @@ -2032,7 +2031,7 @@ pub const Package = extern struct { builder.clamp(); - cloner.trees_count += @as(u32, @boolToInt(old_resolutions.len > 0)); + cloner.trees_count += @as(u32, @intFromBool(old_resolutions.len > 0)); for (old_resolutions, 0..) |old_resolution, i| { if (old_resolution >= max_package_id) continue; @@ -2108,7 +2107,7 @@ pub const Package = extern struct { if (comptime Environment.allow_assert) std.debug.assert(dependencies_list.items.len == resolutions_list.items.len); var dependencies: []Dependency = dependencies_list.items.ptr[dependencies_list.items.len..total_len]; - std.mem.set(Dependency, dependencies, Dependency{}); + @memset(dependencies, Dependency{}); const package_dependencies = package_json.dependencies.map.values(); const source_buf = package_json.dependencies.source_buf; @@ -2135,7 +2134,7 @@ pub const Package = extern struct { const new_length = package.dependencies.len + dependencies_list.items.len; - std.mem.set(PackageID, resolutions_list.items.ptr[package.dependencies.off .. package.dependencies.off + package.dependencies.len], invalid_package_id); + @memset(resolutions_list.items.ptr[package.dependencies.off .. package.dependencies.off + package.dependencies.len], invalid_package_id); dependencies_list.items = dependencies_list.items.ptr[0..new_length]; resolutions_list.items = resolutions_list.items.ptr[0..new_length]; @@ -2160,10 +2159,10 @@ pub const Package = extern struct { const dependency_groups = comptime brk: { var out_groups: [ - @as(usize, @boolToInt(features.dependencies)) + - @as(usize, @boolToInt(features.dev_dependencies)) + - @as(usize, @boolToInt(features.optional_dependencies)) + - @as(usize, @boolToInt(features.peer_dependencies)) + @as(usize, @intFromBool(features.dependencies)) + + @as(usize, @intFromBool(features.dev_dependencies)) + + @as(usize, @intFromBool(features.optional_dependencies)) + + @as(usize, @intFromBool(features.peer_dependencies)) ]DependencyGroup = undefined; var out_group_i: usize = 0; @@ -2252,7 +2251,7 @@ pub const Package = extern struct { if (comptime Environment.allow_assert) std.debug.assert(dependencies_list.items.len == resolutions_list.items.len); var dependencies = dependencies_list.items.ptr[dependencies_list.items.len..total_len]; - std.mem.set(Dependency, dependencies, .{}); + @memset(dependencies, .{}); total_dependencies_count = 0; inline for (dependency_groups) |group| { @@ -2323,7 +2322,7 @@ pub const Package = extern struct { const new_length = package.dependencies.len + dependencies_list.items.len; - std.mem.set(PackageID, resolutions_list.items.ptr[package.dependencies.off .. package.dependencies.off + package.dependencies.len], invalid_package_id); + @memset(resolutions_list.items.ptr[package.dependencies.off .. package.dependencies.off + package.dependencies.len], invalid_package_id); dependencies_list.items = dependencies_list.items.ptr[0..new_length]; resolutions_list.items = resolutions_list.items.ptr[0..new_length]; @@ -2408,7 +2407,7 @@ pub const Package = extern struct { }; pub fn hash(name: string, version: Semver.Version) u64 { - var hasher = std.hash.Wyhash.init(0); + var hasher = bun.Wyhash.init(0); hasher.update(name); hasher.update(std.mem.asBytes(&version)); return hasher.final(); @@ -2966,11 +2965,11 @@ pub const Package = extern struct { const dependency_groups = comptime brk: { var out_groups: [ - @as(usize, @boolToInt(features.dependencies)) + - @as(usize, @boolToInt(features.dev_dependencies)) + - @as(usize, @boolToInt(features.optional_dependencies)) + - @as(usize, @boolToInt(features.peer_dependencies)) + - @as(usize, @boolToInt(features.workspaces)) + @as(usize, @intFromBool(features.dependencies)) + + @as(usize, @intFromBool(features.dev_dependencies)) + + @as(usize, @intFromBool(features.optional_dependencies)) + + @as(usize, @intFromBool(features.peer_dependencies)) + + @as(usize, @intFromBool(features.workspaces)) ]DependencyGroup = undefined; var out_group_i: usize = 0; @@ -3320,7 +3319,7 @@ pub const Package = extern struct { } } - std.sort.sort( + std.sort.block( Dependency, package_dependencies[0..total_dependencies_count], lockfile.buffers.string_bytes.items, @@ -3332,7 +3331,7 @@ pub const Package = extern struct { package.resolutions = @bitCast(@TypeOf(package.resolutions), package.dependencies); - std.mem.set(PackageID, lockfile.buffers.resolutions.items.ptr[off..total_len], invalid_package_id); + @memset(lockfile.buffers.resolutions.items.ptr[off..total_len], invalid_package_id); const new_len = off + total_dependencies_count; lockfile.buffers.dependencies.items = lockfile.buffers.dependencies.items.ptr[0..new_len]; @@ -3397,7 +3396,7 @@ pub const Package = extern struct { } }; var trash: i32 = undefined; // workaround for stage1 compiler bug - std.sort.sort(Data, &data, &trash, Sort.lessThan); + std.sort.block(Data, &data, &trash, Sort.lessThan); var sizes_bytes: [fields.len]usize = undefined; var field_indexes: [fields.len]usize = undefined; var Types: [fields.len]type = undefined; @@ -3492,10 +3491,10 @@ pub const Package = extern struct { var bytes = std.mem.sliceAsBytes(sliced.items(@field(Lockfile.Package.List.Field, field.name))); const end_pos = stream.pos + bytes.len; if (end_pos <= end_at) { - @memcpy(bytes.ptr, stream.buffer[stream.pos..].ptr, bytes.len); + @memcpy(bytes, stream.buffer[stream.pos..][0..bytes.len]); stream.pos = end_pos; } else if (comptime strings.eqlComptime(field.name, "scripts")) { - @memset(bytes.ptr, 0, bytes.len); + @memset(bytes, 0); } else { return error.@"Lockfile validation failed: invalid package list range"; } @@ -3564,7 +3563,7 @@ const Buffers = struct { } }; var trash: i32 = undefined; // workaround for stage1 compiler bug - std.sort.sort(Data, &data, &trash, Sort.lessThan); + std.sort.block(Data, &data, &trash, Sort.lessThan); var sizes_bytes: [fields.len]usize = undefined; var names: [fields.len][]const u8 = undefined; var types: [fields.len]type = undefined; @@ -3808,7 +3807,7 @@ pub const Serializer = struct { var writer = stream.writer(); try writer.writeAll(header_bytes); - try writer.writeIntLittle(u32, @enumToInt(this.format)); + try writer.writeIntLittle(u32, @intFromEnum(this.format)); try writer.writeAll(&this.meta_hash); @@ -3840,7 +3839,7 @@ pub const Serializer = struct { } var format = try reader.readIntLittle(u32); - if (format != @enumToInt(Lockfile.FormatVersion.current)) { + if (format != @intFromEnum(Lockfile.FormatVersion.current)) { return error.@"Outdated lockfile version"; } @@ -3928,7 +3927,7 @@ fn generateMetaHash(this: *Lockfile, print_name_version_string: bool) !MetaHash } } - std.sort.sort( + std.sort.block( PackageID, alphabetized_names, Lockfile.Package.Alphabetizer{ diff --git a/src/install/npm.zig b/src/install/npm.zig index c01e6ee1f..074041056 100644 --- a/src/install/npm.zig +++ b/src/install/npm.zig @@ -121,9 +121,9 @@ pub const Registry = struct { if (registry.username.len > 0 and registry.password.len > 0 and auth.len == 0) { var output_buf = try allocator.alloc(u8, registry.username.len + registry.password.len + 1 + std.base64.standard.Encoder.calcSize(registry.username.len + registry.password.len + 1)); var input_buf = output_buf[0 .. registry.username.len + registry.password.len + 1]; - @memcpy(input_buf.ptr, registry.username.ptr, registry.username.len); + @memcpy(input_buf[0..registry.username.len], registry.username); input_buf[registry.username.len] = ':'; - @memcpy(input_buf[registry.username.len + 1 ..].ptr, registry.password.ptr, registry.password.len); + @memcpy(input_buf[registry.username.len + 1 ..][0..registry.password.len], registry.password); output_buf = output_buf[input_buf.len..]; auth = std.base64.standard.Encoder.encode(output_buf, input_buf); break :outer; @@ -259,9 +259,9 @@ pub const OperatingSystem = enum(u16) { pub fn isMatch(this: OperatingSystem) bool { if (comptime Environment.isLinux) { - return (@enumToInt(this) & linux) != 0; + return (@intFromEnum(this) & linux) != 0; } else if (comptime Environment.isMac) { - return (@enumToInt(this) & darwin) != 0; + return (@intFromEnum(this) & darwin) != 0; } else { return false; } @@ -282,7 +282,7 @@ pub const OperatingSystem = enum(u16) { if (str.len == 0) { return this_; } - const this = @enumToInt(this_); + const this = @intFromEnum(this_); const is_not = str[0] == '!'; const offset: usize = if (str[0] == '!') 1 else 0; @@ -290,9 +290,9 @@ pub const OperatingSystem = enum(u16) { const field: u16 = NameMap.get(str[offset..]) orelse return this_; if (is_not) { - return @intToEnum(OperatingSystem, this & ~field); + return @enumFromInt(OperatingSystem, this & ~field); } else { - return @intToEnum(OperatingSystem, this | field); + return @enumFromInt(OperatingSystem, this | field); } } }; @@ -334,9 +334,9 @@ pub const Architecture = enum(u16) { pub fn isMatch(this: Architecture) bool { if (comptime Environment.isAarch64) { - return (@enumToInt(this) & arm64) != 0; + return (@intFromEnum(this) & arm64) != 0; } else if (comptime Environment.isX64) { - return (@enumToInt(this) & x64) != 0; + return (@intFromEnum(this) & x64) != 0; } else { return false; } @@ -346,7 +346,7 @@ pub const Architecture = enum(u16) { if (str.len == 0) { return this_; } - const this = @enumToInt(this_); + const this = @intFromEnum(this_); const is_not = str[0] == '!'; const offset: usize = if (str[0] == '!') 1 else 0; @@ -355,9 +355,9 @@ pub const Architecture = enum(u16) { const field: u16 = NameMap.get(input) orelse return this_; if (is_not) { - return @intToEnum(Architecture, this & ~field); + return @enumFromInt(Architecture, this & ~field); } else { - return @intToEnum(Architecture, this | field); + return @enumFromInt(Architecture, this | field); } } }; @@ -496,7 +496,7 @@ pub const PackageManifest = struct { } }; var trash: i32 = undefined; // workaround for stage1 compiler bug - std.sort.sort(Data, &data, &trash, Sort.lessThan); + std.sort.block(Data, &data, &trash, Sort.lessThan); var sizes_bytes: [fields.len]usize = undefined; var names: [fields.len][]const u8 = undefined; for (data, 0..) |elem, i| { @@ -571,7 +571,7 @@ pub const PackageManifest = struct { } pub fn save(this: *const PackageManifest, tmpdir: std.fs.IterableDir, cache_dir: std.fs.IterableDir) !void { - const file_id = std.hash.Wyhash.hash(0, this.name()); + const file_id = bun.Wyhash.hash(0, this.name()); var dest_path_buf: [512 + 64]u8 = undefined; var out_path_buf: ["-18446744073709551615".len + ".npm".len + 1]u8 = undefined; var dest_path_stream = std.io.fixedBufferStream(&dest_path_buf); @@ -588,7 +588,7 @@ pub const PackageManifest = struct { } pub fn load(allocator: std.mem.Allocator, cache_dir: std.fs.IterableDir, package_name: string) !?PackageManifest { - const file_id = std.hash.Wyhash.hash(0, package_name); + const file_id = bun.Wyhash.hash(0, package_name); var file_path_buf: [512 + 64]u8 = undefined; const hex_fmt = bun.fmt.hexIntLower(file_id); var file_path = try std.fmt.bufPrintZ(&file_path_buf, "{any}.npm", .{hex_fmt}); @@ -630,7 +630,7 @@ pub const PackageManifest = struct { inline for (sizes.fields) |field_name| { if (comptime strings.eqlComptime(field_name, "pkg")) { - pkg_stream.pos = std.mem.alignForward(pkg_stream.pos, @alignOf(Npm.NpmPackage)); + pkg_stream.pos = std.mem.alignForward(usize, pkg_stream.pos, @alignOf(Npm.NpmPackage)); var reader = pkg_stream.reader(); package_manifest.pkg = try reader.readStruct(NpmPackage); } else { @@ -851,7 +851,7 @@ pub const PackageManifest = struct { pre_versions_len += 1; extern_string_count += 1; } else { - extern_string_count += @as(usize, @boolToInt(std.mem.indexOfScalar(u8, version_name, '+') != null)); + extern_string_count += @as(usize, @intFromBool(std.mem.indexOfScalar(u8, version_name, '+') != null)); release_versions_len += 1; } @@ -862,7 +862,7 @@ pub const PackageManifest = struct { if (tarball_prop.data == .e_string) { const tarball = tarball_prop.data.e_string.slice(allocator); string_builder.count(tarball); - tarball_urls_count += @as(usize, @boolToInt(tarball.len > 0)); + tarball_urls_count += @as(usize, @intFromBool(tarball.len > 0)); } } } @@ -961,19 +961,19 @@ pub const PackageManifest = struct { if (versioned_packages.len > 0) { var versioned_packages_bytes = std.mem.sliceAsBytes(versioned_packages); - @memset(versioned_packages_bytes.ptr, 0, versioned_packages_bytes.len); + @memset(versioned_packages_bytes, 0); } if (all_semver_versions.len > 0) { var all_semver_versions_bytes = std.mem.sliceAsBytes(all_semver_versions); - @memset(all_semver_versions_bytes.ptr, 0, all_semver_versions_bytes.len); + @memset(all_semver_versions_bytes, 0); } if (all_extern_strings.len > 0) { var all_extern_strings_bytes = std.mem.sliceAsBytes(all_extern_strings); - @memset(all_extern_strings_bytes.ptr, 0, all_extern_strings_bytes.len); + @memset(all_extern_strings_bytes, 0); } if (version_extern_strings.len > 0) { var version_extern_strings_bytes = std.mem.sliceAsBytes(version_extern_strings); - @memset(version_extern_strings_bytes.ptr, 0, version_extern_strings_bytes.len); + @memset(version_extern_strings_bytes, 0); } var versioned_package_releases = versioned_packages[0..release_versions_len]; @@ -998,7 +998,7 @@ pub const PackageManifest = struct { var string_buf: string = ""; if (string_builder.ptr) |ptr| { // 0 it out for better determinism - @memset(ptr, 0, string_builder.cap); + @memset(ptr[0..string_builder.cap], 0); string_buf = ptr[0..string_builder.cap]; } @@ -1253,8 +1253,8 @@ pub const PackageManifest = struct { var this_names = dependency_names[0..count]; var this_versions = dependency_values[0..count]; - var name_hasher = std.hash.Wyhash.init(0); - var version_hasher = std.hash.Wyhash.init(0); + var name_hasher = bun.Wyhash.init(0); + var version_hasher = bun.Wyhash.init(0); const is_peer = comptime strings.eqlComptime(pair.prop, "peerDependencies"); @@ -1495,7 +1495,7 @@ pub const PackageManifest = struct { if (src.len > 0) { var dst = std.mem.sliceAsBytes(all_extern_strings[all_extern_strings.len - extern_strings.len ..]); std.debug.assert(dst.len >= src.len); - @memcpy(dst.ptr, src.ptr, src.len); + @memcpy(dst[0..src.len], src); } all_extern_strings = all_extern_strings[0 .. all_extern_strings.len - extern_strings.len]; diff --git a/src/install/resolution.zig b/src/install/resolution.zig index 1bd88e78d..b1adb3d80 100644 --- a/src/install/resolution.zig +++ b/src/install/resolution.zig @@ -20,7 +20,7 @@ pub const Resolution = extern struct { rhs_buf: []const u8, ) std.math.Order { if (lhs.tag != rhs.tag) { - return std.math.order(@enumToInt(lhs.tag), @enumToInt(rhs.tag)); + return std.math.order(@intFromEnum(lhs.tag), @intFromEnum(rhs.tag)); } return switch (lhs.tag) { diff --git a/src/install/resolvers/folder_resolver.zig b/src/install/resolvers/folder_resolver.zig index 90a2a414c..0ece2be7f 100644 --- a/src/install/resolvers/folder_resolver.zig +++ b/src/install/resolvers/folder_resolver.zig @@ -30,7 +30,7 @@ pub const FolderResolution = union(Tag) { } pub fn hash(normalized_path: string) u64 { - return std.hash.Wyhash.hash(0, normalized_path); + return bun.hash(normalized_path); } fn NewResolver(comptime tag: Resolution.Tag) type { @@ -95,9 +95,9 @@ pub const FolderResolution = union(Tag) { .global, .cache_folder => { const path = if (global_or_relative == .global) global_or_relative.global else global_or_relative.cache_folder; if (path.len > 0) { - const offset = path.len -| @as(usize, @boolToInt(path[path.len -| 1] == std.fs.path.sep)); + const offset = path.len -| @as(usize, @intFromBool(path[path.len -| 1] == std.fs.path.sep)); if (offset > 0) - @memcpy(remain.ptr, path.ptr, offset); + @memcpy(remain[0..offset], path[0..offset]); remain = remain[offset..]; if (normalized.len > 0) { if ((path[path.len - 1] != std.fs.path.sep) and (normalized[0] != std.fs.path.sep)) { diff --git a/src/install/semver.zig b/src/install/semver.zig index 9fd6b9c8d..c2730e7c7 100644 --- a/src/install/semver.zig +++ b/src/install/semver.zig @@ -263,7 +263,7 @@ pub const String = extern struct { std.debug.assert(bun.isSliceInBuffer(in, buf)); return Pointer{ - .off = @truncate(u32, @ptrToInt(in.ptr) - @ptrToInt(buf.ptr)), + .off = @truncate(u32, @intFromPtr(in.ptr) - @intFromPtr(buf.ptr)), .len = @truncate(u32, in.len), }; } @@ -311,7 +311,7 @@ pub const String = extern struct { pub const StringPool = std.HashMap(u64, String, IdentityContext(u64), 80); pub inline fn stringHash(buf: []const u8) u64 { - return std.hash.Wyhash.hash(0, buf); + return bun.Wyhash.hash(0, buf); } pub inline fn count(this: *Builder, slice_: string) void { @@ -515,7 +515,7 @@ pub const ExternalString = extern struct { pub inline fn from(in: string) ExternalString { return ExternalString{ .value = String.init(in, in), - .hash = std.hash.Wyhash.hash(0, in), + .hash = bun.Wyhash.hash(0, in), }; } @@ -552,15 +552,15 @@ pub const BigExternalString = extern struct { return BigExternalString{ .off = 0, .len = @truncate(u32, in.len), - .hash = std.hash.Wyhash.hash(0, in), + .hash = bun.Wyhash.hash(0, in), }; } pub inline fn init(buf: string, in: string, hash: u64) BigExternalString { - std.debug.assert(@ptrToInt(buf.ptr) <= @ptrToInt(in.ptr) and ((@ptrToInt(in.ptr) + in.len) <= (@ptrToInt(buf.ptr) + buf.len))); + std.debug.assert(@intFromPtr(buf.ptr) <= @intFromPtr(in.ptr) and ((@intFromPtr(in.ptr) + in.len) <= (@intFromPtr(buf.ptr) + buf.len))); return BigExternalString{ - .off = @truncate(u32, @ptrToInt(in.ptr) - @ptrToInt(buf.ptr)), + .off = @truncate(u32, @intFromPtr(in.ptr) - @intFromPtr(buf.ptr)), .len = @truncate(u32, in.len), .hash = hash, }; @@ -580,19 +580,19 @@ pub const SlicedString = struct { } pub inline fn external(this: SlicedString) ExternalString { - if (comptime Environment.allow_assert) std.debug.assert(@ptrToInt(this.buf.ptr) <= @ptrToInt(this.slice.ptr) and ((@ptrToInt(this.slice.ptr) + this.slice.len) <= (@ptrToInt(this.buf.ptr) + this.buf.len))); + if (comptime Environment.allow_assert) std.debug.assert(@intFromPtr(this.buf.ptr) <= @intFromPtr(this.slice.ptr) and ((@intFromPtr(this.slice.ptr) + this.slice.len) <= (@intFromPtr(this.buf.ptr) + this.buf.len))); - return ExternalString.init(this.buf, this.slice, std.hash.Wyhash.hash(0, this.slice)); + return ExternalString.init(this.buf, this.slice, bun.Wyhash.hash(0, this.slice)); } pub inline fn value(this: SlicedString) String { - if (comptime Environment.allow_assert) std.debug.assert(@ptrToInt(this.buf.ptr) <= @ptrToInt(this.slice.ptr) and ((@ptrToInt(this.slice.ptr) + this.slice.len) <= (@ptrToInt(this.buf.ptr) + this.buf.len))); + if (comptime Environment.allow_assert) std.debug.assert(@intFromPtr(this.buf.ptr) <= @intFromPtr(this.slice.ptr) and ((@intFromPtr(this.slice.ptr) + this.slice.len) <= (@intFromPtr(this.buf.ptr) + this.buf.len))); return String.init(this.buf, this.slice); } pub inline fn sub(this: SlicedString, input: string) SlicedString { - std.debug.assert(@ptrToInt(this.buf.ptr) <= @ptrToInt(this.buf.ptr) and ((@ptrToInt(input.ptr) + input.len) <= (@ptrToInt(this.buf.ptr) + this.buf.len))); + std.debug.assert(@intFromPtr(this.buf.ptr) <= @intFromPtr(this.buf.ptr) and ((@intFromPtr(input.ptr) + input.len) <= (@intFromPtr(this.buf.ptr) + this.buf.len))); return SlicedString{ .buf = this.buf, .slice = input }; } }; @@ -678,7 +678,7 @@ pub const Version = extern struct { .build = this.tag.build.hash, }; const bytes = std.mem.asBytes(&hashable); - return std.hash.Wyhash.hash(0, bytes); + return bun.Wyhash.hash(0, bytes); } pub const Formatter = struct { @@ -1814,7 +1814,7 @@ pub const Query = struct { }; if (!hyphenate) i = rollback; - i += @as(usize, @boolToInt(!hyphenate)); + i += @as(usize, @intFromBool(!hyphenate)); if (hyphenate) { const second_parsed = Version.parse(sliced.sub(input[i..]), allocator); |