aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/zig-fmt.yml2
-rw-r--r--Dockerfile2
-rw-r--r--bench/hot-module-reloading/css-stress-test/color-looper.emotion.zig28
-rw-r--r--bench/hot-module-reloading/css-stress-test/color-looper.zig28
-rw-r--r--docs/project/development.md2
-rw-r--r--misctools/fetch.zig2
-rw-r--r--misctools/http_bench.zig8
-rw-r--r--src/ArenaAllocator.zig24
-rw-r--r--src/allocators.zig8
-rw-r--r--src/analytics/analytics_schema.zig6
-rw-r--r--src/analytics/analytics_thread.zig22
-rw-r--r--src/api/schema.zig6
-rw-r--r--src/ast/base.zig20
-rw-r--r--src/baby_list.zig38
-rw-r--r--src/base64/base64.zig12
-rw-r--r--src/bit_set.zig48
-rw-r--r--src/blob.zig2
-rw-r--r--src/boringssl.zig2
-rw-r--r--src/bun.js/api/JSBundler.zig4
-rw-r--r--src/bun.js/api/JSTranspiler.zig10
-rw-r--r--src/bun.js/api/bun.zig186
-rw-r--r--src/bun.js/api/bun/dns_resolver.zig24
-rw-r--r--src/bun.js/api/bun/socket.zig85
-rw-r--r--src/bun.js/api/bun/spawn.zig12
-rw-r--r--src/bun.js/api/bun/subprocess.zig36
-rw-r--r--src/bun.js/api/bun/x509.zig38
-rw-r--r--src/bun.js/api/ffi.zig16
-rw-r--r--src/bun.js/api/html_rewriter.zig2
-rw-r--r--src/bun.js/api/server.zig72
-rw-r--r--src/bun.js/base.zig50
-rw-r--r--src/bun.js/bindings/FFI.zig58
-rw-r--r--src/bun.js/bindings/bindings.zig194
-rw-r--r--src/bun.js/bindings/exports.zig60
-rw-r--r--src/bun.js/bindings/shimmer.zig2
-rw-r--r--src/bun.js/event_loop.zig8
-rw-r--r--src/bun.js/javascript.zig62
-rw-r--r--src/bun.js/javascript_core_c_api.zig2
-rw-r--r--src/bun.js/module_loader.zig10
-rw-r--r--src/bun.js/node/dir_iterator.zig17
-rw-r--r--src/bun.js/node/fs_events.zig2
-rw-r--r--src/bun.js/node/node_fs.zig78
-rw-r--r--src/bun.js/node/node_os.zig20
-rw-r--r--src/bun.js/node/syscall.zig106
-rw-r--r--src/bun.js/node/types.zig98
-rw-r--r--src/bun.js/test/diff_format.zig4
-rw-r--r--src/bun.js/test/expect.zig6
-rw-r--r--src/bun.js/test/jest.zig22
-rw-r--r--src/bun.js/test/pretty_format.zig34
-rw-r--r--src/bun.js/webcore.zig12
-rw-r--r--src/bun.js/webcore/blob.zig120
-rw-r--r--src/bun.js/webcore/body.zig16
-rw-r--r--src/bun.js/webcore/encoding.zig44
-rw-r--r--src/bun.js/webcore/request.zig2
-rw-r--r--src/bun.js/webcore/response.zig20
-rw-r--r--src/bun.js/webcore/streams.zig179
-rw-r--r--src/bun.zig50
-rw-r--r--src/bundler/bundle_v2.zig186
-rw-r--r--src/bundler/entry_points.zig4
-rw-r--r--src/c.zig20
-rw-r--r--src/cli.zig2
-rw-r--r--src/cli/add_completions.zig2
-rw-r--r--src/cli/build_command.zig34
-rw-r--r--src/cli/bunx_command.zig4
-rw-r--r--src/cli/create_command.zig26
-rw-r--r--src/cli/package_manager_command.zig2
-rw-r--r--src/cli/run_command.zig8
-rw-r--r--src/cli/test_command.zig2
-rw-r--r--src/cli/upgrade_command.zig14
-rw-r--r--src/comptime_string_map.zig2
-rw-r--r--src/copy_file.zig6
-rw-r--r--src/css_scanner.zig68
-rw-r--r--src/darwin_c.zig16
-rw-r--r--src/defines.zig2
-rw-r--r--src/deps/boringssl.translated.zig4496
-rw-r--r--src/deps/c_ares.zig12
-rw-r--r--src/deps/diffz/DiffMatchPatch.zig142
-rw-r--r--src/deps/lol-html.zig21
-rw-r--r--src/deps/picohttp.zig24
-rw-r--r--src/deps/uws.zig150
-rw-r--r--src/deps/zig-clap/clap.zig6
-rw-r--r--src/deps/zig-datetime/src/datetime.zig114
-rw-r--r--src/env_loader.zig24
-rw-r--r--src/fs.zig10
-rw-r--r--src/futex.zig32
-rw-r--r--src/hive_array.zig6
-rw-r--r--src/http.zig28
-rw-r--r--src/http/header_builder.zig16
-rw-r--r--src/http/mime_type.zig2
-rw-r--r--src/http/url_path.zig14
-rw-r--r--src/http/websocket.zig22
-rw-r--r--src/http/websocket_http_client.zig58
-rw-r--r--src/http_client_async.zig64
-rw-r--r--src/install/bin.zig6
-rw-r--r--src/install/dependency.zig28
-rw-r--r--src/install/extract_tarball.zig2
-rw-r--r--src/install/install.zig90
-rw-r--r--src/install/integrity.zig2
-rw-r--r--src/install/lockfile.zig148
-rw-r--r--src/install/npm.zig32
-rw-r--r--src/install/semver.zig62
-rw-r--r--src/io/io_darwin.zig56
-rw-r--r--src/io/io_linux.zig80
-rw-r--r--src/io/time.zig2
-rw-r--r--src/js_ast.zig109
-rw-r--r--src/js_lexer.zig102
-rw-r--r--src/js_lexer/identifier.zig12
-rw-r--r--src/js_lexer/identifier_cache.zig8
-rw-r--r--src/js_lexer/identifier_data.zig4
-rw-r--r--src/js_parser.zig68
-rw-r--r--src/js_printer.zig64
-rw-r--r--src/json_parser.zig4
-rw-r--r--src/libarchive/libarchive.zig42
-rw-r--r--src/linker.zig4
-rw-r--r--src/linux_c.zig22
-rw-r--r--src/logger.zig38
-rw-r--r--src/main_wasm.zig16
-rw-r--r--src/memory_allocator.zig8
-rw-r--r--src/mimalloc_arena.zig4
-rw-r--r--src/multi_array_list.zig33
-rw-r--r--src/napi/napi.zig24
-rw-r--r--src/network_thread.zig4
-rw-r--r--src/node_fallbacks.zig54
-rw-r--r--src/node_module_bundle.zig52
-rw-r--r--src/options.zig8
-rw-r--r--src/output.zig22
-rw-r--r--src/renamer.zig8
-rw-r--r--src/report.zig4
-rw-r--r--src/resolver/package_json.zig12
-rw-r--r--src/resolver/resolve_path.zig12
-rw-r--r--src/resolver/resolver.zig28
-rw-r--r--src/router.zig22
-rw-r--r--src/runtime.zig9
-rw-r--r--src/sha.zig8
-rw-r--r--src/sourcemap/sourcemap.zig92
-rw-r--r--src/sourcemap/vlq_bench.zig14
-rw-r--r--src/standalone_bun.zig12
-rw-r--r--src/string.zig4
-rw-r--r--src/string_builder.zig8
-rw-r--r--src/string_immutable.zig382
-rw-r--r--src/string_joiner.zig4
-rw-r--r--src/string_mutable.zig2
-rw-r--r--src/string_types.zig18
-rw-r--r--src/sync.zig4
-rw-r--r--src/tagged_pointer.zig12
-rw-r--r--src/thread_pool.zig74
-rw-r--r--src/toml/toml_lexer.zig18
-rw-r--r--src/tracy.zig6
-rw-r--r--src/url.zig30
-rw-r--r--src/util.zig8
-rw-r--r--src/watcher.zig52
-rw-r--r--src/which.zig2
-rw-r--r--src/work_pool.zig2
-rw-r--r--src/wyhash.zig6
-rw-r--r--src/zlib.zig28
154 files changed, 4857 insertions, 4894 deletions
diff --git a/.github/workflows/zig-fmt.yml b/.github/workflows/zig-fmt.yml
index fa904a07e..1f1c95e36 100644
--- a/.github/workflows/zig-fmt.yml
+++ b/.github/workflows/zig-fmt.yml
@@ -1,7 +1,7 @@
name: zig-fmt
env:
- ZIG_VERSION: 0.11.0-dev.3737+9eb008717
+ ZIG_VERSION: 0.11.0-dev.4006+bf827d0b5
on:
pull_request:
diff --git a/Dockerfile b/Dockerfile
index acc772826..dea0e8f62 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -12,7 +12,7 @@ ARG TRIPLET=${ARCH}-linux-gnu
ARG BUILDARCH=amd64
ARG WEBKIT_TAG=may20-4
ARG ZIG_TAG=jul1
-ARG ZIG_VERSION="0.11.0-dev.3737+9eb008717"
+ARG ZIG_VERSION="0.11.0-dev.4006+bf827d0b5"
ARG WEBKIT_BASENAME="bun-webkit-linux-$BUILDARCH"
ARG ZIG_FOLDERNAME=zig-linux-${BUILD_MACHINE_ARCH}-${ZIG_VERSION}
diff --git a/bench/hot-module-reloading/css-stress-test/color-looper.emotion.zig b/bench/hot-module-reloading/css-stress-test/color-looper.emotion.zig
index 02ab05c54..bc3b525d0 100644
--- a/bench/hot-module-reloading/css-stress-test/color-looper.emotion.zig
+++ b/bench/hot-module-reloading/css-stress-test/color-looper.emotion.zig
@@ -43,7 +43,7 @@ pub fn main() anyerror!void {
var position = try std.fmt.parseInt(u32, position_str, 10);
const filepath = try std.fs.path.resolve(allocator, &.{basepath});
var file = try std.fs.openFileAbsolute(filepath, .{ .write = true });
- var ms = @truncate(u64, (try std.fmt.parseInt(u128, args[args.len - 1], 10)) * std.time.ns_per_ms);
+ var ms = @as(u64, @truncate((try std.fmt.parseInt(u128, args[args.len - 1], 10)) * std.time.ns_per_ms));
std.debug.assert(ms > 0);
// std.debug.assert(std.math.isFinite(position));
var prng = std.rand.DefaultPrng.init(0);
@@ -125,30 +125,30 @@ pub fn main() anyerror!void {
);
};
- counters[counter].timestamp = @truncate(u64, @intCast(u128, std.time.nanoTimestamp()) / (std.time.ns_per_ms / 10));
+ counters[counter].timestamp = @as(u64, @truncate(@as(u128, @intCast(std.time.nanoTimestamp())) / (std.time.ns_per_ms / 10)));
counters[counter].rotate = rotate % 360;
counters[counter].percent = std.math.mod(f64, std.math.round(((progress_bar + 1.0) / destination_count) * 1000) / 1000, 100) catch 0;
- counters[counter].color_values[0] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[0][0] + 1) % 256)) * 0.8));
- counters[counter].color_values[1] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[0][1] + 1) % 256)) * 0.8));
- counters[counter].color_values[2] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[0][2] + 1) % 256)) * 0.8));
+ counters[counter].color_values[0] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[0][0] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[1] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[0][1] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[2] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[0][2] + 1) % 256))) * 0.8)));
counters[counter].color_values[3] = (colors[0][0] + 1) % 256;
counters[counter].color_values[4] = (colors[0][1] + 1) % 256;
counters[counter].color_values[5] = (colors[0][2] + 1) % 256;
- counters[counter].color_values[6] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[1][0] + 1) % 256)) * 0.8));
- counters[counter].color_values[7] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[1][1] + 1) % 256)) * 0.8));
- counters[counter].color_values[8] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[1][2] + 1) % 256)) * 0.8));
+ counters[counter].color_values[6] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[1][0] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[7] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[1][1] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[8] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[1][2] + 1) % 256))) * 0.8)));
counters[counter].color_values[9] = (colors[1][0] + 1) % 256;
counters[counter].color_values[10] = (colors[1][1] + 1) % 256;
counters[counter].color_values[11] = (colors[1][2] + 1) % 256;
- counters[counter].color_values[12] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[2][0] + 1) % 256)) * 0.8));
- counters[counter].color_values[13] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[2][1] + 1) % 256)) * 0.8));
- counters[counter].color_values[14] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[2][2] + 1) % 256)) * 0.8));
+ counters[counter].color_values[12] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[2][0] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[13] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[2][1] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[14] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[2][2] + 1) % 256))) * 0.8)));
counters[counter].color_values[15] = (colors[2][0] + 1) % 256;
counters[counter].color_values[16] = (colors[2][1] + 1) % 256;
counters[counter].color_values[17] = (colors[2][2] + 1) % 256;
- counters[counter].color_values[18] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[3][0] + 1) % 256)) * 0.8));
- counters[counter].color_values[19] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[3][1] + 1) % 256)) * 0.8));
- counters[counter].color_values[20] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[3][2] + 1) % 256)) * 0.8));
+ counters[counter].color_values[18] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[3][0] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[19] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[3][1] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[20] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[3][2] + 1) % 256))) * 0.8)));
counters[counter].color_values[21] = (colors[3][0] + 1) % 256;
counters[counter].color_values[22] = (colors[3][1] + 1) % 256;
counters[counter].color_values[23] = (colors[3][2] + 1) % 256;
diff --git a/bench/hot-module-reloading/css-stress-test/color-looper.zig b/bench/hot-module-reloading/css-stress-test/color-looper.zig
index 0509a525b..a1483a2f3 100644
--- a/bench/hot-module-reloading/css-stress-test/color-looper.zig
+++ b/bench/hot-module-reloading/css-stress-test/color-looper.zig
@@ -43,7 +43,7 @@ pub fn main() anyerror!void {
var position = try std.fmt.parseInt(u32, position_str, 10);
const filepath = try std.fs.path.resolve(allocator, &.{basepath});
var file = try std.fs.openFileAbsolute(filepath, .{ .write = true });
- var ms = @truncate(u64, (try std.fmt.parseInt(u128, args[args.len - 1], 10)) * std.time.ns_per_ms);
+ var ms = @as(u64, @truncate((try std.fmt.parseInt(u128, args[args.len - 1], 10)) * std.time.ns_per_ms));
std.debug.assert(ms > 0);
// std.debug.assert(std.math.isFinite(position));
var prng = std.rand.DefaultPrng.init(0);
@@ -112,30 +112,30 @@ pub fn main() anyerror!void {
\\
++ SIMULATE_LONG_FILE;
- counters[counter].timestamp = @truncate(u64, @intCast(u128, std.time.nanoTimestamp()) / (std.time.ns_per_ms / 10));
+ counters[counter].timestamp = @as(u64, @truncate(@as(u128, @intCast(std.time.nanoTimestamp())) / (std.time.ns_per_ms / 10)));
counters[counter].rotate = rotate % 360;
counters[counter].percent = std.math.mod(f64, std.math.round(((progress_bar + 1.0) / destination_count) * 1000) / 1000, 100) catch 0;
- counters[counter].color_values[0] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[0][0] + 1) % 256)) * 0.8));
- counters[counter].color_values[1] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[0][1] + 1) % 256)) * 0.8));
- counters[counter].color_values[2] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[0][2] + 1) % 256)) * 0.8));
+ counters[counter].color_values[0] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[0][0] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[1] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[0][1] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[2] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[0][2] + 1) % 256))) * 0.8)));
counters[counter].color_values[3] = (colors[0][0] + 1) % 256;
counters[counter].color_values[4] = (colors[0][1] + 1) % 256;
counters[counter].color_values[5] = (colors[0][2] + 1) % 256;
- counters[counter].color_values[6] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[1][0] + 1) % 256)) * 0.8));
- counters[counter].color_values[7] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[1][1] + 1) % 256)) * 0.8));
- counters[counter].color_values[8] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[1][2] + 1) % 256)) * 0.8));
+ counters[counter].color_values[6] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[1][0] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[7] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[1][1] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[8] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[1][2] + 1) % 256))) * 0.8)));
counters[counter].color_values[9] = (colors[1][0] + 1) % 256;
counters[counter].color_values[10] = (colors[1][1] + 1) % 256;
counters[counter].color_values[11] = (colors[1][2] + 1) % 256;
- counters[counter].color_values[12] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[2][0] + 1) % 256)) * 0.8));
- counters[counter].color_values[13] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[2][1] + 1) % 256)) * 0.8));
- counters[counter].color_values[14] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[2][2] + 1) % 256)) * 0.8));
+ counters[counter].color_values[12] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[2][0] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[13] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[2][1] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[14] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[2][2] + 1) % 256))) * 0.8)));
counters[counter].color_values[15] = (colors[2][0] + 1) % 256;
counters[counter].color_values[16] = (colors[2][1] + 1) % 256;
counters[counter].color_values[17] = (colors[2][2] + 1) % 256;
- counters[counter].color_values[18] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[3][0] + 1) % 256)) * 0.8));
- counters[counter].color_values[19] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[3][1] + 1) % 256)) * 0.8));
- counters[counter].color_values[20] = @intFromFloat(u32, std.math.round(@floatFromInt(f64, ((colors[3][2] + 1) % 256)) * 0.8));
+ counters[counter].color_values[18] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[3][0] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[19] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[3][1] + 1) % 256))) * 0.8)));
+ counters[counter].color_values[20] = @as(u32, @intFromFloat(std.math.round(@as(f64, @floatFromInt(((colors[3][2] + 1) % 256))) * 0.8)));
counters[counter].color_values[21] = (colors[3][0] + 1) % 256;
counters[counter].color_values[22] = (colors[3][1] + 1) % 256;
counters[counter].color_values[23] = (colors[3][2] + 1) % 256;
diff --git a/docs/project/development.md b/docs/project/development.md
index 29bb09f63..4849f1780 100644
--- a/docs/project/development.md
+++ b/docs/project/development.md
@@ -112,7 +112,7 @@ Zig can be installed either with our npm package [`@oven/zig`](https://www.npmjs
```bash
$ bun install -g @oven/zig
-$ zigup 0.11.0-dev.3737+9eb008717
+$ zigup 0.11.0-dev.4006+bf827d0b5
```
## Building
diff --git a/misctools/fetch.zig b/misctools/fetch.zig
index 5ac701250..e450ab5d3 100644
--- a/misctools/fetch.zig
+++ b/misctools/fetch.zig
@@ -91,7 +91,7 @@ pub const Arguments = struct {
var raw_args: std.ArrayListUnmanaged(string) = undefined;
if (positionals.len > 0) {
- raw_args = .{ .capacity = positionals.len, .items = @ptrFromInt([*][]const u8, @intFromPtr(positionals.ptr))[0..positionals.len] };
+ raw_args = .{ .capacity = positionals.len, .items = @as([*][]const u8, @ptrFromInt(@intFromPtr(positionals.ptr)))[0..positionals.len] };
} else {
raw_args = .{};
}
diff --git a/misctools/http_bench.zig b/misctools/http_bench.zig
index 5847399a1..1759e630d 100644
--- a/misctools/http_bench.zig
+++ b/misctools/http_bench.zig
@@ -95,7 +95,7 @@ pub const Arguments = struct {
var raw_args: std.ArrayListUnmanaged(string) = undefined;
if (positionals.len > 0) {
- raw_args = .{ .capacity = positionals.len, .items = @ptrFromInt([*][]const u8, @intFromPtr(positionals.ptr))[0..positionals.len] };
+ raw_args = .{ .capacity = positionals.len, .items = @as([*][]const u8, @ptrFromInt(@intFromPtr(positionals.ptr)))[0..positionals.len] };
} else {
raw_args = .{};
}
@@ -244,7 +244,7 @@ pub fn main() anyerror!void {
const http = channel.readItem() catch continue;
read_count += 1;
- Output.printElapsed(@floatCast(f64, @floatFromInt(f128, http.elapsed) / std.time.ns_per_ms));
+ Output.printElapsed(@as(f64, @floatCast(@as(f128, @floatFromInt(http.elapsed)) / std.time.ns_per_ms)));
if (http.response) |resp| {
if (resp.status_code == 200) {
success_count += 1;
@@ -270,7 +270,7 @@ pub fn main() anyerror!void {
http.client.url.href,
http.response_buffer.list.items.len,
});
- Output.printElapsed(@floatCast(f64, @floatFromInt(f128, http.gzip_elapsed) / std.time.ns_per_ms));
+ Output.printElapsed(@as(f64, @floatCast(@as(f128, @floatFromInt(http.gzip_elapsed)) / std.time.ns_per_ms)));
Output.prettyError("<d> gzip)<r>\n", .{});
} else {
Output.prettyError(" <d>{s}<r><d> - {s}<r> <d>({d} bytes)<r>\n", .{
@@ -295,7 +295,7 @@ pub fn main() anyerror!void {
fail_count,
});
- Output.printElapsed(@floatCast(f64, @floatFromInt(f128, timer.read()) / std.time.ns_per_ms));
+ Output.printElapsed(@as(f64, @floatCast(@as(f128, @floatFromInt(timer.read())) / std.time.ns_per_ms)));
Output.prettyErrorln(" {d} requests", .{
read_count,
});
diff --git a/src/ArenaAllocator.zig b/src/ArenaAllocator.zig
index 999ea4142..2ccb08d19 100644
--- a/src/ArenaAllocator.zig
+++ b/src/ArenaAllocator.zig
@@ -49,7 +49,7 @@ pub const ArenaAllocator = struct {
// this has to occur before the free because the free frees node
const next_it = node.next;
const align_bits = std.math.log2_int(usize, @alignOf(BufNode));
- const alloc_buf = @ptrCast([*]u8, node)[0..node.data];
+ const alloc_buf = @as([*]u8, @ptrCast(node))[0..node.data];
self.child_allocator.rawFree(alloc_buf, align_bits, @returnAddress());
it = next_it;
}
@@ -129,7 +129,7 @@ pub const ArenaAllocator = struct {
const next_it = node.next;
if (next_it == null)
break node;
- const alloc_buf = @ptrCast([*]u8, node)[0..node.data];
+ const alloc_buf = @as([*]u8, @ptrCast(node))[0..node.data];
self.child_allocator.rawFree(alloc_buf, align_bits, @returnAddress());
it = next_it;
} else null;
@@ -141,7 +141,7 @@ pub const ArenaAllocator = struct {
// perfect, no need to invoke the child_allocator
if (first_node.data == total_size)
return true;
- const first_alloc_buf = @ptrCast([*]u8, first_node)[0..first_node.data];
+ const first_alloc_buf = @as([*]u8, @ptrCast(first_node))[0..first_node.data];
if (self.child_allocator.rawResize(first_alloc_buf, align_bits, total_size, @returnAddress())) {
// successful resize
first_node.data = total_size;
@@ -152,7 +152,7 @@ pub const ArenaAllocator = struct {
return false;
};
self.child_allocator.rawFree(first_alloc_buf, align_bits, @returnAddress());
- const node = @ptrCast(*BufNode, @alignCast(@alignOf(BufNode), new_ptr));
+ const node = @as(*BufNode, @ptrCast(@alignCast(new_ptr)));
node.* = .{ .data = total_size };
self.state.buffer_list.first = node;
}
@@ -167,7 +167,7 @@ pub const ArenaAllocator = struct {
const log2_align = comptime std.math.log2_int(usize, @alignOf(BufNode));
const ptr = self.child_allocator.rawAlloc(len, log2_align, @returnAddress()) orelse
return null;
- const buf_node = @ptrCast(*BufNode, @alignCast(@alignOf(BufNode), ptr));
+ const buf_node = @as(*BufNode, @ptrCast(@alignCast(ptr)));
buf_node.* = .{ .data = len };
self.state.buffer_list.prepend(buf_node);
self.state.end_index = 0;
@@ -175,16 +175,16 @@ pub const ArenaAllocator = struct {
}
fn alloc(ctx: *anyopaque, n: usize, log2_ptr_align: u8, ra: usize) ?[*]u8 {
- const self = @ptrCast(*ArenaAllocator, @alignCast(@alignOf(ArenaAllocator), ctx));
+ const self = @as(*ArenaAllocator, @ptrCast(@alignCast(ctx)));
_ = ra;
- const ptr_align = @as(usize, 1) << @intCast(Allocator.Log2Align, log2_ptr_align);
+ const ptr_align = @as(usize, 1) << @as(Allocator.Log2Align, @intCast(log2_ptr_align));
var cur_node = if (self.state.buffer_list.first) |first_node|
first_node
else
(self.createNode(0, n + ptr_align) orelse return null);
while (true) {
- const cur_alloc_buf = @ptrCast([*]u8, cur_node)[0..cur_node.data];
+ const cur_alloc_buf = @as([*]u8, @ptrCast(cur_node))[0..cur_node.data];
const cur_buf = cur_alloc_buf[@sizeOf(BufNode)..];
const addr = @intFromPtr(cur_buf.ptr) + self.state.end_index;
const adjusted_addr = mem.alignForward(usize, addr, ptr_align);
@@ -209,12 +209,12 @@ pub const ArenaAllocator = struct {
}
fn resize(ctx: *anyopaque, buf: []u8, log2_buf_align: u8, new_len: usize, ret_addr: usize) bool {
- const self = @ptrCast(*ArenaAllocator, @alignCast(@alignOf(ArenaAllocator), ctx));
+ const self = @as(*ArenaAllocator, @ptrCast(@alignCast(ctx)));
_ = log2_buf_align;
_ = ret_addr;
const cur_node = self.state.buffer_list.first orelse return false;
- const cur_buf = @ptrCast([*]u8, cur_node)[@sizeOf(BufNode)..cur_node.data];
+ const cur_buf = @as([*]u8, @ptrCast(cur_node))[@sizeOf(BufNode)..cur_node.data];
if (@intFromPtr(cur_buf.ptr) + self.state.end_index != @intFromPtr(buf.ptr) + buf.len) {
// It's not the most recent allocation, so it cannot be expanded,
// but it's fine if they want to make it smaller.
@@ -236,10 +236,10 @@ pub const ArenaAllocator = struct {
_ = log2_buf_align;
_ = ret_addr;
- const self = @ptrCast(*ArenaAllocator, @alignCast(@alignOf(ArenaAllocator), ctx));
+ const self = @as(*ArenaAllocator, @ptrCast(@alignCast(ctx)));
const cur_node = self.state.buffer_list.first orelse return;
- const cur_buf = @ptrCast([*]u8, cur_node)[@sizeOf(BufNode)..cur_node.data];
+ const cur_buf = @as([*]u8, @ptrCast(cur_node))[@sizeOf(BufNode)..cur_node.data];
if (@intFromPtr(cur_buf.ptr) + self.state.end_index == @intFromPtr(buf.ptr) + buf.len) {
self.state.end_index -= buf.len;
diff --git a/src/allocators.zig b/src/allocators.zig
index 1d3b30c0b..facab925e 100644
--- a/src/allocators.zig
+++ b/src/allocators.zig
@@ -13,8 +13,8 @@ pub fn sliceRange(slice: []const u8, buffer: []const u8) ?[2]u32 {
return if (@intFromPtr(buffer.ptr) <= @intFromPtr(slice.ptr) and
(@intFromPtr(slice.ptr) + slice.len) <= (@intFromPtr(buffer.ptr) + buffer.len))
[2]u32{
- @truncate(u32, @intFromPtr(slice.ptr) - @intFromPtr(buffer.ptr)),
- @truncate(u32, slice.len),
+ @as(u32, @truncate(@intFromPtr(slice.ptr) - @intFromPtr(buffer.ptr))),
+ @as(u32, @truncate(slice.len)),
}
else
null;
@@ -427,7 +427,7 @@ pub fn BSSStringList(comptime _count: usize, comptime _item_length: usize) type
var result = IndexType{ .index = std.math.maxInt(u31), .is_overflow = instance.slice_buf_used > max_index };
if (result.is_overflow) {
- result.index = @intCast(u31, self.overflow_list.len());
+ result.index = @as(u31, @intCast(self.overflow_list.len()));
} else {
result.index = instance.slice_buf_used;
instance.slice_buf_used += 1;
@@ -693,7 +693,7 @@ pub fn BSSMap(comptime ValueType: type, comptime count: anytype, comptime store_
if (!result.index.is_overflow) {
instance.key_list_slices[result.index.index] = slice;
} else {
- if (@intCast(u31, instance.key_list_overflow.items.len) > result.index.index) {
+ if (@as(u31, @intCast(instance.key_list_overflow.items.len)) > result.index.index) {
const existing_slice = instance.key_list_overflow.items[result.index.index];
if (!isKeyStaticallyAllocated(existing_slice)) {
self.map.allocator.free(existing_slice);
diff --git a/src/analytics/analytics_schema.zig b/src/analytics/analytics_schema.zig
index 5332a4837..fbcc26fb0 100644
--- a/src/analytics/analytics_schema.zig
+++ b/src/analytics/analytics_schema.zig
@@ -93,7 +93,7 @@ pub const Reader = struct {
},
.Enum => |type_info| {
const enum_values = try this.read(length * @sizeOf(type_info.tag_type));
- return @ptrCast([*]T, enum_values.ptr)[0..length];
+ return @as([*]T, @ptrCast(enum_values.ptr))[0..length];
},
else => {},
}
@@ -156,7 +156,7 @@ pub const Reader = struct {
.Packed => {
const sizeof = @sizeOf(T);
var slice = try this.read(sizeof);
- return @ptrCast(*align(1) T, slice[0..sizeof]).*;
+ return @as(*align(1) T, @ptrCast(slice[0..sizeof])).*;
},
else => {},
}
@@ -264,7 +264,7 @@ pub fn Writer(comptime WritableStream: type) type {
}
pub fn writeArray(this: *Self, comptime T: type, slice: anytype) !void {
- try this.writeInt(@truncate(u32, slice.len));
+ try this.writeInt(@as(u32, @truncate(slice.len)));
switch (T) {
u8 => {
diff --git a/src/analytics/analytics_thread.zig b/src/analytics/analytics_thread.zig
index 998f5cfc2..62e5d8760 100644
--- a/src/analytics/analytics_thread.zig
+++ b/src/analytics/analytics_thread.zig
@@ -95,7 +95,7 @@ pub const Features = struct {
pub const Serializer = struct {
inline fn shiftIndex(index: u32) !u32 {
- return @intCast(u32, @as(Bitset.MaskInt, 1) << @intCast(Bitset.ShiftInt, index));
+ return @as(u32, @intCast(@as(Bitset.MaskInt, 1) << @as(Bitset.ShiftInt, @intCast(index))));
}
fn writeField(comptime WriterType: type, writer: WriterType, field_name: string, index: u32) !void {
@@ -200,7 +200,7 @@ pub const Event = struct {
pub fn init(comptime name: EventName) Event {
const millis = std.time.milliTimestamp();
- const timestamp = if (millis < 0) 0 else @intCast(u64, millis);
+ const timestamp = if (millis < 0) 0 else @as(u64, @intCast(millis));
return Event{ .timestamp = timestamp, .data = @unionInit(Data, @tagName(name), {}) };
}
@@ -239,7 +239,7 @@ pub const GenerateHeader = struct {
return Analytics.EventListHeader{
.machine_id = GenerateMachineID.forMac() catch Analytics.Uint64{},
.platform = GeneratePlatform.forMac(),
- .build_id = comptime @truncate(u32, Global.build_id),
+ .build_id = comptime @as(u32, @truncate(Global.build_id)),
.session_id = random.random().int(u32),
.project_id = project_id,
};
@@ -249,7 +249,7 @@ pub const GenerateHeader = struct {
return Analytics.EventListHeader{
.machine_id = GenerateMachineID.forLinux() catch Analytics.Uint64{},
.platform = GeneratePlatform.forLinux(),
- .build_id = comptime @truncate(u32, Global.build_id),
+ .build_id = comptime @as(u32, @truncate(Global.build_id)),
.session_id = random.random().int(u32),
.project_id = project_id,
};
@@ -380,10 +380,10 @@ fn spawn() !void {}
const headers_buf: string = "Content-Type binary/peechy";
const header_entry = Headers.Kv{
- .name = .{ .offset = 0, .length = @intCast(u32, "Content-Type".len) },
+ .name = .{ .offset = 0, .length = @as(u32, @intCast("Content-Type".len)) },
.value = .{
.offset = std.mem.indexOf(u8, headers_buf, "binary/peechy").?,
- .length = @intCast(u32, "binary/peechy".len),
+ .length = @as(u32, @intCast("binary/peechy".len)),
},
};
@@ -435,7 +435,7 @@ pub const EventList = struct {
in_buffer: MutableString,
pub fn init() EventList {
- random = std.rand.DefaultPrng.init(@intCast(u64, std.time.milliTimestamp()));
+ random = std.rand.DefaultPrng.init(@as(u64, @intCast(std.time.milliTimestamp())));
return EventList{
.header = GenerateHeader.generate(),
.events = std.ArrayList(Event).init(default_allocator),
@@ -472,12 +472,12 @@ pub const EventList = struct {
0;
const now = std.time.nanoTimestamp();
- this.header.session_length = @truncate(u32, @intCast(u64, (now - start_time)) / std.time.ns_per_ms);
+ this.header.session_length = @as(u32, @truncate(@as(u64, @intCast((now - start_time))) / std.time.ns_per_ms));
this.header.feature_usage = Features.toInt();
var list = Analytics.EventList{
.header = this.header,
- .event_count = @intCast(u32, this.events.items.len),
+ .event_count = @as(u32, @intCast(this.events.items.len)),
};
try list.encode(&analytics_writer);
@@ -540,8 +540,8 @@ pub const EventList = struct {
}
@atomicStore(bool, &is_stuck, retry_remaining == 0, .Release);
- stuck_count += @intCast(u8, @intFromBool(retry_remaining == 0));
- stuck_count *= @intCast(u8, @intFromBool(retry_remaining == 0));
+ stuck_count += @as(u8, @intCast(@intFromBool(retry_remaining == 0)));
+ stuck_count *= @as(u8, @intCast(@intFromBool(retry_remaining == 0)));
disabled = disabled or stuck_count > 4;
this.in_buffer.reset();
diff --git a/src/api/schema.zig b/src/api/schema.zig
index ec8efa9f6..94f2d22df 100644
--- a/src/api/schema.zig
+++ b/src/api/schema.zig
@@ -93,7 +93,7 @@ pub const Reader = struct {
},
.Enum => |type_info| {
const enum_values = try this.read(length * @sizeOf(type_info.tag_type));
- return @ptrCast([*]T, enum_values.ptr)[0..length];
+ return @as([*]T, @ptrCast(enum_values.ptr))[0..length];
},
else => {},
}
@@ -156,7 +156,7 @@ pub const Reader = struct {
.Packed => {
const sizeof = @sizeOf(T);
var slice = try this.read(sizeof);
- return @ptrCast(*align(1) T, slice[0..sizeof]).*;
+ return @as(*align(1) T, @ptrCast(slice[0..sizeof])).*;
},
else => {},
}
@@ -264,7 +264,7 @@ pub fn Writer(comptime WritableStream: type) type {
}
pub fn writeArray(this: *Self, comptime T: type, slice: anytype) !void {
- try this.writeInt(@truncate(u32, slice.len));
+ try this.writeInt(@as(u32, @truncate(slice.len)));
switch (T) {
u8 => {
diff --git a/src/ast/base.zig b/src/ast/base.zig
index ae544f8be..ab96dab3d 100644
--- a/src/ast/base.zig
+++ b/src/ast/base.zig
@@ -124,7 +124,7 @@ pub inline fn getBits(comptime TargetType: type, target: anytype, comptime start
}
}
- return @truncate(TargetType, target >> start_bit);
+ return @as(TargetType, @truncate(target >> start_bit));
}
/// In some parts of Bun, we have many different IDs pointing to different things.
@@ -149,11 +149,11 @@ pub const Index = packed struct(u32) {
pub const Int = u32;
pub inline fn source(num: anytype) Index {
- return .{ .value = @truncate(Int, num) };
+ return .{ .value = @as(Int, @truncate(num)) };
}
pub inline fn part(num: anytype) Index {
- return .{ .value = @truncate(Int, num) };
+ return .{ .value = @as(Int, @truncate(num)) };
}
pub fn init(num: anytype) Index {
@@ -164,12 +164,12 @@ pub const Index = packed struct(u32) {
if (comptime bun.Environment.allow_assert) {
return .{
- .value = @intCast(Int, num),
+ .value = @as(Int, @intCast(num)),
};
}
return .{
- .value = @intCast(Int, num),
+ .value = @as(Int, @intCast(num)),
};
}
@@ -208,7 +208,7 @@ pub const Ref = packed struct(u64) {
pub const Int = std.meta.Int(.unsigned, (64 - 2) / 2);
pub fn toInt(value: anytype) Int {
- return @intCast(Int, value);
+ return @as(Int, @intCast(value));
}
pub fn isSourceIndexNull(this: anytype) bool {
@@ -255,7 +255,7 @@ pub const Ref = packed struct(u64) {
.inner_index = inner_index,
// if we overflow, we want a panic
- .source_index = @intCast(Int, source_index),
+ .source_index = @as(Int, @intCast(source_index)),
.tag = if (is_source_contents_slice) .source_contents_slice else .allocated_name,
};
@@ -267,15 +267,15 @@ pub const Ref = packed struct(u64) {
}
pub fn hash(key: Ref) u32 {
- return @truncate(u32, key.hash64());
+ return @as(u32, @truncate(key.hash64()));
}
pub inline fn asU64(key: Ref) u64 {
- return @bitCast(u64, key);
+ return @as(u64, @bitCast(key));
}
pub inline fn hash64(key: Ref) u64 {
- return bun.hash(&@bitCast([8]u8, key.asU64()));
+ return bun.hash(&@as([8]u8, @bitCast(key.asU64())));
}
pub fn eql(ref: Ref, b: Ref) bool {
diff --git a/src/baby_list.zig b/src/baby_list.zig
index 01ec819ec..5881f2c50 100644
--- a/src/baby_list.zig
+++ b/src/baby_list.zig
@@ -16,8 +16,8 @@ pub fn BabyList(comptime Type: type) type {
pub fn set(this: *@This(), slice_: []Type) void {
this.ptr = slice_.ptr;
- this.len = @truncate(u32, slice_.len);
- this.cap = @truncate(u32, slice_.len);
+ this.len = @as(u32, @truncate(slice_.len));
+ this.cap = @as(u32, @truncate(slice_.len));
}
pub fn available(this: *@This()) []Type {
@@ -38,8 +38,8 @@ pub fn BabyList(comptime Type: type) type {
return ListType{
// Remove the const qualifier from the items
.ptr = @constCast(items.ptr),
- .len = @truncate(u32, items.len),
- .cap = @truncate(u32, items.len),
+ .len = @as(u32, @truncate(items.len)),
+ .cap = @as(u32, @truncate(items.len)),
};
}
@@ -60,8 +60,8 @@ pub fn BabyList(comptime Type: type) type {
var copy = try list_.clone();
return ListType{
.ptr = copy.items.ptr,
- .len = @truncate(u32, copy.items.len),
- .cap = @truncate(u32, copy.capacity),
+ .len = @as(u32, @truncate(copy.items.len)),
+ .cap = @as(u32, @truncate(copy.capacity)),
};
}
@@ -74,7 +74,7 @@ pub fn BabyList(comptime Type: type) type {
pub fn writableSlice(this: *@This(), allocator: std.mem.Allocator, cap: usize) ![]Type {
var list_ = this.listManaged(allocator);
try list_.ensureUnusedCapacity(cap);
- var writable = list_.items.ptr[this.len .. this.len + @truncate(u32, cap)];
+ var writable = list_.items.ptr[this.len .. this.len + @as(u32, @truncate(cap))];
list_.items.len += cap;
this.update(list_);
return writable;
@@ -82,9 +82,9 @@ pub fn BabyList(comptime Type: type) type {
pub fn appendSliceAssumeCapacity(this: *@This(), values: []const Type) void {
var tail = this.ptr[this.len .. this.len + values.len];
- std.debug.assert(this.cap >= this.len + @truncate(u32, values.len));
+ std.debug.assert(this.cap >= this.len + @as(u32, @truncate(values.len)));
bun.copy(Type, tail, values);
- this.len += @truncate(u32, values.len);
+ this.len += @as(u32, @truncate(values.len));
std.debug.assert(this.cap >= this.len);
}
@@ -96,7 +96,7 @@ pub fn BabyList(comptime Type: type) type {
return ListType{
.ptr = buffer.ptr,
.len = 0,
- .cap = @truncate(u32, buffer.len),
+ .cap = @as(u32, @truncate(buffer.len)),
};
}
@@ -104,8 +104,8 @@ pub fn BabyList(comptime Type: type) type {
@setRuntimeSafety(false);
return ListType{
.ptr = @constCast(items.ptr),
- .len = @truncate(u32, items.len),
- .cap = @truncate(u32, items.len),
+ .len = @as(u32, @truncate(items.len)),
+ .cap = @as(u32, @truncate(items.len)),
};
}
@@ -124,8 +124,8 @@ pub fn BabyList(comptime Type: type) type {
return ListType{
.ptr = list_.items.ptr,
- .len = @truncate(u32, list_.items.len),
- .cap = @truncate(u32, list_.capacity),
+ .len = @as(u32, @truncate(list_.items.len)),
+ .cap = @as(u32, @truncate(list_.capacity)),
};
}
@@ -135,16 +135,16 @@ pub fn BabyList(comptime Type: type) type {
return ListType{
.ptr = allocated.ptr,
- .len = @truncate(u32, allocated.len),
- .cap = @truncate(u32, allocated.len),
+ .len = @as(u32, @truncate(allocated.len)),
+ .cap = @as(u32, @truncate(allocated.len)),
};
}
pub fn update(this: *ListType, list_: anytype) void {
this.* = .{
.ptr = list_.items.ptr,
- .len = @truncate(u32, list_.items.len),
- .cap = @truncate(u32, list_.capacity),
+ .len = @as(u32, @truncate(list_.items.len)),
+ .cap = @as(u32, @truncate(list_.capacity)),
};
if (comptime Environment.allow_assert) {
@@ -193,7 +193,7 @@ pub fn BabyList(comptime Type: type) type {
var items = try allocator.alloc(Type, 1);
items[0] = value;
return ListType{
- .ptr = @ptrCast([*]Type, items.ptr),
+ .ptr = @as([*]Type, @ptrCast(items.ptr)),
.len = 1,
.cap = 1,
};
diff --git a/src/base64/base64.zig b/src/base64/base64.zig
index 8768b9c7b..e56e15877 100644
--- a/src/base64/base64.zig
+++ b/src/base64/base64.zig
@@ -28,7 +28,7 @@ const mixed_decoder = brk: {
});
for (zig_base64.url_safe_alphabet_chars[62..], 62..) |c, i| {
- decoder.decoder.char_to_index[c] = @intCast(u8, i);
+ decoder.decoder.char_to_index[c] = @as(u8, @intCast(i));
}
break :brk decoder;
@@ -189,12 +189,12 @@ const zig_base64 = struct {
acc_len += 8;
while (acc_len >= 6) {
acc_len -= 6;
- dest[out_idx] = encoder.alphabet_chars[@truncate(u6, (acc >> acc_len))];
+ dest[out_idx] = encoder.alphabet_chars[@as(u6, @truncate((acc >> acc_len)))];
out_idx += 1;
}
}
if (acc_len > 0) {
- dest[out_idx] = encoder.alphabet_chars[@truncate(u6, (acc << 6 - acc_len))];
+ dest[out_idx] = encoder.alphabet_chars[@as(u6, @truncate((acc << 6 - acc_len)))];
out_idx += 1;
}
if (encoder.pad_char) |pad_char| {
@@ -225,7 +225,7 @@ const zig_base64 = struct {
assert(!char_in_alphabet[c]);
assert(pad_char == null or c != pad_char.?);
- result.char_to_index[c] = @intCast(u8, i);
+ result.char_to_index[c] = @as(u8, @intCast(i));
char_in_alphabet[c] = true;
}
return result;
@@ -277,7 +277,7 @@ const zig_base64 = struct {
acc_len += 6;
if (acc_len >= 8) {
acc_len -= 8;
- dest[dest_idx] = @truncate(u8, acc >> acc_len);
+ dest[dest_idx] = @as(u8, @truncate(acc >> acc_len));
dest_idx += 1;
}
}
@@ -362,7 +362,7 @@ const zig_base64 = struct {
if (acc_len >= 8) {
if (dest_idx == dest.len) return error.NoSpaceLeft;
acc_len -= 8;
- dest[dest_idx] = @truncate(u8, acc >> acc_len);
+ dest[dest_idx] = @as(u8, @truncate(acc >> acc_len));
dest_idx += 1;
}
}
diff --git a/src/bit_set.zig b/src/bit_set.zig
index d40794473..36f683ea4 100644
--- a/src/bit_set.zig
+++ b/src/bit_set.zig
@@ -121,19 +121,19 @@ pub fn IntegerBitSet(comptime size: u16) type {
if (range.start == range.end) return;
if (MaskInt == u0) return;
- const start_bit = @intCast(ShiftInt, range.start);
+ const start_bit = @as(ShiftInt, @intCast(range.start));
var mask = std.math.boolMask(MaskInt, true) << start_bit;
if (range.end != bit_length) {
- const end_bit = @intCast(ShiftInt, range.end);
- mask &= std.math.boolMask(MaskInt, true) >> @truncate(ShiftInt, @as(usize, @bitSizeOf(MaskInt)) - @as(usize, end_bit));
+ const end_bit = @as(ShiftInt, @intCast(range.end));
+ mask &= std.math.boolMask(MaskInt, true) >> @as(ShiftInt, @truncate(@as(usize, @bitSizeOf(MaskInt)) - @as(usize, end_bit)));
}
self.mask &= ~mask;
mask = std.math.boolMask(MaskInt, value) << start_bit;
if (range.end != bit_length) {
- const end_bit = @intCast(ShiftInt, range.end);
- mask &= std.math.boolMask(MaskInt, value) >> @truncate(ShiftInt, @as(usize, @bitSizeOf(MaskInt)) - @as(usize, end_bit));
+ const end_bit = @as(ShiftInt, @intCast(range.end));
+ mask &= std.math.boolMask(MaskInt, value) >> @as(ShiftInt, @truncate(@as(usize, @bitSizeOf(MaskInt)) - @as(usize, end_bit)));
}
self.mask |= mask;
}
@@ -294,7 +294,7 @@ pub fn IntegerBitSet(comptime size: u16) type {
.reverse => {
const leading_zeroes = @clz(self.bits_remain);
const top_bit = (@bitSizeOf(MaskInt) - 1) - leading_zeroes;
- self.bits_remain &= (@as(MaskInt, 1) << @intCast(ShiftInt, top_bit)) - 1;
+ self.bits_remain &= (@as(MaskInt, 1) << @as(ShiftInt, @intCast(top_bit))) - 1;
return top_bit;
},
}
@@ -304,11 +304,11 @@ pub fn IntegerBitSet(comptime size: u16) type {
fn maskBit(index: usize) MaskInt {
if (MaskInt == u0) return 0;
- return @as(MaskInt, 1) << @intCast(ShiftInt, index);
+ return @as(MaskInt, 1) << @as(ShiftInt, @intCast(index));
}
fn boolMaskBit(index: usize, value: bool) MaskInt {
if (MaskInt == u0) return 0;
- return @as(MaskInt, @intFromBool(value)) << @intCast(ShiftInt, index);
+ return @as(MaskInt, @intFromBool(value)) << @as(ShiftInt, @intCast(index));
}
};
}
@@ -446,10 +446,10 @@ pub fn ArrayBitSet(comptime MaskIntType: type, comptime size: usize) type {
if (num_masks == 0) return;
const start_mask_index = maskIndex(range.start);
- const start_bit = @truncate(ShiftInt, range.start);
+ const start_bit = @as(ShiftInt, @truncate(range.start));
const end_mask_index = maskIndex(range.end);
- const end_bit = @truncate(ShiftInt, range.end);
+ const end_bit = @as(ShiftInt, @truncate(range.end));
if (start_mask_index == end_mask_index) {
var mask1 = std.math.boolMask(MaskInt, true) << start_bit;
@@ -647,13 +647,13 @@ pub fn ArrayBitSet(comptime MaskIntType: type, comptime size: usize) type {
}
inline fn maskBit(index: usize) MaskInt {
- return @as(MaskInt, 1) << @truncate(ShiftInt, index);
+ return @as(MaskInt, 1) << @as(ShiftInt, @truncate(index));
}
inline fn maskIndex(index: usize) usize {
return index >> @bitSizeOf(ShiftInt);
}
inline fn boolMaskBit(index: usize, value: bool) MaskInt {
- return @as(MaskInt, @intFromBool(value)) << @intCast(ShiftInt, index);
+ return @as(MaskInt, @intFromBool(value)) << @as(ShiftInt, @intCast(index));
}
};
}
@@ -744,7 +744,7 @@ pub const DynamicBitSetUnmanaged = struct {
// set the padding bits in the old last item to 1
if (fill and old_masks > 0) {
const old_padding_bits = old_masks * @bitSizeOf(MaskInt) - old_len;
- const old_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, old_padding_bits);
+ const old_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(old_padding_bits));
self.masks[old_masks - 1] |= ~old_mask;
}
@@ -758,7 +758,7 @@ pub const DynamicBitSetUnmanaged = struct {
// Zero out the padding bits
if (new_len > 0) {
const padding_bits = new_masks * @bitSizeOf(MaskInt) - new_len;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
self.masks[new_masks - 1] &= last_item_mask;
}
@@ -842,10 +842,10 @@ pub const DynamicBitSetUnmanaged = struct {
if (range.start == range.end) return;
const start_mask_index = maskIndex(range.start);
- const start_bit = @truncate(ShiftInt, range.start);
+ const start_bit = @as(ShiftInt, @truncate(range.start));
const end_mask_index = maskIndex(range.end);
- const end_bit = @truncate(ShiftInt, range.end);
+ const end_bit = @as(ShiftInt, @truncate(range.end));
if (start_mask_index == end_mask_index) {
var mask1 = std.math.boolMask(MaskInt, true) << start_bit;
@@ -903,7 +903,7 @@ pub const DynamicBitSetUnmanaged = struct {
}
const padding_bits = num_masks * @bitSizeOf(MaskInt) - bit_length;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
self.masks[num_masks - 1] &= last_item_mask;
}
@@ -916,7 +916,7 @@ pub const DynamicBitSetUnmanaged = struct {
}
const padding_bits = num_masks * @bitSizeOf(MaskInt) - bit_length;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
self.masks[num_masks - 1] &= last_item_mask;
}
@@ -932,7 +932,7 @@ pub const DynamicBitSetUnmanaged = struct {
}
const padding_bits = num_masks * @bitSizeOf(MaskInt) - bit_length;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
self.masks[num_masks - 1] &= last_item_mask;
}
@@ -947,7 +947,7 @@ pub const DynamicBitSetUnmanaged = struct {
}
const padding_bits = num_masks * @bitSizeOf(MaskInt) - bit_length;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
self.masks[num_masks - 1] &= last_item_mask;
}
@@ -1073,7 +1073,7 @@ pub const DynamicBitSetUnmanaged = struct {
pub fn iterator(self: *const Self, comptime options: IteratorOptions) Iterator(options) {
const num_masks = numMasks(self.bit_length);
const padding_bits = num_masks * @bitSizeOf(MaskInt) - self.bit_length;
- const last_item_mask = (~@as(MaskInt, 0)) >> @intCast(ShiftInt, padding_bits);
+ const last_item_mask = (~@as(MaskInt, 0)) >> @as(ShiftInt, @intCast(padding_bits));
return Iterator(options).init(self.masks[0..num_masks], last_item_mask);
}
@@ -1082,13 +1082,13 @@ pub const DynamicBitSetUnmanaged = struct {
}
fn maskBit(index: usize) MaskInt {
- return @as(MaskInt, 1) << @truncate(ShiftInt, index);
+ return @as(MaskInt, 1) << @as(ShiftInt, @truncate(index));
}
fn maskIndex(index: usize) usize {
return index >> @bitSizeOf(ShiftInt);
}
fn boolMaskBit(index: usize, value: bool) MaskInt {
- return @as(MaskInt, @intFromBool(value)) << @intCast(ShiftInt, index);
+ return @as(MaskInt, @intFromBool(value)) << @as(ShiftInt, @intCast(index));
}
fn numMasks(bit_length: usize) usize {
return (bit_length + (@bitSizeOf(MaskInt) - 1)) / @bitSizeOf(MaskInt);
@@ -1436,7 +1436,7 @@ pub fn BitSetIterator(comptime MaskInt: type, comptime options: IteratorOptions)
.reverse => {
const leading_zeroes = @clz(self.bits_remain);
const top_bit = (@bitSizeOf(MaskInt) - 1) - leading_zeroes;
- const no_top_bit_mask = (@as(MaskInt, 1) << @intCast(ShiftInt, top_bit)) - 1;
+ const no_top_bit_mask = (@as(MaskInt, 1) << @as(ShiftInt, @intCast(top_bit))) - 1;
self.bits_remain &= no_top_bit_mask;
return top_bit + self.bit_offset;
},
diff --git a/src/blob.zig b/src/blob.zig
index 96a6c7783..0d187bfdd 100644
--- a/src/blob.zig
+++ b/src/blob.zig
@@ -19,7 +19,7 @@ len: usize,
pub const Map = struct {
const MapContext = struct {
pub fn hash(_: @This(), s: u64) u32 {
- return @truncate(u32, s);
+ return @as(u32, @truncate(s));
}
pub fn eql(_: @This(), a: u64, b: u64, _: usize) bool {
return a == b;
diff --git a/src/boringssl.zig b/src/boringssl.zig
index cdcd24577..a12c356d9 100644
--- a/src/boringssl.zig
+++ b/src/boringssl.zig
@@ -66,7 +66,7 @@ export fn OPENSSL_memory_alloc(size: usize) ?*anyopaque {
// BoringSSL always expects memory to be zero'd
export fn OPENSSL_memory_free(ptr: *anyopaque) void {
const len = bun.Mimalloc.mi_usable_size(ptr);
- @memset(@ptrCast([*]u8, ptr)[0..len], 0);
+ @memset(@as([*]u8, @ptrCast(ptr))[0..len], 0);
bun.Mimalloc.mi_free(ptr);
}
diff --git a/src/bun.js/api/JSBundler.zig b/src/bun.js/api/JSBundler.zig
index 44ceaee9d..6a821f447 100644
--- a/src/bun.js/api/JSBundler.zig
+++ b/src/bun.js/api/JSBundler.zig
@@ -533,7 +533,7 @@ pub const JSBundler = struct {
arguments_: []const js.JSValueRef,
_: js.ExceptionRef,
) js.JSValueRef {
- return build(globalThis, @ptrCast([]const JSC.JSValue, arguments_)).asObjectRef();
+ return build(globalThis, @as([]const JSC.JSValue, @ptrCast(arguments_))).asObjectRef();
}
pub const Resolve = struct {
@@ -844,7 +844,7 @@ pub const JSBundler = struct {
this.value = .{
.success = .{
- .loader = @enumFromInt(options.Loader, @intCast(u8, loader_as_int.to(i32))),
+ .loader = @as(options.Loader, @enumFromInt(@as(u8, @intCast(loader_as_int.to(i32))))),
.source_code = source_code,
},
};
diff --git a/src/bun.js/api/JSTranspiler.zig b/src/bun.js/api/JSTranspiler.zig
index 95b0eeaae..5c5bee171 100644
--- a/src/bun.js/api/JSTranspiler.zig
+++ b/src/bun.js/api/JSTranspiler.zig
@@ -85,7 +85,7 @@ const TranspilerOptions = struct {
// This is going to be hard to not leak
pub const TransformTask = struct {
input_code: ZigString = ZigString.init(""),
- protected_input_value: JSC.JSValue = @enumFromInt(JSC.JSValue, 0),
+ protected_input_value: JSC.JSValue = @as(JSC.JSValue, @enumFromInt(0)),
output_code: ZigString = ZigString.init(""),
bundler: Bundler.Bundler = undefined,
log: logger.Log,
@@ -221,7 +221,7 @@ pub const TransformTask = struct {
finish(this.output_code, this.global, promise);
if (@intFromEnum(this.protected_input_value) != 0) {
- this.protected_input_value = @enumFromInt(JSC.JSValue, 0);
+ this.protected_input_value = @as(JSC.JSValue, @enumFromInt(0));
}
this.deinit();
}
@@ -612,7 +612,7 @@ fn transformOptionsFromJSC(globalObject: JSC.C.JSContextRef, temp_allocator: std
var length_iter = iter;
while (length_iter.next()) |value| {
if (value.isString()) {
- const length = @truncate(u32, value.getLength(globalThis));
+ const length = @as(u32, @truncate(value.getLength(globalThis)));
string_count += @as(u32, @intFromBool(length > 0));
total_name_buf_len += length;
}
@@ -879,7 +879,7 @@ fn getParseResult(this: *Transpiler, allocator: std.mem.Allocator, code: []const
for (res.ast.import_records.slice()) |*import| {
if (import.kind.isCommonJS()) {
import.do_commonjs_transform_in_printer = true;
- import.module_id = @truncate(u32, bun.hash(import.path.pretty));
+ import.module_id = @as(u32, @truncate(bun.hash(import.path.pretty)));
}
}
}
@@ -1218,7 +1218,7 @@ fn namedImportsToJS(
array.ensureStillAlive();
const path = JSC.ZigString.init(record.path.text).toValueGC(global);
const kind = JSC.ZigString.init(record.kind.label()).toValueGC(global);
- array.putIndex(global, @truncate(u32, i), JSC.JSValue.createObject2(global, path_label, kind_label, path, kind));
+ array.putIndex(global, @as(u32, @truncate(i)), JSC.JSValue.createObject2(global, path_label, kind_label, path, kind));
}
return array;
diff --git a/src/bun.js/api/bun.zig b/src/bun.js/api/bun.zig
index 97ad056e8..d63765b16 100644
--- a/src/bun.js/api/bun.zig
+++ b/src/bun.js/api/bun.zig
@@ -105,12 +105,12 @@ pub fn onImportCSS(
var writer = css_imports_buf.writer();
const offset = css_imports_buf.items.len;
css_imports_list[css_imports_list_tail] = .{
- .offset = @truncate(u32, offset),
+ .offset = @as(u32, @truncate(offset)),
.length = 0,
};
getPublicPath(resolve_result.path_pair.primary.text, origin, @TypeOf(writer), writer);
const length = css_imports_buf.items.len - offset;
- css_imports_list[css_imports_list_tail].length = @truncate(u32, length);
+ css_imports_list[css_imports_list_tail].length = @as(u32, @truncate(length));
css_imports_list_tail += 1;
}
@@ -239,7 +239,7 @@ pub fn inspect(
ZigConsoleClient.format(
.Debug,
ctx.ptr(),
- @ptrCast([*]const JSValue, arguments.ptr),
+ @as([*]const JSValue, @ptrCast(arguments.ptr)),
arguments.len,
Writer,
Writer,
@@ -303,7 +303,7 @@ pub fn registerMacro(
return js.JSValueMakeUndefined(ctx);
}
// TODO: make this faster
- const id = @truncate(i32, @intFromFloat(i64, js.JSValueToNumber(ctx, arguments[0], exception)));
+ const id = @as(i32, @truncate(@as(i64, @intFromFloat(js.JSValueToNumber(ctx, arguments[0], exception)))));
if (id == -1 or id == 0) {
JSError(getAllocator(ctx), "Internal error registering macros: invalid id", .{}, ctx, exception);
return js.JSValueMakeUndefined(ctx);
@@ -882,7 +882,7 @@ pub fn sleepSync(
return ret;
}
- std.time.sleep(@intCast(u64, milliseconds) * std.time.ns_per_ms);
+ std.time.sleep(@as(u64, @intCast(milliseconds)) * std.time.ns_per_ms);
return ret;
}
@@ -1398,21 +1398,21 @@ pub fn indexOfLine(
var offset: usize = 0;
if (arguments.len > 1) {
- offset = @intCast(
+ offset = @as(
usize,
- @max(
+ @intCast(@max(
arguments[1].to(u32),
0,
- ),
+ )),
);
}
const bytes = buffer.byteSlice();
var current_offset = offset;
- const end = @truncate(u32, bytes.len);
+ const end = @as(u32, @truncate(bytes.len));
while (current_offset < end) {
- if (strings.indexOfNewlineOrNonASCII(bytes, @truncate(u32, current_offset))) |i| {
+ if (strings.indexOfNewlineOrNonASCII(bytes, @as(u32, @truncate(current_offset)))) |i| {
const byte = bytes[i];
if (byte > 0x7F) {
current_offset += @max(strings.wtf8ByteSequenceLength(byte), 1);
@@ -1537,7 +1537,7 @@ pub const Crypto = struct {
}
pub fn hash(this: *EVP, engine: *BoringSSL.ENGINE, input: []const u8, output: []u8) ?u32 {
- var outsize: c_uint = @min(@truncate(u16, output.len), this.size());
+ var outsize: c_uint = @min(@as(u16, @truncate(output.len)), this.size());
if (BoringSSL.EVP_Digest(input.ptr, input.len, output.ptr, &outsize, this.md, engine) != 1) {
return null;
}
@@ -1546,7 +1546,7 @@ pub const Crypto = struct {
}
pub fn final(this: *EVP, engine: *BoringSSL.ENGINE, output: []u8) []const u8 {
- var outsize: u32 = @min(@truncate(u16, output.len), this.size());
+ var outsize: u32 = @min(@as(u16, @truncate(output.len)), this.size());
if (BoringSSL.EVP_DigestFinal_ex(
&this.ctx,
output.ptr,
@@ -1565,7 +1565,7 @@ pub const Crypto = struct {
}
pub fn size(this: *EVP) u16 {
- return @truncate(u16, BoringSSL.EVP_MD_CTX_size(&this.ctx));
+ return @as(u16, @truncate(BoringSSL.EVP_MD_CTX_size(&this.ctx)));
}
pub fn copy(this: *const EVP, engine: *BoringSSL.ENGINE) error{OutOfMemory}!EVP {
@@ -1683,7 +1683,7 @@ pub const Crypto = struct {
return null;
}
- algorithm.bcrypt = @intCast(u6, rounds);
+ algorithm.bcrypt = @as(u6, @intCast(rounds));
}
return algorithm;
@@ -1704,7 +1704,7 @@ pub const Crypto = struct {
return null;
}
- argon.time_cost = @intCast(u32, time_cost);
+ argon.time_cost = @as(u32, @intCast(time_cost));
}
if (value.getTruthy(globalObject, "memoryCost")) |memory_value| {
@@ -1720,7 +1720,7 @@ pub const Crypto = struct {
return null;
}
- argon.memory_cost = @intCast(u32, memory_cost);
+ argon.memory_cost = @as(u32, @intCast(memory_cost));
}
return @unionInit(Algorithm.Value, @tagName(tag), argon);
@@ -2444,7 +2444,7 @@ pub const Crypto = struct {
this: *CryptoHasher,
_: *JSC.JSGlobalObject,
) callconv(.C) JSC.JSValue {
- return JSC.JSValue.jsNumber(@truncate(u16, this.evp.size()));
+ return JSC.JSValue.jsNumber(@as(u16, @truncate(this.evp.size())));
}
pub fn getAlgorithm(
@@ -3100,12 +3100,12 @@ pub fn allocUnsafe(
) js.JSValueRef {
var args = JSC.Node.ArgumentsSlice.from(ctx.bunVM(), arguments);
- const length = @intCast(
+ const length = @as(
usize,
- @min(
+ @intCast(@min(
@max(1, (args.nextEat() orelse JSC.JSValue.jsNumber(@as(i32, 1))).toInt32()),
std.math.maxInt(i32),
- ),
+ )),
);
var bytes = bun.default_allocator.alloc(u8, length) catch {
JSC.JSError(bun.default_allocator, "OOM! Out of memory", .{}, ctx, exception);
@@ -3152,11 +3152,11 @@ pub fn mmapFile(
flags |= @as(u32, if (shared.toBoolean()) std.os.MAP.SHARED else std.os.MAP.PRIVATE);
if (opts.get(ctx.ptr(), "size")) |value| {
- map_size = @intCast(usize, value.toInt64());
+ map_size = @as(usize, @intCast(value.toInt64()));
}
if (opts.get(ctx.ptr(), "offset")) |value| {
- offset = @intCast(usize, value.toInt64());
+ offset = @as(usize, @intCast(value.toInt64()));
offset = std.mem.alignBackwardAnyAlign(offset, std.mem.page_size);
}
} else {
@@ -3172,11 +3172,11 @@ pub fn mmapFile(
},
};
- return JSC.C.JSObjectMakeTypedArrayWithBytesNoCopy(ctx, JSC.C.JSTypedArrayType.kJSTypedArrayTypeUint8Array, @ptrCast(?*anyopaque, map.ptr), map.len, struct {
+ return JSC.C.JSObjectMakeTypedArrayWithBytesNoCopy(ctx, JSC.C.JSTypedArrayType.kJSTypedArrayTypeUint8Array, @as(?*anyopaque, @ptrCast(map.ptr)), map.len, struct {
pub fn x(ptr: ?*anyopaque, size: ?*anyopaque) callconv(.C) void {
- _ = JSC.Node.Syscall.munmap(@ptrCast([*]align(std.mem.page_size) u8, @alignCast(std.mem.page_size, ptr))[0..@intFromPtr(size)]);
+ _ = JSC.Node.Syscall.munmap(@as([*]align(std.mem.page_size) u8, @ptrCast(@alignCast(ptr)))[0..@intFromPtr(size)]);
}
- }.x, @ptrFromInt(?*anyopaque, map.len), exception);
+ }.x, @as(?*anyopaque, @ptrFromInt(map.len)), exception);
}
pub fn getTranspilerConstructor(
@@ -3327,17 +3327,17 @@ pub const Hash = struct {
}
}
if (comptime std.meta.trait.isNumber(@TypeOf(function_args[0]))) {
- function_args[0] = @intCast(@TypeOf(function_args[0]), seed);
+ function_args[0] = @as(@TypeOf(function_args[0]), @intCast(seed));
function_args[1] = input;
} else {
- function_args[1] = @intCast(@TypeOf(function_args[1]), seed);
+ function_args[1] = @as(@TypeOf(function_args[1]), @intCast(seed));
function_args[0] = input;
}
const value = @call(.auto, Function, function_args);
if (@TypeOf(value) == u32) {
- return JSC.JSValue.jsNumber(@bitCast(i32, value)).asObjectRef();
+ return JSC.JSValue.jsNumber(@as(i32, @bitCast(value))).asObjectRef();
}
return JSC.JSValue.jsNumber(value).asObjectRef();
}
@@ -3443,7 +3443,7 @@ pub const Unsafe = struct {
switch (array_buffer.typed_array_type) {
.Uint16Array, .Int16Array => {
var zig_str = ZigString.init("");
- zig_str._unsafe_ptr_do_not_use = @ptrCast([*]const u8, @alignCast(@alignOf([*]align(1) const u16), array_buffer.ptr));
+ zig_str._unsafe_ptr_do_not_use = @as([*]const u8, @ptrCast(@alignCast(array_buffer.ptr)));
zig_str.len = array_buffer.len;
zig_str.markUTF16();
// the deinitializer for string causes segfaults
@@ -3766,7 +3766,7 @@ pub const Timer = struct {
var arg = args.ptr;
var i: u32 = 0;
while (i < count) : (i += 1) {
- arg[0] = JSC.JSObject.getIndex(arguments, globalThis, @truncate(u32, i));
+ arg[0] = JSC.JSObject.getIndex(arguments, globalThis, @as(u32, @truncate(i)));
arg += 1;
}
}
@@ -4365,8 +4365,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) u8, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) u8, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn @"u16"(
@@ -4374,8 +4374,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) u16, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) u16, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn @"u32"(
@@ -4383,8 +4383,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) u32, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) u32, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn ptr(
@@ -4392,8 +4392,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) u64, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) u64, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn @"i8"(
@@ -4401,8 +4401,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) i8, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) i8, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn @"i16"(
@@ -4410,8 +4410,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) i16, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) i16, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn @"i32"(
@@ -4419,8 +4419,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) i32, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) i32, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn intptr(
@@ -4428,8 +4428,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) i64, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) i64, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
@@ -4438,8 +4438,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) f32, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) f32, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
@@ -4448,8 +4448,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) f64, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) f64, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
@@ -4458,8 +4458,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) i64, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) i64, @ptrFromInt(addr)).*;
return JSValue.fromInt64NoTruncate(global, value);
}
@@ -4468,8 +4468,8 @@ pub const FFI = struct {
_: JSValue,
arguments: []const JSValue,
) JSValue {
- const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @intCast(usize, arguments[1].to(i32)) else @as(usize, 0);
- const value = @ptrFromInt(*align(1) u64, addr).*;
+ const addr = arguments[0].asPtrAddress() + if (arguments.len > 1) @as(usize, @intCast(arguments[1].to(i32))) else @as(usize, 0);
+ const value = @as(*align(1) u64, @ptrFromInt(addr)).*;
return JSValue.fromUInt64NoTruncate(global, value);
}
@@ -4479,8 +4479,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) u8, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) u8, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn u16WithoutTypeChecks(
@@ -4489,8 +4489,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) u16, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) u16, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn u32WithoutTypeChecks(
@@ -4499,8 +4499,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) u32, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) u32, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn ptrWithoutTypeChecks(
@@ -4509,8 +4509,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) u64, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) u64, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn i8WithoutTypeChecks(
@@ -4519,8 +4519,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) i8, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) i8, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn i16WithoutTypeChecks(
@@ -4529,8 +4529,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) i16, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) i16, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn i32WithoutTypeChecks(
@@ -4539,8 +4539,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) i32, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) i32, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
pub fn intptrWithoutTypeChecks(
@@ -4549,8 +4549,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) i64, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) i64, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
@@ -4560,8 +4560,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) f32, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) f32, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
@@ -4571,8 +4571,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) f64, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) f64, @ptrFromInt(addr)).*;
return JSValue.jsNumber(value);
}
@@ -4582,8 +4582,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) u64, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) u64, @ptrFromInt(addr)).*;
return JSValue.fromUInt64NoTruncate(global, value);
}
@@ -4593,8 +4593,8 @@ pub const FFI = struct {
raw_addr: i64,
offset: i32,
) callconv(.C) JSValue {
- const addr = @intCast(usize, raw_addr) + @intCast(usize, offset);
- const value = @ptrFromInt(*align(1) i64, addr).*;
+ const addr = @as(usize, @intCast(raw_addr)) + @as(usize, @intCast(offset));
+ const value = @as(*align(1) i64, @ptrFromInt(addr)).*;
return JSValue.fromInt64NoTruncate(global, value);
}
@@ -4671,9 +4671,9 @@ pub const FFI = struct {
const bytei64 = off.toInt64();
if (bytei64 < 0) {
- addr -|= @intCast(usize, bytei64 * -1);
+ addr -|= @as(usize, @intCast(bytei64 * -1));
} else {
- addr += @intCast(usize, bytei64);
+ addr += @as(usize, @intCast(bytei64));
}
if (addr > @intFromPtr(array_buffer.ptr) + @as(usize, array_buffer.byte_len)) {
@@ -4719,15 +4719,15 @@ pub const FFI = struct {
// return .{ .err = JSC.toInvalidArguments("ptr must be a finite number.", .{}, globalThis) };
// }
- var addr = @bitCast(usize, num);
+ var addr = @as(usize, @bitCast(num));
if (byteOffset) |byte_off| {
if (byte_off.isNumber()) {
const off = byte_off.toInt64();
if (off < 0) {
- addr -|= @intCast(usize, off * -1);
+ addr -|= @as(usize, @intCast(off * -1));
} else {
- addr +|= @intCast(usize, off);
+ addr +|= @as(usize, @intCast(off));
}
if (addr == 0) {
@@ -4767,12 +4767,12 @@ pub const FFI = struct {
return .{ .err = JSC.toInvalidArguments("length exceeds max addressable memory. This usually means a bug in your code.", .{}, globalThis) };
}
- const length = @intCast(usize, length_i);
- return .{ .slice = @ptrFromInt([*]u8, addr)[0..length] };
+ const length = @as(usize, @intCast(length_i));
+ return .{ .slice = @as([*]u8, @ptrFromInt(addr))[0..length] };
}
}
- return .{ .slice = bun.span(@ptrFromInt([*:0]u8, addr)) };
+ return .{ .slice = bun.span(@as([*:0]u8, @ptrFromInt(addr))) };
}
fn getCPtr(value: JSValue) ?usize {
@@ -4781,7 +4781,7 @@ pub const FFI = struct {
const addr = value.asPtrAddress();
if (addr > 0) return addr;
} else if (value.isBigInt()) {
- const addr = @bitCast(u64, value.toUInt64NoTruncate());
+ const addr = @as(u64, @bitCast(value.toUInt64NoTruncate()));
if (addr > 0) {
return addr;
}
@@ -4807,11 +4807,11 @@ pub const FFI = struct {
var ctx: ?*anyopaque = null;
if (finalizationCallback) |callback_value| {
if (getCPtr(callback_value)) |callback_ptr| {
- callback = @ptrFromInt(JSC.C.JSTypedArrayBytesDeallocator, callback_ptr);
+ callback = @as(JSC.C.JSTypedArrayBytesDeallocator, @ptrFromInt(callback_ptr));
if (finalizationCtxOrPtr) |ctx_value| {
if (getCPtr(ctx_value)) |ctx_ptr| {
- ctx = @ptrFromInt(*anyopaque, ctx_ptr);
+ ctx = @as(*anyopaque, @ptrFromInt(ctx_ptr));
} else if (!ctx_value.isUndefinedOrNull()) {
return JSC.toInvalidArguments("Expected user data to be a C pointer (number or BigInt)", .{}, globalThis);
}
@@ -4821,7 +4821,7 @@ pub const FFI = struct {
}
} else if (finalizationCtxOrPtr) |callback_value| {
if (getCPtr(callback_value)) |callback_ptr| {
- callback = @ptrFromInt(JSC.C.JSTypedArrayBytesDeallocator, callback_ptr);
+ callback = @as(JSC.C.JSTypedArrayBytesDeallocator, @ptrFromInt(callback_ptr));
} else if (!callback_value.isEmptyOrUndefinedOrNull()) {
return JSC.toInvalidArguments("Expected callback to be a C pointer (number or BigInt)", .{}, globalThis);
}
@@ -4849,11 +4849,11 @@ pub const FFI = struct {
var ctx: ?*anyopaque = null;
if (finalizationCallback) |callback_value| {
if (getCPtr(callback_value)) |callback_ptr| {
- callback = @ptrFromInt(JSC.C.JSTypedArrayBytesDeallocator, callback_ptr);
+ callback = @as(JSC.C.JSTypedArrayBytesDeallocator, @ptrFromInt(callback_ptr));
if (finalizationCtxOrPtr) |ctx_value| {
if (getCPtr(ctx_value)) |ctx_ptr| {
- ctx = @ptrFromInt(*anyopaque, ctx_ptr);
+ ctx = @as(*anyopaque, @ptrFromInt(ctx_ptr));
} else if (!ctx_value.isEmptyOrUndefinedOrNull()) {
return JSC.toInvalidArguments("Expected user data to be a C pointer (number or BigInt)", .{}, globalThis);
}
@@ -4863,7 +4863,7 @@ pub const FFI = struct {
}
} else if (finalizationCtxOrPtr) |callback_value| {
if (getCPtr(callback_value)) |callback_ptr| {
- callback = @ptrFromInt(JSC.C.JSTypedArrayBytesDeallocator, callback_ptr);
+ callback = @as(JSC.C.JSTypedArrayBytesDeallocator, @ptrFromInt(callback_ptr));
} else if (!callback_value.isEmptyOrUndefinedOrNull()) {
return JSC.toInvalidArguments("Expected callback to be a C pointer (number or BigInt)", .{}, globalThis);
}
diff --git a/src/bun.js/api/bun/dns_resolver.zig b/src/bun.js/api/bun/dns_resolver.zig
index d0d4f5b7b..4d961b54c 100644
--- a/src/bun.js/api/bun/dns_resolver.zig
+++ b/src/bun.js/api/bun/dns_resolver.zig
@@ -176,7 +176,7 @@ pub fn addressToString(
switch (address.any.family) {
std.os.AF.INET => {
var self = address.in;
- const bytes = @ptrCast(*const [4]u8, &self.sa.addr);
+ const bytes = @as(*const [4]u8, @ptrCast(&self.sa.addr));
break :brk std.fmt.allocPrint(allocator, "{}.{}.{}.{}", .{
bytes[0],
bytes[1],
@@ -554,7 +554,7 @@ pub const GetAddrInfo = struct {
.list => |list| brk: {
var stack = std.heap.stackFallback(2048, globalThis.allocator());
var arena = @import("root").bun.ArenaAllocator.init(stack.get());
- const array = JSC.JSValue.createEmptyArray(globalThis, @truncate(u32, list.items.len));
+ const array = JSC.JSValue.createEmptyArray(globalThis, @as(u32, @truncate(list.items.len)));
var i: u32 = 0;
const items: []const Result = list.items;
for (items) |item| {
@@ -594,7 +594,7 @@ pub const GetAddrInfo = struct {
pub fn fromAddrInfo(addrinfo: *std.c.addrinfo) ?Result {
return Result{
- .address = std.net.Address.initPosix(@alignCast(4, addrinfo.addr orelse return null)),
+ .address = std.net.Address.initPosix(@alignCast(addrinfo.addr orelse return null)),
// no TTL in POSIX getaddrinfo()
.ttl = 0,
};
@@ -650,8 +650,8 @@ pub fn ResolveInfoRequest(comptime cares_type: type, comptime type_name: []const
request.cache = @This().CacheConfig{
.pending_cache = true,
.entry_cache = false,
- .pos_in_pending = @truncate(u5, @field(resolver.?, cache_field).indexOf(cache.new).?),
- .name_len = @truncate(u9, name.len),
+ .pos_in_pending = @as(u5, @truncate(@field(resolver.?, cache_field).indexOf(cache.new).?)),
+ .name_len = @as(u9, @truncate(name.len)),
};
cache.new.lookup = request;
}
@@ -682,7 +682,7 @@ pub fn ResolveInfoRequest(comptime cares_type: type, comptime type_name: []const
const hash = hasher.final();
return PendingCacheKey{
.hash = hash,
- .len = @truncate(u16, name.len),
+ .len = @as(u16, @truncate(name.len)),
.lookup = undefined,
};
}
@@ -751,8 +751,8 @@ pub const GetAddrInfoRequest = struct {
request.cache = CacheConfig{
.pending_cache = true,
.entry_cache = false,
- .pos_in_pending = @truncate(u5, @field(resolver.?, cache_field).indexOf(cache.new).?),
- .name_len = @truncate(u9, query.name.len),
+ .pos_in_pending = @as(u5, @truncate(@field(resolver.?, cache_field).indexOf(cache.new).?)),
+ .name_len = @as(u9, @truncate(query.name.len)),
};
cache.new.lookup = request;
}
@@ -782,7 +782,7 @@ pub const GetAddrInfoRequest = struct {
pub fn init(query: GetAddrInfo) PendingCacheKey {
return PendingCacheKey{
.hash = query.hash(),
- .len = @truncate(u16, query.name.len),
+ .len = @as(u16, @truncate(query.name.len)),
.lookup = undefined,
};
}
@@ -793,7 +793,7 @@ pub const GetAddrInfoRequest = struct {
addr_info: ?*std.c.addrinfo,
arg: ?*anyopaque,
) callconv(.C) void {
- const this = @ptrFromInt(*GetAddrInfoRequest, @intFromPtr(arg));
+ const this = @as(*GetAddrInfoRequest, @ptrFromInt(@intFromPtr(arg)));
log("getAddrInfoAsyncCallback: status={d}", .{status});
if (this.backend == .libinfo) {
@@ -1394,13 +1394,13 @@ pub const DNSResolver = struct {
poll: *JSC.FilePoll,
) void {
var channel = this.channel orelse {
- _ = this.polls.orderedRemove(@intCast(i32, poll.fd));
+ _ = this.polls.orderedRemove(@as(i32, @intCast(poll.fd)));
poll.deinit();
return;
};
channel.process(
- @intCast(i32, poll.fd),
+ @as(i32, @intCast(poll.fd)),
poll.isReadable(),
poll.isWritable(),
);
diff --git a/src/bun.js/api/bun/socket.zig b/src/bun.js/api/bun/socket.zig
index 0a18dd015..2f35a48a5 100644
--- a/src/bun.js/api/bun/socket.zig
+++ b/src/bun.js/api/bun/socket.zig
@@ -389,7 +389,7 @@ pub const SocketConfig = struct {
if (parsed_url.getPort()) |port_num| {
port_value = JSValue.jsNumber(port_num);
hostname_or_unix.ptr = parsed_url.hostname.ptr;
- hostname_or_unix.len = @truncate(u32, parsed_url.hostname.len);
+ hostname_or_unix.len = @as(u32, @truncate(parsed_url.hostname.len));
}
}
@@ -496,10 +496,10 @@ pub const Listener = struct {
pub fn deinit(this: UnixOrHost) void {
switch (this) {
.unix => |u| {
- bun.default_allocator.destroy(@ptrFromInt([*]u8, @intFromPtr(u.ptr)));
+ bun.default_allocator.destroy(@as([*]u8, @ptrFromInt(@intFromPtr(u.ptr))));
},
.host => |h| {
- bun.default_allocator.destroy(@ptrFromInt([*]u8, @intFromPtr(h.host.ptr)));
+ bun.default_allocator.destroy(@as([*]u8, @ptrFromInt(@intFromPtr(h.host.ptr))));
},
}
}
@@ -657,7 +657,7 @@ pub const Listener = struct {
);
// should return the assigned port
if (socket) |s| {
- connection.host.port = @intCast(u16, s.getLocalPort(ssl_enabled));
+ connection.host.port = @as(u16, @intCast(s.getLocalPort(ssl_enabled)));
}
break :brk socket;
},
@@ -1037,7 +1037,7 @@ fn selectALPNCallback(
return BoringSSL.SSL_TLSEXT_ERR_NOACK;
}
- const status = BoringSSL.SSL_select_next_proto(bun.cast([*c][*c]u8, out), outlen, protos.ptr, @intCast(c_uint, protos.len), in, inlen);
+ const status = BoringSSL.SSL_select_next_proto(bun.cast([*c][*c]u8, out), outlen, protos.ptr, @as(c_uint, @intCast(protos.len)), in, inlen);
// Previous versions of Node.js returned SSL_TLSEXT_ERR_NOACK if no protocol
// match was found. This would neither cause a fatal alert nor would it result
@@ -1250,6 +1250,7 @@ fn NewSocket(comptime ssl: bool) type {
// Add SNI support for TLS (mongodb and others requires this)
if (comptime ssl) {
var ssl_ptr = this.socket.ssl();
+
if (!ssl_ptr.isInitFinished()) {
if (this.server_name) |server_name| {
const host = normalizeHost(server_name);
@@ -1272,7 +1273,7 @@ fn NewSocket(comptime ssl: bool) type {
if (this.handlers.is_server) {
BoringSSL.SSL_CTX_set_alpn_select_cb(BoringSSL.SSL_get_SSL_CTX(ssl_ptr), selectALPNCallback, bun.cast(*anyopaque, this));
} else {
- _ = BoringSSL.SSL_set_alpn_protos(ssl_ptr, protos.ptr, @intCast(c_uint, protos.len));
+ _ = BoringSSL.SSL_set_alpn_protos(ssl_ptr, protos.ptr, @as(c_uint, @intCast(protos.len)));
}
}
}
@@ -1557,7 +1558,7 @@ fn NewSocket(comptime ssl: bool) type {
return .zero;
}
- this.socket.timeout(@intCast(c_uint, t));
+ this.socket.timeout(@as(c_uint, @intCast(t)));
return JSValue.jsUndefined();
}
@@ -1640,7 +1641,7 @@ fn NewSocket(comptime ssl: bool) type {
var text_buf: [512]u8 = undefined;
this.socket.remoteAddress(&buf, &length);
- const address_bytes = buf[0..@intCast(usize, length)];
+ const address_bytes = buf[0..@as(usize, @intCast(length))];
const address: std.net.Address = switch (length) {
4 => std.net.Address.initIp4(address_bytes[0..4].*, 0),
16 => std.net.Address.initIp6(address_bytes[0..16].*, 0, 0, 0),
@@ -1972,7 +1973,7 @@ fn NewSocket(comptime ssl: bool) type {
var ticket: [*c]const u8 = undefined;
var length: usize = 0;
//The pointer is only valid while the connection is in use so we need to copy it
- BoringSSL.SSL_SESSION_get0_ticket(session, @ptrCast([*c][*c]const u8, &ticket), &length);
+ BoringSSL.SSL_SESSION_get0_ticket(session, @as([*c][*c]const u8, @ptrCast(&ticket)), &length);
if (ticket == null or length == 0) {
return JSValue.jsUndefined();
@@ -2010,8 +2011,8 @@ fn NewSocket(comptime ssl: bool) type {
if (JSC.Node.StringOrBuffer.fromJS(globalObject, arena.allocator(), session_arg, exception)) |sb| {
var session_slice = sb.slice();
var ssl_ptr = this.socket.ssl();
- var tmp = @ptrCast([*c]const u8, session_slice.ptr);
- const session = BoringSSL.d2i_SSL_SESSION(null, &tmp, @intCast(c_long, session_slice.len)) orelse return JSValue.jsUndefined();
+ var tmp = @as([*c]const u8, @ptrCast(session_slice.ptr));
+ const session = BoringSSL.d2i_SSL_SESSION(null, &tmp, @as(c_long, @intCast(session_slice.len))) orelse return JSValue.jsUndefined();
if (BoringSSL.SSL_set_session(ssl_ptr, session) != 1) {
globalObject.throwValue(getSSLException(globalObject, "SSL_set_session error"));
return .zero;
@@ -2046,9 +2047,9 @@ fn NewSocket(comptime ssl: bool) type {
return JSValue.jsUndefined();
}
- const buffer_size = @intCast(usize, size);
+ const buffer_size = @as(usize, @intCast(size));
var buffer = JSValue.createBufferFromLength(globalObject, buffer_size);
- var buffer_ptr = @ptrCast([*c]u8, buffer.asArrayBuffer(globalObject).?.ptr);
+ var buffer_ptr = @as([*c]u8, @ptrCast(buffer.asArrayBuffer(globalObject).?.ptr));
const result_size = BoringSSL.i2d_SSL_SESSION(session, &buffer_ptr);
std.debug.assert(result_size == size);
@@ -2071,6 +2072,7 @@ fn NewSocket(comptime ssl: bool) type {
var alpn_proto_len: u32 = 0;
var ssl_ptr = this.socket.ssl();
+
BoringSSL.SSL_get0_alpn_selected(ssl_ptr, &alpn_proto, &alpn_proto_len);
if (alpn_proto == null or alpn_proto_len == 0) {
return JSValue.jsBoolean(false);
@@ -2128,7 +2130,7 @@ fn NewSocket(comptime ssl: bool) type {
defer label.deinit();
const label_slice = label.slice();
- const ssl_ptr = @ptrCast(*BoringSSL.SSL, this.socket.getNativeHandle());
+ const ssl_ptr = @as(*BoringSSL.SSL, @ptrCast(this.socket.getNativeHandle()));
if (args.len > 2) {
const context_arg = args.ptr[2];
@@ -2141,11 +2143,11 @@ fn NewSocket(comptime ssl: bool) type {
if (JSC.Node.StringOrBuffer.fromJS(globalObject, arena.allocator(), context_arg, exception)) |sb| {
const context_slice = sb.slice();
- const buffer_size = @intCast(usize, length);
+ const buffer_size = @as(usize, @intCast(length));
var buffer = JSValue.createBufferFromLength(globalObject, buffer_size);
- var buffer_ptr = @ptrCast([*c]u8, buffer.asArrayBuffer(globalObject).?.ptr);
+ var buffer_ptr = @as([*c]u8, @ptrCast(buffer.asArrayBuffer(globalObject).?.ptr));
- const result = BoringSSL.SSL_export_keying_material(ssl_ptr, buffer_ptr, buffer_size, @ptrCast([*c]const u8, label_slice.ptr), label_slice.len, @ptrCast([*c]const u8, context_slice.ptr), context_slice.len, 1);
+ const result = BoringSSL.SSL_export_keying_material(ssl_ptr, buffer_ptr, buffer_size, @as([*c]const u8, @ptrCast(label_slice.ptr)), label_slice.len, @as([*c]const u8, @ptrCast(context_slice.ptr)), context_slice.len, 1);
if (result != 1) {
globalObject.throwValue(getSSLException(globalObject, "Failed to export keying material"));
return .zero;
@@ -2159,11 +2161,11 @@ fn NewSocket(comptime ssl: bool) type {
return .zero;
}
} else {
- const buffer_size = @intCast(usize, length);
+ const buffer_size = @as(usize, @intCast(length));
var buffer = JSValue.createBufferFromLength(globalObject, buffer_size);
- var buffer_ptr = @ptrCast([*c]u8, buffer.asArrayBuffer(globalObject).?.ptr);
+ var buffer_ptr = @as([*c]u8, @ptrCast(buffer.asArrayBuffer(globalObject).?.ptr));
- const result = BoringSSL.SSL_export_keying_material(ssl_ptr, buffer_ptr, buffer_size, @ptrCast([*c]const u8, label_slice.ptr), label_slice.len, null, 0, 0);
+ const result = BoringSSL.SSL_export_keying_material(ssl_ptr, buffer_ptr, buffer_size, @as([*c]const u8, @ptrCast(label_slice.ptr)), label_slice.len, null, 0, 0);
if (result != 1) {
globalObject.throwValue(getSSLException(globalObject, "Failed to export keying material"));
return .zero;
@@ -2191,7 +2193,7 @@ fn NewSocket(comptime ssl: bool) type {
}
var result = JSValue.createEmptyObject(globalObject, 3);
- const ssl_ptr = @ptrCast(*BoringSSL.SSL, this.socket.getNativeHandle());
+ const ssl_ptr = @as(*BoringSSL.SSL, @ptrCast(this.socket.getNativeHandle()));
// TODO: investigate better option or compatible way to get the key
// this implementation follows nodejs but for BoringSSL SSL_get_server_tmp_key will always return 0
// wich will result in a empty object
@@ -2255,7 +2257,7 @@ fn NewSocket(comptime ssl: bool) type {
}
var result = JSValue.createEmptyObject(globalObject, 3);
- const ssl_ptr = @ptrCast(*BoringSSL.SSL, this.socket.getNativeHandle());
+ const ssl_ptr = @as(*BoringSSL.SSL, @ptrCast(this.socket.getNativeHandle()));
const cipher = BoringSSL.SSL_get_current_cipher(ssl_ptr);
if (cipher == null) {
result.put(globalObject, ZigString.static("name"), JSValue.jsNull());
@@ -2301,19 +2303,19 @@ fn NewSocket(comptime ssl: bool) type {
return JSValue.jsUndefined();
}
- const ssl_ptr = @ptrCast(*BoringSSL.SSL, this.socket.getNativeHandle());
+ const ssl_ptr = @as(*BoringSSL.SSL, @ptrCast(this.socket.getNativeHandle()));
// We cannot just pass nullptr to SSL_get_peer_finished()
// because it would further be propagated to memcpy(),
// where the standard requirements as described in ISO/IEC 9899:2011
// sections 7.21.2.1, 7.21.1.2, and 7.1.4, would be violated.
// Thus, we use a dummy byte.
var dummy: [1]u8 = undefined;
- const size = BoringSSL.SSL_get_peer_finished(ssl_ptr, @ptrCast(*anyopaque, &dummy), @sizeOf(@TypeOf(dummy)));
+ const size = BoringSSL.SSL_get_peer_finished(ssl_ptr, @as(*anyopaque, @ptrCast(&dummy)), @sizeOf(@TypeOf(dummy)));
if (size == 0) return JSValue.jsUndefined();
- const buffer_size = @intCast(usize, size);
+ const buffer_size = @as(usize, @intCast(size));
var buffer = JSValue.createBufferFromLength(globalObject, buffer_size);
- var buffer_ptr = @ptrCast(*anyopaque, buffer.asArrayBuffer(globalObject).?.ptr);
+ var buffer_ptr = @as(*anyopaque, @ptrCast(buffer.asArrayBuffer(globalObject).?.ptr));
const result_size = BoringSSL.SSL_get_peer_finished(ssl_ptr, buffer_ptr, buffer_size);
std.debug.assert(result_size == size);
@@ -2333,19 +2335,19 @@ fn NewSocket(comptime ssl: bool) type {
return JSValue.jsUndefined();
}
- const ssl_ptr = @ptrCast(*BoringSSL.SSL, this.socket.getNativeHandle());
+ const ssl_ptr = @as(*BoringSSL.SSL, @ptrCast(this.socket.getNativeHandle()));
// We cannot just pass nullptr to SSL_get_finished()
// because it would further be propagated to memcpy(),
// where the standard requirements as described in ISO/IEC 9899:2011
// sections 7.21.2.1, 7.21.1.2, and 7.1.4, would be violated.
// Thus, we use a dummy byte.
var dummy: [1]u8 = undefined;
- const size = BoringSSL.SSL_get_finished(ssl_ptr, @ptrCast(*anyopaque, &dummy), @sizeOf(@TypeOf(dummy)));
+ const size = BoringSSL.SSL_get_finished(ssl_ptr, @as(*anyopaque, @ptrCast(&dummy)), @sizeOf(@TypeOf(dummy)));
if (size == 0) return JSValue.jsUndefined();
- const buffer_size = @intCast(usize, size);
+ const buffer_size = @as(usize, @intCast(size));
var buffer = JSValue.createBufferFromLength(globalObject, buffer_size);
- var buffer_ptr = @ptrCast(*anyopaque, buffer.asArrayBuffer(globalObject).?.ptr);
+ var buffer_ptr = @as(*anyopaque, @ptrCast(buffer.asArrayBuffer(globalObject).?.ptr));
const result_size = BoringSSL.SSL_get_finished(ssl_ptr, buffer_ptr, buffer_size);
std.debug.assert(result_size == size);
@@ -2365,18 +2367,18 @@ fn NewSocket(comptime ssl: bool) type {
if (this.detached) {
return JSValue.jsNull();
}
- const ssl_ptr = @ptrCast(*BoringSSL.SSL, this.socket.getNativeHandle());
+ const ssl_ptr = @as(*BoringSSL.SSL, @ptrCast(this.socket.getNativeHandle()));
const nsig = BoringSSL.SSL_get_shared_sigalgs(ssl_ptr, 0, null, null, null, null, null);
- const array = JSC.JSValue.createEmptyArray(globalObject, @intCast(usize, nsig));
+ const array = JSC.JSValue.createEmptyArray(globalObject, @as(usize, @intCast(nsig)));
- for (0..@intCast(usize, nsig)) |i| {
+ for (0..@as(usize, @intCast(nsig))) |i| {
var hash_nid: c_int = 0;
var sign_nid: c_int = 0;
var sig_with_md: []const u8 = "";
- _ = BoringSSL.SSL_get_shared_sigalgs(ssl_ptr, @intCast(c_int, i), &sign_nid, &hash_nid, null, null, null);
+ _ = BoringSSL.SSL_get_shared_sigalgs(ssl_ptr, @as(c_int, @intCast(i)), &sign_nid, &hash_nid, null, null, null);
switch (sign_nid) {
BoringSSL.EVP_PKEY_RSA => {
sig_with_md = "RSA";
@@ -2430,14 +2432,14 @@ fn NewSocket(comptime ssl: bool) type {
bun.copy(u8, buffer, sig_with_md);
buffer[sig_with_md.len] = '+';
bun.copy(u8, buffer[sig_with_md.len + 1 ..], hash_slice);
- array.putIndex(globalObject, @intCast(u32, i), JSC.ZigString.fromUTF8(buffer).toValueGC(globalObject));
+ array.putIndex(globalObject, @as(u32, @intCast(i)), JSC.ZigString.fromUTF8(buffer).toValueGC(globalObject));
} else {
const buffer = bun.default_allocator.alloc(u8, sig_with_md.len + 6) catch unreachable;
defer bun.default_allocator.free(buffer);
bun.copy(u8, buffer, sig_with_md);
bun.copy(u8, buffer[sig_with_md.len..], "+UNDEF");
- array.putIndex(globalObject, @intCast(u32, i), JSC.ZigString.fromUTF8(buffer).toValueGC(globalObject));
+ array.putIndex(globalObject, @as(u32, @intCast(i)), JSC.ZigString.fromUTF8(buffer).toValueGC(globalObject));
}
}
return array;
@@ -2457,7 +2459,7 @@ fn NewSocket(comptime ssl: bool) type {
return JSValue.jsNull();
}
- const ssl_ptr = @ptrCast(*BoringSSL.SSL, this.socket.getNativeHandle());
+ const ssl_ptr = @as(*BoringSSL.SSL, @ptrCast(this.socket.getNativeHandle()));
const version = BoringSSL.SSL_get_version(ssl_ptr);
if (version == null) return JSValue.jsNull();
const version_len = bun.len(version);
@@ -2502,8 +2504,8 @@ fn NewSocket(comptime ssl: bool) type {
return .zero;
}
- const ssl_ptr = @ptrCast(*BoringSSL.SSL, this.socket.getNativeHandle());
- return JSValue.jsBoolean(BoringSSL.SSL_set_max_send_fragment(ssl_ptr, @intCast(usize, size)) == 1);
+ const ssl_ptr = @as(*BoringSSL.SSL, @ptrCast(this.socket.getNativeHandle()));
+ return JSValue.jsBoolean(BoringSSL.SSL_set_max_send_fragment(ssl_ptr, @as(usize, @intCast(size))) == 1);
}
pub fn getPeerCertificate(
this: *This,
@@ -2530,7 +2532,7 @@ fn NewSocket(comptime ssl: bool) type {
abbreviated = arg.toBoolean();
}
- const ssl_ptr = @ptrCast(*BoringSSL.SSL, this.socket.getNativeHandle());
+ const ssl_ptr = @as(*BoringSSL.SSL, @ptrCast(this.socket.getNativeHandle()));
if (abbreviated) {
if (this.handlers.is_server) {
@@ -2573,7 +2575,7 @@ fn NewSocket(comptime ssl: bool) type {
return JSValue.jsUndefined();
}
- const ssl_ptr = @ptrCast(*BoringSSL.SSL, this.socket.getNativeHandle());
+ const ssl_ptr = @as(*BoringSSL.SSL, @ptrCast(this.socket.getNativeHandle()));
const cert = BoringSSL.SSL_get_certificate(ssl_ptr);
if (cert) |x509| {
@@ -2623,6 +2625,7 @@ fn NewSocket(comptime ssl: bool) type {
const host = normalizeHost(@as([]const u8, slice));
if (host.len > 0) {
var ssl_ptr = this.socket.ssl();
+
if (ssl_ptr.isInitFinished()) {
// match node.js exceptions
globalObject.throw("Already started.", .{});
diff --git a/src/bun.js/api/bun/spawn.zig b/src/bun.js/api/bun/spawn.zig
index 5de8c2265..be354c7f0 100644
--- a/src/bun.js/api/bun/spawn.zig
+++ b/src/bun.js/api/bun/spawn.zig
@@ -62,14 +62,14 @@ pub const PosixSpawn = struct {
pub fn get(self: Attr) !u16 {
var flags: c_short = undefined;
switch (errno(system.posix_spawnattr_getflags(&self.attr, &flags))) {
- .SUCCESS => return @bitCast(u16, flags),
+ .SUCCESS => return @as(u16, @bitCast(flags)),
.INVAL => unreachable,
else => |err| return unexpectedErrno(err),
}
}
pub fn set(self: *Attr, flags: u16) !void {
- switch (errno(system.posix_spawnattr_setflags(&self.attr, @bitCast(c_short, flags)))) {
+ switch (errno(system.posix_spawnattr_setflags(&self.attr, @as(c_short, @bitCast(flags))))) {
.SUCCESS => return,
.INVAL => unreachable,
else => |err| return unexpectedErrno(err),
@@ -107,7 +107,7 @@ pub const PosixSpawn = struct {
}
pub fn openZ(self: *Actions, fd: fd_t, path: [*:0]const u8, flags: u32, mode: mode_t) !void {
- switch (errno(system.posix_spawn_file_actions_addopen(&self.actions, fd, path, @bitCast(c_int, flags), mode))) {
+ switch (errno(system.posix_spawn_file_actions_addopen(&self.actions, fd, path, @as(c_int, @bitCast(flags)), mode))) {
.SUCCESS => return,
.BADF => return error.InvalidFileDescriptor,
.NOMEM => return error.SystemResources,
@@ -283,12 +283,12 @@ pub const PosixSpawn = struct {
const Status = c_int;
var status: Status = undefined;
while (true) {
- const rc = system.waitpid(pid, &status, @intCast(c_int, flags));
+ const rc = system.waitpid(pid, &status, @as(c_int, @intCast(flags)));
switch (errno(rc)) {
.SUCCESS => return Maybe(WaitPidResult){
.result = .{
- .pid = @intCast(pid_t, rc),
- .status = @bitCast(u32, status),
+ .pid = @as(pid_t, @intCast(rc)),
+ .status = @as(u32, @bitCast(status)),
},
},
.INTR => continue,
diff --git a/src/bun.js/api/bun/subprocess.zig b/src/bun.js/api/bun/subprocess.zig
index ba813c463..1bc7f234a 100644
--- a/src/bun.js/api/bun/subprocess.zig
+++ b/src/bun.js/api/bun/subprocess.zig
@@ -201,7 +201,7 @@ pub const Subprocess = struct {
};
},
.path => Readable{ .ignore = {} },
- .blob, .fd => Readable{ .fd = @intCast(bun.FileDescriptor, fd) },
+ .blob, .fd => Readable{ .fd = @as(bun.FileDescriptor, @intCast(fd)) },
.array_buffer => Readable{
.pipe = .{
.buffer = BufferedOutput.initWithSlice(fd, stdio.array_buffer.slice()),
@@ -360,7 +360,7 @@ pub const Subprocess = struct {
}
// first appeared in Linux 5.1
- const rc = std.os.linux.pidfd_send_signal(this.pidfd, @intCast(u8, sig), null, 0);
+ const rc = std.os.linux.pidfd_send_signal(this.pidfd, @as(u8, @intCast(sig)), null, 0);
if (rc != 0) {
const errno = std.os.linux.getErrno(rc);
@@ -628,7 +628,7 @@ pub const Subprocess = struct {
},
else => {
const slice = result.slice();
- this.internal_buffer.len += @truncate(u32, slice.len);
+ this.internal_buffer.len += @as(u32, @truncate(slice.len));
if (slice.len > 0)
std.debug.assert(this.internal_buffer.contains(slice));
@@ -673,7 +673,7 @@ pub const Subprocess = struct {
if (slice.ptr == stack_buf.ptr) {
this.internal_buffer.append(auto_sizer.allocator, slice) catch @panic("out of memory");
} else {
- this.internal_buffer.len += @truncate(u32, slice.len);
+ this.internal_buffer.len += @as(u32, @truncate(slice.len));
}
if (slice.len < buf_to_use.len) {
@@ -706,7 +706,7 @@ pub const Subprocess = struct {
return;
},
.read => |slice| {
- this.internal_buffer.len += @truncate(u32, slice.len);
+ this.internal_buffer.len += @as(u32, @truncate(slice.len));
if (slice.len < buf_to_use.len) {
this.watch();
@@ -881,7 +881,7 @@ pub const Subprocess = struct {
return Writable{ .buffered_input = buffered_input };
},
.fd => {
- return Writable{ .fd = @intCast(bun.FileDescriptor, fd) };
+ return Writable{ .fd = @as(bun.FileDescriptor, @intCast(fd)) };
},
.inherit => {
return Writable{ .inherit = {} };
@@ -1303,7 +1303,7 @@ pub const Subprocess = struct {
globalThis.throw("out of memory", .{});
return .zero;
};
- env = @ptrCast(@TypeOf(env), env_array.items.ptr);
+ env = @as(@TypeOf(env), @ptrCast(env_array.items.ptr));
}
const pid = brk: {
@@ -1321,7 +1321,7 @@ pub const Subprocess = struct {
}
}
- break :brk switch (PosixSpawn.spawnZ(argv.items[0].?, actions, attr, @ptrCast([*:null]?[*:0]const u8, argv.items[0..].ptr), env)) {
+ break :brk switch (PosixSpawn.spawnZ(argv.items[0].?, actions, attr, @as([*:null]?[*:0]const u8, @ptrCast(argv.items[0..].ptr)), env)) {
.err => |err| return err.toJSC(globalThis),
.result => |pid_| pid_,
};
@@ -1329,7 +1329,7 @@ pub const Subprocess = struct {
const pidfd: std.os.fd_t = brk: {
if (Environment.isMac) {
- break :brk @intCast(std.os.fd_t, pid);
+ break :brk @as(std.os.fd_t, @intCast(pid));
}
const kernel = @import("../../../analytics.zig").GenerateHeader.GeneratePlatform.kernelVersion();
@@ -1346,7 +1346,7 @@ pub const Subprocess = struct {
);
switch (std.os.linux.getErrno(fd)) {
- .SUCCESS => break :brk @intCast(std.os.fd_t, fd),
+ .SUCCESS => break :brk @as(std.os.fd_t, @intCast(fd)),
else => |err| {
globalThis.throwValue(JSC.Node.Syscall.Error.fromCode(err, .open).toJSC(globalThis));
var status: u32 = 0;
@@ -1484,7 +1484,7 @@ pub const Subprocess = struct {
subprocess.finalizeSync();
const sync_value = JSC.JSValue.createEmptyObject(globalThis, 4);
- sync_value.put(globalThis, JSC.ZigString.static("exitCode"), JSValue.jsNumber(@intCast(i32, exitCode)));
+ sync_value.put(globalThis, JSC.ZigString.static("exitCode"), JSValue.jsNumber(@as(i32, @intCast(exitCode))));
sync_value.put(globalThis, JSC.ZigString.static("stdout"), stdout);
sync_value.put(globalThis, JSC.ZigString.static("stderr"), stderr);
sync_value.put(globalThis, JSC.ZigString.static("success"), JSValue.jsBoolean(exitCode == 0));
@@ -1531,13 +1531,13 @@ pub const Subprocess = struct {
},
.result => |result| {
if (std.os.W.IFEXITED(result.status)) {
- this.exit_code = @truncate(u8, std.os.W.EXITSTATUS(result.status));
+ this.exit_code = @as(u8, @truncate(std.os.W.EXITSTATUS(result.status)));
}
if (std.os.W.IFSIGNALED(result.status)) {
- this.signal_code = @enumFromInt(SignalCode, @truncate(u8, std.os.W.TERMSIG(result.status)));
+ this.signal_code = @as(SignalCode, @enumFromInt(@as(u8, @truncate(std.os.W.TERMSIG(result.status)))));
} else if (std.os.W.IFSTOPPED(result.status)) {
- this.signal_code = @enumFromInt(SignalCode, @truncate(u8, std.os.W.STOPSIG(result.status)));
+ this.signal_code = @as(SignalCode, @enumFromInt(@as(u8, @truncate(std.os.W.STOPSIG(result.status)))));
}
if (!this.hasExited()) {
@@ -1688,10 +1688,10 @@ pub const Subprocess = struct {
if (blob.needsToReadFile()) {
if (blob.store()) |store| {
if (store.data.file.pathlike == .fd) {
- if (store.data.file.pathlike.fd == @intCast(bun.FileDescriptor, i)) {
+ if (store.data.file.pathlike.fd == @as(bun.FileDescriptor, @intCast(i))) {
stdio_array[i] = Stdio{ .inherit = {} };
} else {
- switch (@intCast(std.os.fd_t, i)) {
+ switch (@as(std.os.fd_t, @intCast(i))) {
std.os.STDIN_FILENO => {
if (i == std.os.STDERR_FILENO or i == std.os.STDOUT_FILENO) {
globalThis.throwInvalidArguments("stdin cannot be used for stdout or stderr", .{});
@@ -1754,9 +1754,9 @@ pub const Subprocess = struct {
return false;
}
- const fd = @intCast(bun.FileDescriptor, fd_);
+ const fd = @as(bun.FileDescriptor, @intCast(fd_));
- switch (@intCast(std.os.fd_t, i)) {
+ switch (@as(std.os.fd_t, @intCast(i))) {
std.os.STDIN_FILENO => {
if (i == std.os.STDERR_FILENO or i == std.os.STDOUT_FILENO) {
globalThis.throwInvalidArguments("stdin cannot be used for stdout or stderr", .{});
diff --git a/src/bun.js/api/bun/x509.zig b/src/bun.js/api/bun/x509.zig
index 707009936..20ab16547 100644
--- a/src/bun.js/api/bun/x509.zig
+++ b/src/bun.js/api/bun/x509.zig
@@ -13,8 +13,8 @@ fn x509GetNameObject(globalObject: *JSGlobalObject, name: ?*BoringSSL.X509_NAME)
}
var result = JSValue.createEmptyObject(globalObject, 1);
- for (0..@intCast(usize, cnt)) |i| {
- const entry = BoringSSL.X509_NAME_get_entry(name, @intCast(c_int, i)) orelse continue;
+ for (0..@as(usize, @intCast(cnt))) |i| {
+ const entry = BoringSSL.X509_NAME_get_entry(name, @as(c_int, @intCast(i))) orelse continue;
// We intentionally ignore the value of X509_NAME_ENTRY_set because the
// representation as an object does not allow grouping entries into sets
// anyway, and multi-value RDNs are rare, i.e., the vast majority of
@@ -37,7 +37,7 @@ fn x509GetNameObject(globalObject: *JSGlobalObject, name: ?*BoringSSL.X509_NAME)
if (length <= 0) {
continue;
}
- name_slice = type_buf[0..@intCast(usize, length)];
+ name_slice = type_buf[0..@as(usize, @intCast(length))];
}
const value_data = BoringSSL.X509_NAME_ENTRY_get_data(entry);
@@ -47,7 +47,7 @@ fn x509GetNameObject(globalObject: *JSGlobalObject, name: ?*BoringSSL.X509_NAME)
if (value_str_len < 0) {
continue;
}
- const value_slice = value_str[0..@intCast(usize, value_str_len)];
+ const value_slice = value_str[0..@as(usize, @intCast(value_str_len))];
defer BoringSSL.OPENSSL_free(value_str);
// For backward compatibility, we only create arrays if multiple values
// exist for the same key. That is not great but there is not much we can
@@ -119,7 +119,7 @@ inline fn printAltName(out: *BoringSSL.BIO, name: []const u8, utf8: bool, safe_p
if (safe_prefix) |prefix| {
_ = BoringSSL.BIO_printf(out, "%s:", prefix);
}
- _ = BoringSSL.BIO_write(out, @ptrCast([*]const u8, name.ptr), @intCast(c_int, name.len));
+ _ = BoringSSL.BIO_write(out, @as([*]const u8, @ptrCast(name.ptr)), @as(c_int, @intCast(name.len)));
} else {
// If a name is not "safe", we cannot embed it without special
// encoding. This does not usually happen, but we don't want to hide
@@ -154,11 +154,11 @@ inline fn printAltName(out: *BoringSSL.BIO, name: []const u8, utf8: bool, safe_p
}
inline fn printLatin1AltName(out: *BoringSSL.BIO, name: *BoringSSL.ASN1_IA5STRING, safe_prefix: ?[*]const u8) void {
- printAltName(out, name.data[0..@intCast(usize, name.length)], false, safe_prefix);
+ printAltName(out, name.data[0..@as(usize, @intCast(name.length))], false, safe_prefix);
}
inline fn printUTF8AltName(out: *BoringSSL.BIO, name: *BoringSSL.ASN1_UTF8STRING, safe_prefix: ?[*]const u8) void {
- printAltName(out, name.data[0..@intCast(usize, name.length)], true, safe_prefix);
+ printAltName(out, name.data[0..@as(usize, @intCast(name.length))], true, safe_prefix);
}
pub const kX509NameFlagsRFC2253WithinUtf8JSON = BoringSSL.XN_FLAG_RFC2253 & ~BoringSSL.ASN1_STRFLGS_ESC_MSB & ~BoringSSL.ASN1_STRFLGS_ESC_CTRL;
@@ -203,9 +203,9 @@ fn x509PrintGeneralName(out: *BoringSSL.BIO, name: *BoringSSL.GENERAL_NAME) bool
return false;
}
var oline: [*]const u8 = undefined;
- const n_bytes = BoringSSL.BIO_get_mem_data(tmp, @ptrCast([*c][*c]u8, &oline));
+ const n_bytes = BoringSSL.BIO_get_mem_data(tmp, @as([*c][*c]u8, @ptrCast(&oline)));
if (n_bytes <= 0) return false;
- printAltName(out, oline[0..@intCast(usize, n_bytes)], true, null);
+ printAltName(out, oline[0..@as(usize, @intCast(n_bytes))], true, null);
} else if (name.name_type == .GEN_OTHERNAME) {
// The format that is used here is based on OpenSSL's implementation of
// GENERAL_NAME_print (as of OpenSSL 3.0.1). Earlier versions of Node.js
@@ -262,7 +262,7 @@ fn x509PrintGeneralName(out: *BoringSSL.BIO, name: *BoringSSL.GENERAL_NAME) bool
_ = BoringSSL.BIO_printf(out, "%d.%d.%d.%d", b[0], b[1], b[2], b[3]);
} else if (ip.length == 16) {
for (0..8) |j| {
- const pair: u16 = (@intCast(u16, b[2 * j]) << 8) | @intCast(u16, b[2 * j + 1]);
+ const pair: u16 = (@as(u16, @intCast(b[2 * j])) << 8) | @as(u16, @intCast(b[2 * j + 1]));
_ = BoringSSL.BIO_printf(out, if (j == 0) "%X" else ":%X", pair);
}
} else {
@@ -373,7 +373,7 @@ fn addFingerprintDigest(md: []const u8, mdSize: c_uint, fingerprint: []u8) usize
const hex: []const u8 = "0123456789ABCDEF";
var idx: usize = 0;
- const slice = md[0..@intCast(usize, mdSize)];
+ const slice = md[0..@as(usize, @intCast(mdSize))];
for (slice) |byte| {
fingerprint[idx] = hex[(byte & 0xF0) >> 4];
fingerprint[idx + 1] = hex[byte & 0x0F];
@@ -390,7 +390,7 @@ fn getFingerprintDigest(cert: *BoringSSL.X509, method: *const BoringSSL.EVP_MD,
var md_size: c_uint = 0;
var fingerprint: [BoringSSL.EVP_MAX_MD_SIZE * 3]u8 = undefined;
- if (BoringSSL.X509_digest(cert, method, @ptrCast([*c]u8, &md), &md_size) != 0) {
+ if (BoringSSL.X509_digest(cert, method, @as([*c]u8, @ptrCast(&md)), &md_size) != 0) {
const length = addFingerprintDigest(&md, md_size, &fingerprint);
return JSC.ZigString.fromUTF8(fingerprint[0..length]).toValueGC(globalObject);
}
@@ -416,8 +416,8 @@ fn getSerialNumber(cert: *BoringSSL.X509, globalObject: *JSGlobalObject) JSValue
fn getRawDERCertificate(cert: *BoringSSL.X509, globalObject: *JSGlobalObject) JSValue {
const size = BoringSSL.i2d_X509(cert, null);
- var buffer = JSValue.createBufferFromLength(globalObject, @intCast(usize, size));
- var buffer_ptr = @ptrCast([*c]u8, buffer.asArrayBuffer(globalObject).?.ptr);
+ var buffer = JSValue.createBufferFromLength(globalObject, @as(usize, @intCast(size)));
+ var buffer_ptr = @as([*c]u8, @ptrCast(buffer.asArrayBuffer(globalObject).?.ptr));
const result_size = BoringSSL.i2d_X509(cert, &buffer_ptr);
std.debug.assert(result_size == size);
return buffer;
@@ -457,7 +457,7 @@ pub fn toJS(cert: *BoringSSL.X509, globalObject: *JSGlobalObject) JSValue {
if (rsa_key) |rsa| {
var n: [*c]const BoringSSL.BIGNUM = undefined;
var e: [*c]const BoringSSL.BIGNUM = undefined;
- BoringSSL.RSA_get0_key(rsa, @ptrCast([*c][*c]const BoringSSL.BIGNUM, &n), @ptrCast([*c][*c]const BoringSSL.BIGNUM, &e), null);
+ BoringSSL.RSA_get0_key(rsa, @as([*c][*c]const BoringSSL.BIGNUM, @ptrCast(&n)), @as([*c][*c]const BoringSSL.BIGNUM, @ptrCast(&e)), null);
_ = BoringSSL.BN_print(bio, n);
var bits = JSValue.jsUndefined();
@@ -487,8 +487,8 @@ pub fn toJS(cert: *BoringSSL.X509, globalObject: *JSGlobalObject) JSValue {
return .zero;
}
- var buffer = JSValue.createBufferFromLength(globalObject, @intCast(usize, size));
- var buffer_ptr = @ptrCast([*c]u8, buffer.asArrayBuffer(globalObject).?.ptr);
+ var buffer = JSValue.createBufferFromLength(globalObject, @as(usize, @intCast(size)));
+ var buffer_ptr = @as([*c]u8, @ptrCast(buffer.asArrayBuffer(globalObject).?.ptr));
_ = BoringSSL.i2d_RSA_PUBKEY(rsa, &buffer_ptr);
@@ -517,8 +517,8 @@ pub fn toJS(cert: *BoringSSL.X509, globalObject: *JSGlobalObject) JSValue {
return .zero;
}
- var buffer = JSValue.createBufferFromLength(globalObject, @intCast(usize, size));
- var buffer_ptr = @ptrCast([*c]u8, buffer.asArrayBuffer(globalObject).?.ptr);
+ var buffer = JSValue.createBufferFromLength(globalObject, @as(usize, @intCast(size)));
+ var buffer_ptr = @as([*c]u8, @ptrCast(buffer.asArrayBuffer(globalObject).?.ptr));
const result_size = BoringSSL.EC_POINT_point2oct(group, point, form, buffer_ptr, size, null);
std.debug.assert(result_size == size);
diff --git a/src/bun.js/api/ffi.zig b/src/bun.js/api/ffi.zig
index ba31b67ed..1ca44619d 100644
--- a/src/bun.js/api/ffi.zig
+++ b/src/bun.js/api/ffi.zig
@@ -383,7 +383,7 @@ pub const FFI = struct {
const cb = JSC.NewRuntimeFunction(
global,
&str,
- @intCast(u32, function.arg_types.items.len),
+ @as(u32, @intCast(function.arg_types.items.len)),
bun.cast(JSC.JSHostFunctionPtr, compiled.ptr),
false,
);
@@ -479,7 +479,7 @@ pub const FFI = struct {
const cb = JSC.NewRuntimeFunction(
global,
name,
- @intCast(u32, function.arg_types.items.len),
+ @as(u32, @intCast(function.arg_types.items.len)),
bun.cast(JSC.JSHostFunctionPtr, compiled.ptr),
false,
);
@@ -523,7 +523,7 @@ pub const FFI = struct {
const int = val.to(i32);
switch (int) {
0...ABIType.max => {
- abi_types.appendAssumeCapacity(@enumFromInt(ABIType, int));
+ abi_types.appendAssumeCapacity(@as(ABIType, @enumFromInt(int)));
continue;
},
else => {
@@ -560,7 +560,7 @@ pub const FFI = struct {
const int = ret_value.toInt32();
switch (int) {
0...ABIType.max => {
- return_type = @enumFromInt(ABIType, int);
+ return_type = @as(ABIType, @enumFromInt(int));
break :brk;
},
else => {
@@ -594,11 +594,11 @@ pub const FFI = struct {
if (ptr.isNumber()) {
const num = ptr.asPtrAddress();
if (num > 0)
- function.symbol_from_dynamic_library = @ptrFromInt(*anyopaque, num);
+ function.symbol_from_dynamic_library = @as(*anyopaque, @ptrFromInt(num));
} else {
const num = ptr.toUInt64NoTruncate();
if (num > 0) {
- function.symbol_from_dynamic_library = @ptrFromInt(*anyopaque, num);
+ function.symbol_from_dynamic_library = @as(*anyopaque, @ptrFromInt(num));
}
}
}
@@ -831,7 +831,7 @@ pub const FFI = struct {
return;
}
- var bytes: []u8 = try allocator.alloc(u8, @intCast(usize, relocation_size));
+ var bytes: []u8 = try allocator.alloc(u8, @as(usize, @intCast(relocation_size)));
defer {
if (this.step == .failed) {
allocator.free(bytes);
@@ -1001,7 +1001,7 @@ pub const FFI = struct {
return;
}
- var bytes: []u8 = try allocator.alloc(u8, @intCast(usize, relocation_size));
+ var bytes: []u8 = try allocator.alloc(u8, @as(usize, @intCast(relocation_size)));
defer {
if (this.step == .failed) {
allocator.free(bytes);
diff --git a/src/bun.js/api/html_rewriter.zig b/src/bun.js/api/html_rewriter.zig
index b309e07d7..651db981b 100644
--- a/src/bun.js/api/html_rewriter.zig
+++ b/src/bun.js/api/html_rewriter.zig
@@ -1874,7 +1874,7 @@ pub const Element = struct {
AttributeIterator.getAttributeIteratorJSClass(globalObject).asObjectRef(),
null,
1,
- @ptrCast([*]JSC.C.JSObjectRef, &attr),
+ @as([*]JSC.C.JSObjectRef, @ptrCast(&attr)),
null,
),
);
diff --git a/src/bun.js/api/server.zig b/src/bun.js/api/server.zig
index 63e83d9bf..fbf22678b 100644
--- a/src/bun.js/api/server.zig
+++ b/src/bun.js/api/server.zig
@@ -170,7 +170,7 @@ pub const ServerConfig = struct {
pub fn asUSockets(this_: ?SSLConfig) uws.us_bun_socket_context_options_t {
var ctx_opts: uws.us_bun_socket_context_options_t = undefined;
- @memset(@ptrCast([*]u8, &ctx_opts)[0..@sizeOf(uws.us_bun_socket_context_options_t)], 0);
+ @memset(@as([*]u8, @ptrCast(&ctx_opts))[0..@sizeOf(uws.us_bun_socket_context_options_t)], 0);
if (this_) |ssl_config| {
if (ssl_config.key_file_name != null)
@@ -714,12 +714,12 @@ pub const ServerConfig = struct {
}
if (arg.getTruthy(global, "port")) |port_| {
- args.port = @intCast(
+ args.port = @as(
u16,
- @min(
+ @intCast(@min(
@max(0, port_.coerce(i32, global)),
std.math.maxInt(u16),
- ),
+ )),
);
}
@@ -783,7 +783,7 @@ pub const ServerConfig = struct {
if (arg.getTruthy(global, "maxRequestBodySize")) |max_request_body_size| {
if (max_request_body_size.isNumber()) {
- args.max_request_body_size = @intCast(u64, @max(0, max_request_body_size.toInt64()));
+ args.max_request_body_size = @as(u64, @intCast(@max(0, max_request_body_size.toInt64())));
}
}
@@ -1239,7 +1239,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
.reason = .fetch_event_handler,
.cwd = VirtualMachine.get().bundler.fs.top_level_dir,
.problems = Api.Problems{
- .code = @truncate(u16, @intFromError(err)),
+ .code = @as(u16, @truncate(@intFromError(err))),
.name = @errorName(err),
.exceptions = exceptions,
.build = log.toAPI(allocator) catch unreachable,
@@ -1641,19 +1641,19 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
const adjusted_count_temporary = @min(@as(u64, this.sendfile.remain), @as(u63, std.math.maxInt(u63)));
// TODO we should not need this int cast; improve the return type of `@min`
- const adjusted_count = @intCast(u63, adjusted_count_temporary);
+ const adjusted_count = @as(u63, @intCast(adjusted_count_temporary));
if (Environment.isLinux) {
- var signed_offset = @intCast(i64, this.sendfile.offset);
+ var signed_offset = @as(i64, @intCast(this.sendfile.offset));
const start = this.sendfile.offset;
const val =
// this does the syscall directly, without libc
linux.sendfile(this.sendfile.socket_fd, this.sendfile.fd, &signed_offset, this.sendfile.remain);
- this.sendfile.offset = @intCast(Blob.SizeType, signed_offset);
+ this.sendfile.offset = @as(Blob.SizeType, @intCast(signed_offset));
const errcode = linux.getErrno(val);
- this.sendfile.remain -|= @intCast(Blob.SizeType, this.sendfile.offset -| start);
+ this.sendfile.remain -|= @as(Blob.SizeType, @intCast(this.sendfile.offset -| start));
if (errcode != .SUCCESS or this.flags.aborted or this.sendfile.remain == 0 or val == 0) {
if (errcode != .AGAIN and errcode != .SUCCESS and errcode != .PIPE) {
@@ -1665,7 +1665,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
}
} else {
var sbytes: std.os.off_t = adjusted_count;
- const signed_offset = @bitCast(i64, @as(u64, this.sendfile.offset));
+ const signed_offset = @as(i64, @bitCast(@as(u64, this.sendfile.offset)));
const errcode = std.c.getErrno(std.c.sendfile(
this.sendfile.fd,
this.sendfile.socket_fd,
@@ -1675,7 +1675,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
null,
0,
));
- const wrote = @intCast(Blob.SizeType, sbytes);
+ const wrote = @as(Blob.SizeType, @intCast(sbytes));
this.sendfile.offset +|= wrote;
this.sendfile.remain -|= wrote;
if (errcode != .AGAIN or this.flags.aborted or this.sendfile.remain == 0 or sbytes == 0) {
@@ -1718,7 +1718,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
pub fn sendWritableBytesForBlob(this: *RequestContext, bytes_: []const u8, write_offset: c_ulong, resp: *App.Response) bool {
std.debug.assert(this.resp == resp);
- var bytes = bytes_[@min(bytes_.len, @truncate(usize, write_offset))..];
+ var bytes = bytes_[@min(bytes_.len, @as(usize, @truncate(write_offset)))..];
if (resp.tryEnd(bytes, bytes_.len, this.shouldCloseConnection())) {
this.finalize();
return true;
@@ -1732,7 +1732,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
pub fn sendWritableBytesForCompleteResponseBuffer(this: *RequestContext, bytes_: []const u8, write_offset: c_ulong, resp: *App.Response) bool {
std.debug.assert(this.resp == resp);
- var bytes = bytes_[@min(bytes_.len, @truncate(usize, write_offset))..];
+ var bytes = bytes_[@min(bytes_.len, @as(usize, @truncate(write_offset)))..];
if (resp.tryEnd(bytes, bytes_.len, this.shouldCloseConnection())) {
this.response_buf_owned.items.len = 0;
this.finalize();
@@ -1788,7 +1788,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
}
var err = JSC.Node.Syscall.Error{
- .errno = @intCast(JSC.Node.Syscall.Error.Int, @intFromEnum(std.os.E.INVAL)),
+ .errno = @as(JSC.Node.Syscall.Error.Int, @intCast(@intFromEnum(std.os.E.INVAL))),
.syscall = .sendfile,
};
var sys = err.withPathLike(file.pathlike).toSystemError();
@@ -1807,7 +1807,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
}
var err = JSC.Node.Syscall.Error{
- .errno = @intCast(JSC.Node.Syscall.Error.Int, @intFromEnum(std.os.E.INVAL)),
+ .errno = @as(JSC.Node.Syscall.Error.Int, @intCast(@intFromEnum(std.os.E.INVAL))),
.syscall = .sendfile,
};
var sys = err.withPathLike(file.pathlike).toSystemError();
@@ -1820,7 +1820,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
}
const original_size = this.blob.Blob.size;
- const stat_size = @intCast(Blob.SizeType, stat.size);
+ const stat_size = @as(Blob.SizeType, @intCast(stat.size));
this.blob.Blob.size = if (std.os.S.ISREG(stat.mode))
stat_size
else
@@ -1900,7 +1900,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
this.blob.Blob.resolveSize();
this.doRenderBlob();
} else {
- const stat_size = @intCast(Blob.SizeType, result.result.total_size);
+ const stat_size = @as(Blob.SizeType, @intCast(result.result.total_size));
const original_size = this.blob.Blob.size;
this.blob.Blob.size = if (original_size == 0 or original_size == Blob.max_size)
@@ -1913,8 +1913,8 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
// this is used by content-range
this.sendfile = .{
- .fd = @truncate(i32, bun.invalid_fd),
- .remain = @truncate(Blob.SizeType, result.result.buf.len),
+ .fd = @as(i32, @truncate(bun.invalid_fd)),
+ .remain = @as(Blob.SizeType, @truncate(result.result.buf.len)),
.offset = this.blob.Blob.offset,
.auto_close = false,
.socket_fd = -999,
@@ -1988,7 +1988,7 @@ fn NewRequestContext(comptime ssl_enabled: bool, comptime debug_mode: bool, comp
this.server.globalThis,
stream.value,
response_stream,
- @ptrCast(**anyopaque, &signal.ptr),
+ @as(**anyopaque, @ptrCast(&signal.ptr)),
);
assignment_result.ensureStillAlive();
@@ -3228,7 +3228,7 @@ pub const WebSocketServer = struct {
globalObject.throwInvalidArguments("websocket expects maxPayloadLength to be an integer", .{});
return null;
}
- server.maxPayloadLength = @intCast(u32, @max(value.toInt64(), 0));
+ server.maxPayloadLength = @as(u32, @intCast(@max(value.toInt64(), 0)));
}
}
@@ -3239,7 +3239,7 @@ pub const WebSocketServer = struct {
return null;
}
- var idleTimeout = @intCast(u16, @truncate(u32, @max(value.toInt64(), 0)));
+ var idleTimeout = @as(u16, @intCast(@as(u32, @truncate(@max(value.toInt64(), 0)))));
if (idleTimeout > 960) {
globalObject.throwInvalidArguments("websocket expects idleTimeout to be 960 or less", .{});
return null;
@@ -3259,7 +3259,7 @@ pub const WebSocketServer = struct {
return null;
}
- server.backpressureLimit = @intCast(u32, @max(value.toInt64(), 0));
+ server.backpressureLimit = @as(u32, @intCast(@max(value.toInt64(), 0)));
}
}
@@ -3683,7 +3683,7 @@ pub const ServerWebSocket = struct {
return JSValue.jsNumber(
// if 0, return 0
// else return number of bytes sent
- if (result) @intCast(i32, @truncate(u31, buffer.len)) else @as(i32, 0),
+ if (result) @as(i32, @intCast(@as(u31, @truncate(buffer.len)))) else @as(i32, 0),
);
}
@@ -3701,7 +3701,7 @@ pub const ServerWebSocket = struct {
return JSValue.jsNumber(
// if 0, return 0
// else return number of bytes sent
- if (result) @intCast(i32, @truncate(u31, buffer.len)) else @as(i32, 0),
+ if (result) @as(i32, @intCast(@as(u31, @truncate(buffer.len)))) else @as(i32, 0),
);
}
@@ -3762,7 +3762,7 @@ pub const ServerWebSocket = struct {
return JSValue.jsNumber(
// if 0, return 0
// else return number of bytes sent
- if (result) @intCast(i32, @truncate(u31, buffer.len)) else @as(i32, 0),
+ if (result) @as(i32, @intCast(@as(u31, @truncate(buffer.len)))) else @as(i32, 0),
);
}
@@ -3823,7 +3823,7 @@ pub const ServerWebSocket = struct {
return JSValue.jsNumber(
// if 0, return 0
// else return number of bytes sent
- if (result) @intCast(i32, @truncate(u31, buffer.len)) else @as(i32, 0),
+ if (result) @as(i32, @intCast(@as(u31, @truncate(buffer.len)))) else @as(i32, 0),
);
}
@@ -3863,7 +3863,7 @@ pub const ServerWebSocket = struct {
return JSValue.jsNumber(
// if 0, return 0
// else return number of bytes sent
- if (result) @intCast(i32, @truncate(u31, buffer.len)) else @as(i32, 0),
+ if (result) @as(i32, @intCast(@as(u31, @truncate(buffer.len)))) else @as(i32, 0),
);
}
@@ -3905,7 +3905,7 @@ pub const ServerWebSocket = struct {
return JSValue.jsNumber(
// if 0, return 0
// else return number of bytes sent
- if (result) @intCast(i32, @truncate(u31, buffer.len)) else @as(i32, 0),
+ if (result) @as(i32, @intCast(@as(u31, @truncate(buffer.len)))) else @as(i32, 0),
);
}
@@ -4596,7 +4596,7 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type {
return JSValue.jsNumber(
// if 0, return 0
// else return number of bytes sent
- @as(i32, @intFromBool(uws.AnyWebSocket.publishWithOptions(ssl_enabled, app, topic_slice.slice(), buffer.slice(), .binary, compress))) * @intCast(i32, @truncate(u31, buffer.len)),
+ @as(i32, @intFromBool(uws.AnyWebSocket.publishWithOptions(ssl_enabled, app, topic_slice.slice(), buffer.slice(), .binary, compress))) * @as(i32, @intCast(@as(u31, @truncate(buffer.len)))),
);
}
@@ -4608,7 +4608,7 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type {
return JSValue.jsNumber(
// if 0, return 0
// else return number of bytes sent
- @as(i32, @intFromBool(uws.AnyWebSocket.publishWithOptions(ssl_enabled, app, topic_slice.slice(), buffer, .text, compress))) * @intCast(i32, @truncate(u31, buffer.len)),
+ @as(i32, @intFromBool(uws.AnyWebSocket.publishWithOptions(ssl_enabled, app, topic_slice.slice(), buffer, .text, compress))) * @as(i32, @intCast(@as(u31, @truncate(buffer.len)))),
);
}
@@ -4739,7 +4739,7 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type {
// See https://github.com/oven-sh/bun/issues/1339
// obviously invalid pointer marks it as used
- upgrader.upgrade_context = @ptrFromInt(*uws.uws_socket_context_s, std.math.maxInt(usize));
+ upgrader.upgrade_context = @as(*uws.uws_socket_context_s, @ptrFromInt(std.math.maxInt(usize)));
request.upgrader = null;
resp.clearAborted();
@@ -4961,11 +4961,11 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type {
}
pub fn getPendingRequests(this: *ThisServer) JSC.JSValue {
- return JSC.JSValue.jsNumber(@intCast(i32, @truncate(u31, this.pending_requests)));
+ return JSC.JSValue.jsNumber(@as(i32, @intCast(@as(u31, @truncate(this.pending_requests)))));
}
pub fn getPendingWebSockets(this: *ThisServer) JSC.JSValue {
- return JSC.JSValue.jsNumber(@intCast(i32, @truncate(u31, this.activeSocketsCount())));
+ return JSC.JSValue.jsNumber(@as(i32, @intCast(@as(u31, @truncate(this.activeSocketsCount())))));
}
pub fn getHostname(this: *ThisServer, globalThis: *JSGlobalObject) JSC.JSValue {
@@ -5001,7 +5001,7 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type {
pub fn activeSocketsCount(this: *const ThisServer) u32 {
const websocket = &(this.config.websocket orelse return 0);
- return @truncate(u32, websocket.handler.active_connections);
+ return @as(u32, @truncate(websocket.handler.active_connections));
}
pub fn hasActiveWebSockets(this: *const ThisServer) bool {
diff --git a/src/bun.js/base.zig b/src/bun.js/base.zig
index 535c08395..f7b2eb343 100644
--- a/src/bun.js/base.zig
+++ b/src/bun.js/base.zig
@@ -272,7 +272,7 @@ pub const To = struct {
if (value.len <= prefill) {
var array: [prefill]JSC.C.JSValueRef = undefined;
var i: u8 = 0;
- const len = @min(@intCast(u8, value.len), prefill);
+ const len = @min(@as(u8, @intCast(value.len)), prefill);
while (i < len and exception.* == null) : (i += 1) {
array[i] = if (comptime Child == JSC.C.JSValueRef)
value[i]
@@ -1294,7 +1294,7 @@ pub fn NewClassWithInstanceType(
@memset(
&props,
js.JSStaticValue{
- .name = @ptrFromInt([*c]const u8, 0),
+ .name = @as([*c]const u8, @ptrFromInt(0)),
.getProperty = null,
.setProperty = null,
.attributes = js.JSPropertyAttributes.kJSPropertyAttributeNone,
@@ -1311,7 +1311,7 @@ pub fn NewClassWithInstanceType(
.name = lit ++ .{0},
.getProperty = null,
.setProperty = null,
- .attributes = @enumFromInt(js.JSPropertyAttributes, 0),
+ .attributes = @as(js.JSPropertyAttributes, @enumFromInt(0)),
};
static_prop.getProperty = StaticProperty(i).getter;
@@ -1423,7 +1423,7 @@ pub fn NewClassWithInstanceType(
PointerType,
if (@typeInfo(@TypeOf(ctxfn)) == .Pointer) ctxfn.* else ctxfn,
).rfn,
- .attributes = @enumFromInt(js.JSPropertyAttributes, attributes),
+ .attributes = @as(js.JSPropertyAttributes, @enumFromInt(attributes)),
};
count += 1;
@@ -1447,7 +1447,7 @@ pub fn NewClassWithInstanceType(
if (is_read_only)
base |= @intFromEnum(js.JSPropertyAttributes.kJSPropertyAttributeReadOnly);
- break :brk @enumFromInt(js.JSPropertyAttributes, base);
+ break :brk @as(js.JSPropertyAttributes, @enumFromInt(base));
};
__static_functions[count] = js.JSStaticFunction{
@@ -1810,7 +1810,7 @@ pub const ArrayBuffer = extern struct {
}
pub fn fromBytes(bytes: []u8, typed_array_type: JSC.JSValue.JSType) ArrayBuffer {
- return ArrayBuffer{ .offset = 0, .len = @intCast(u32, bytes.len), .byte_len = @intCast(u32, bytes.len), .typed_array_type = typed_array_type, .ptr = bytes.ptr };
+ return ArrayBuffer{ .offset = 0, .len = @as(u32, @intCast(bytes.len)), .byte_len = @as(u32, @intCast(bytes.len)), .typed_array_type = typed_array_type, .ptr = bytes.ptr };
}
pub fn toJSUnchecked(this: ArrayBuffer, ctx: JSC.C.JSContextRef, exception: JSC.C.ExceptionRef) JSC.JSValue {
@@ -1838,7 +1838,7 @@ pub const ArrayBuffer = extern struct {
this.ptr,
this.byte_len,
MarkedArrayBuffer_deallocator,
- @ptrFromInt(*anyopaque, @intFromPtr(&bun.default_allocator)),
+ @as(*anyopaque, @ptrFromInt(@intFromPtr(&bun.default_allocator))),
exception,
));
}
@@ -1849,7 +1849,7 @@ pub const ArrayBuffer = extern struct {
this.ptr,
this.byte_len,
MarkedArrayBuffer_deallocator,
- @ptrFromInt(*anyopaque, @intFromPtr(&bun.default_allocator)),
+ @as(*anyopaque, @ptrFromInt(@intFromPtr(&bun.default_allocator))),
exception,
));
}
@@ -1942,15 +1942,15 @@ pub const ArrayBuffer = extern struct {
pub const slice = byteSlice;
pub inline fn asU16(this: *const @This()) []u16 {
- return std.mem.bytesAsSlice(u16, @alignCast(@alignOf([*]u16), this.ptr[this.offset..this.byte_len]));
+ return std.mem.bytesAsSlice(u16, @as([*]u16, @alignCast(this.ptr))[this.offset..this.byte_len]);
}
pub inline fn asU16Unaligned(this: *const @This()) []align(1) u16 {
- return std.mem.bytesAsSlice(u16, @alignCast(@alignOf([*]align(1) u16), this.ptr[this.offset..this.byte_len]));
+ return std.mem.bytesAsSlice(u16, @as([*]align(1) u16, @alignCast(this.ptr))[this.offset..this.byte_len]);
}
pub inline fn asU32(this: *const @This()) []u32 {
- return std.mem.bytesAsSlice(u32, @alignCast(@alignOf([*]u32), this.ptr)[this.offset..this.byte_len]);
+ return std.mem.bytesAsSlice(u32, @as([*]u32, @alignCast(this.ptr))[this.offset..this.byte_len]);
}
};
@@ -3363,7 +3363,7 @@ pub const FilePoll = struct {
const DNSResolver = JSC.DNS.DNSResolver;
const GetAddrInfoRequest = JSC.DNS.GetAddrInfoRequest;
const Deactivated = opaque {
- pub var owner: Owner = Owner.init(@ptrFromInt(*Deactivated, @as(usize, 0xDEADBEEF)));
+ pub var owner: Owner = Owner.init(@as(*Deactivated, @ptrFromInt(@as(usize, 0xDEADBEEF))));
};
pub const Owner = bun.TaggedPointerUnion(.{
@@ -3656,7 +3656,7 @@ pub const FilePoll = struct {
pub fn initWithOwner(vm: *JSC.VirtualMachine, fd: bun.FileDescriptor, flags: Flags.Struct, owner: Owner) *FilePoll {
var poll = vm.rareData().filePolls(vm).get();
- poll.fd = @intCast(u32, fd);
+ poll.fd = @as(u32, @intCast(fd));
poll.flags = Flags.Set.init(flags);
poll.owner = owner;
if (KQueueGenerationNumber != u0) {
@@ -3701,9 +3701,9 @@ pub const FilePoll = struct {
var file_poll = tag.as(FilePoll);
if (comptime Environment.isMac)
- onKQueueEvent(file_poll, loop, &loop.ready_polls[@intCast(usize, loop.current_ready_poll)])
+ onKQueueEvent(file_poll, loop, &loop.ready_polls[@as(usize, @intCast(loop.current_ready_poll))])
else if (comptime Environment.isLinux)
- onEpollEvent(file_poll, loop, &loop.ready_polls[@intCast(usize, loop.current_ready_poll)]);
+ onEpollEvent(file_poll, loop, &loop.ready_polls[@as(usize, @intCast(loop.current_ready_poll))]);
}
const Pollable = bun.TaggedPointerUnion(
@@ -3751,7 +3751,7 @@ pub const FilePoll = struct {
const ctl = linux.epoll_ctl(
watcher_fd,
if (this.isRegistered() or this.flags.contains(.needs_rearm)) linux.EPOLL.CTL_MOD else linux.EPOLL.CTL_ADD,
- @intCast(std.os.fd_t, fd),
+ @as(std.os.fd_t, @intCast(fd)),
&event,
);
@@ -3763,7 +3763,7 @@ pub const FilePoll = struct {
const one_shot_flag: u16 = if (!this.flags.contains(.one_shot)) 0 else std.c.EV_ONESHOT;
changelist[0] = switch (flag) {
.readable => .{
- .ident = @intCast(u64, fd),
+ .ident = @as(u64, @intCast(fd)),
.filter = std.os.system.EVFILT_READ,
.data = 0,
.fflags = 0,
@@ -3772,7 +3772,7 @@ pub const FilePoll = struct {
.ext = .{ this.generation_number, 0 },
},
.writable => .{
- .ident = @intCast(u64, fd),
+ .ident = @as(u64, @intCast(fd)),
.filter = std.os.system.EVFILT_WRITE,
.data = 0,
.fflags = 0,
@@ -3781,7 +3781,7 @@ pub const FilePoll = struct {
.ext = .{ this.generation_number, 0 },
},
.process => .{
- .ident = @intCast(u64, fd),
+ .ident = @as(u64, @intCast(fd)),
.filter = std.os.system.EVFILT_PROC,
.data = 0,
.fflags = std.c.NOTE_EXIT,
@@ -3790,7 +3790,7 @@ pub const FilePoll = struct {
.ext = .{ this.generation_number, 0 },
},
.machport => .{
- .ident = @intCast(u64, fd),
+ .ident = @as(u64, @intCast(fd)),
.filter = std.os.system.EVFILT_MACHPORT,
.data = 0,
.fflags = 0,
@@ -3903,7 +3903,7 @@ pub const FilePoll = struct {
const ctl = linux.epoll_ctl(
watcher_fd,
linux.EPOLL.CTL_DEL,
- @intCast(std.os.fd_t, fd),
+ @as(std.os.fd_t, @intCast(fd)),
null,
);
@@ -3915,7 +3915,7 @@ pub const FilePoll = struct {
changelist[0] = switch (flag) {
.readable => .{
- .ident = @intCast(u64, fd),
+ .ident = @as(u64, @intCast(fd)),
.filter = std.os.system.EVFILT_READ,
.data = 0,
.fflags = 0,
@@ -3924,7 +3924,7 @@ pub const FilePoll = struct {
.ext = .{ 0, 0 },
},
.machport => .{
- .ident = @intCast(u64, fd),
+ .ident = @as(u64, @intCast(fd)),
.filter = std.os.system.EVFILT_MACHPORT,
.data = 0,
.fflags = 0,
@@ -3933,7 +3933,7 @@ pub const FilePoll = struct {
.ext = .{ 0, 0 },
},
.writable => .{
- .ident = @intCast(u64, fd),
+ .ident = @as(u64, @intCast(fd)),
.filter = std.os.system.EVFILT_WRITE,
.data = 0,
.fflags = 0,
@@ -3942,7 +3942,7 @@ pub const FilePoll = struct {
.ext = .{ 0, 0 },
},
.process => .{
- .ident = @intCast(u64, fd),
+ .ident = @as(u64, @intCast(fd)),
.filter = std.os.system.EVFILT_PROC,
.data = 0,
.fflags = std.c.NOTE_EXIT,
diff --git a/src/bun.js/bindings/FFI.zig b/src/bun.js/bindings/FFI.zig
index fde4a8d30..9d16bd78e 100644
--- a/src/bun.js/bindings/FFI.zig
+++ b/src/bun.js/bindings/FFI.zig
@@ -18,41 +18,41 @@ pub const union_EncodedJSValue = extern union {
};
pub const EncodedJSValue = union_EncodedJSValue;
pub export var ValueUndefined: EncodedJSValue = EncodedJSValue{
- .asInt64 = @bitCast(i64, @as(c_longlong, @as(c_int, 2) | @as(c_int, 8))),
+ .asInt64 = @as(i64, @bitCast(@as(c_longlong, @as(c_int, 2) | @as(c_int, 8)))),
};
pub export var ValueTrue: EncodedJSValue = EncodedJSValue{
- .asInt64 = @bitCast(i64, @as(c_longlong, (@as(c_int, 2) | @as(c_int, 4)) | @as(c_int, 1))),
+ .asInt64 = @as(i64, @bitCast(@as(c_longlong, (@as(c_int, 2) | @as(c_int, 4)) | @as(c_int, 1)))),
};
pub const JSContext = ?*anyopaque;
pub inline fn JSVALUE_IS_CELL(arg_val: EncodedJSValue) bool {
const val = arg_val;
- return !(((@bitCast(c_ulonglong, val.asInt64) & @as(c_ulonglong, 18446181123756130304)) | @bitCast(c_ulonglong, @as(c_longlong, @as(c_int, 2)))) != 0);
+ return !(((@as(c_ulonglong, @bitCast(val.asInt64)) & @as(c_ulonglong, 18446181123756130304)) | @as(c_ulonglong, @bitCast(@as(c_longlong, @as(c_int, 2))))) != 0);
}
pub inline fn JSVALUE_IS_INT32(arg_val: EncodedJSValue) @"bool" {
const val = arg_val;
- return (@bitCast(c_ulonglong, val.asInt64) & @as(c_ulonglong, 18446181123756130304)) == @as(c_ulonglong, 18446181123756130304);
+ return (@as(c_ulonglong, @bitCast(val.asInt64)) & @as(c_ulonglong, 18446181123756130304)) == @as(c_ulonglong, 18446181123756130304);
}
pub inline fn JSVALUE_IS_NUMBER(arg_val: EncodedJSValue) @"bool" {
const val = arg_val;
- return (@bitCast(c_ulonglong, val.asInt64) & @as(c_ulonglong, 18446181123756130304)) != 0;
+ return (@as(c_ulonglong, @bitCast(val.asInt64)) & @as(c_ulonglong, 18446181123756130304)) != 0;
}
pub inline fn JSVALUE_TO_UINT64(arg_value: EncodedJSValue) u64 {
var value = arg_value;
if (JSVALUE_IS_INT32(value)) {
- return @bitCast(u64, @as(c_longlong, JSVALUE_TO_INT32(value)));
+ return @as(u64, @bitCast(@as(c_longlong, JSVALUE_TO_INT32(value))));
}
if (JSVALUE_IS_NUMBER(value)) {
- return @intFromFloat(u64, JSVALUE_TO_DOUBLE(value));
+ return @as(u64, @intFromFloat(JSVALUE_TO_DOUBLE(value)));
}
return JSVALUE_TO_UINT64_SLOW(value);
}
pub inline fn JSVALUE_TO_INT64(arg_value: EncodedJSValue) i64 {
const value = arg_value;
if (JSVALUE_IS_INT32(value)) {
- return @bitCast(i64, @as(c_longlong, JSVALUE_TO_INT32(value)));
+ return @as(i64, @bitCast(@as(c_longlong, JSVALUE_TO_INT32(value))));
}
if (JSVALUE_IS_NUMBER(value)) {
- return @intFromFloat(i64, JSVALUE_TO_DOUBLE(value));
+ return @as(i64, @intFromFloat(JSVALUE_TO_DOUBLE(value)));
}
return JSVALUE_TO_INT64_SLOW(value);
}
@@ -63,69 +63,69 @@ pub const INT64_TO_JSVALUE_SLOW = @import("./bindings.zig").JSValue.fromInt64NoT
pub inline fn UINT64_TO_JSVALUE(arg_globalObject: ?*anyopaque, arg_val: u64) EncodedJSValue {
var globalObject = arg_globalObject;
const val = arg_val;
- if (val < @bitCast(c_ulonglong, @as(c_longlong, @as(c_long, 2147483648)))) {
- return INT32_TO_JSVALUE(@bitCast(i32, @truncate(c_uint, val)));
+ if (val < @as(c_ulonglong, @bitCast(@as(c_longlong, @as(c_long, 2147483648))))) {
+ return INT32_TO_JSVALUE(@as(i32, @bitCast(@as(c_uint, @truncate(val)))));
}
- if (val < @bitCast(c_ulonglong, @as(c_longlong, @as(c_long, 9007199254740991)))) {
- return DOUBLE_TO_JSVALUE(@floatFromInt(f64, val));
+ if (val < @as(c_ulonglong, @bitCast(@as(c_longlong, @as(c_long, 9007199254740991))))) {
+ return DOUBLE_TO_JSVALUE(@as(f64, @floatFromInt(val)));
}
- return UINT64_TO_JSVALUE_SLOW(@ptrCast(*@import("./bindings.zig").JSGlobalObject, globalObject.?), val).asEncoded();
+ return UINT64_TO_JSVALUE_SLOW(@as(*@import("./bindings.zig").JSGlobalObject, @ptrCast(globalObject.?)), val).asEncoded();
}
pub inline fn INT64_TO_JSVALUE(arg_globalObject: ?*anyopaque, arg_val: i64) EncodedJSValue {
var globalObject = arg_globalObject;
var val = arg_val;
- if ((val >= @bitCast(c_longlong, @as(c_longlong, -@as(c_long, 2147483648)))) and (val <= @bitCast(c_longlong, @as(c_longlong, @as(c_long, 2147483648))))) {
- return INT32_TO_JSVALUE(@bitCast(i32, @truncate(c_int, val)));
+ if ((val >= @as(c_longlong, @bitCast(@as(c_longlong, -@as(c_long, 2147483648))))) and (val <= @as(c_longlong, @bitCast(@as(c_longlong, @as(c_long, 2147483648)))))) {
+ return INT32_TO_JSVALUE(@as(i32, @bitCast(@as(c_int, @truncate(val)))));
}
- if ((val >= @bitCast(c_longlong, @as(c_longlong, -@as(c_long, 9007199254740991)))) and (val <= @bitCast(c_longlong, @as(c_longlong, @as(c_long, 9007199254740991))))) {
- return DOUBLE_TO_JSVALUE(@floatFromInt(f64, val));
+ if ((val >= @as(c_longlong, @bitCast(@as(c_longlong, -@as(c_long, 9007199254740991))))) and (val <= @as(c_longlong, @bitCast(@as(c_longlong, @as(c_long, 9007199254740991)))))) {
+ return DOUBLE_TO_JSVALUE(@as(f64, @floatFromInt(val)));
}
- return INT64_TO_JSVALUE_SLOW(@ptrCast(*@import("./bindings.zig").JSGlobalObject, globalObject.?), val).asEncoded();
+ return INT64_TO_JSVALUE_SLOW(@as(*@import("./bindings.zig").JSGlobalObject, @ptrCast(globalObject.?)), val).asEncoded();
}
pub inline fn INT32_TO_JSVALUE(arg_val: i32) EncodedJSValue {
- return .{ .asInt64 = @bitCast(i64, @as(c_ulonglong, 18446181123756130304) | @bitCast(c_ulonglong, @as(c_ulonglong, @bitCast(u32, arg_val)))) };
+ return .{ .asInt64 = @as(i64, @bitCast(@as(c_ulonglong, 18446181123756130304) | @as(c_ulonglong, @bitCast(@as(c_ulonglong, @as(u32, @bitCast(arg_val))))))) };
}
pub inline fn DOUBLE_TO_JSVALUE(arg_val: f64) EncodedJSValue {
var res: EncodedJSValue = .{ .asDouble = arg_val };
- res.asInt64 += @as(c_longlong, 1) << @intCast(@import("std").math.Log2Int(c_longlong), 49);
+ res.asInt64 += @as(c_longlong, 1) << @as(@import("std").math.Log2Int(c_longlong), @intCast(49));
return res;
}
pub inline fn FLOAT_TO_JSVALUE(arg_val: f32) EncodedJSValue {
var val = arg_val;
- return DOUBLE_TO_JSVALUE(@floatCast(f64, val));
+ return DOUBLE_TO_JSVALUE(@as(f64, @floatCast(val)));
}
pub inline fn BOOLEAN_TO_JSVALUE(arg_val: @"bool") EncodedJSValue {
var val = arg_val;
var res: EncodedJSValue = undefined;
- res.asInt64 = @bitCast(i64, @as(c_longlong, if (@as(c_int, @intFromBool(val)) != 0) (@as(c_int, 2) | @as(c_int, 4)) | @as(c_int, 1) else (@as(c_int, 2) | @as(c_int, 4)) | @as(c_int, 0)));
+ res.asInt64 = @as(i64, @bitCast(@as(c_longlong, if (@as(c_int, @intFromBool(val)) != 0) (@as(c_int, 2) | @as(c_int, 4)) | @as(c_int, 1) else (@as(c_int, 2) | @as(c_int, 4)) | @as(c_int, 0))));
return res;
}
pub inline fn PTR_TO_JSVALUE(arg_ptr: ?*anyopaque) EncodedJSValue {
var ptr = arg_ptr;
var val: EncodedJSValue = undefined;
- val.asInt64 = @intCast(i64, @intFromPtr(ptr)) + (@as(c_longlong, 1) << @intCast(@import("std").math.Log2Int(c_longlong), 49));
+ val.asInt64 = @as(i64, @intCast(@intFromPtr(ptr))) + (@as(c_longlong, 1) << @as(@import("std").math.Log2Int(c_longlong), @intCast(49)));
return val;
}
pub inline fn JSVALUE_TO_PTR(arg_val: EncodedJSValue) ?*anyopaque {
var val = arg_val;
- return @ptrFromInt(?*anyopaque, val.asInt64 - (@as(c_longlong, 1) << @intCast(@import("std").math.Log2Int(c_longlong), 49)));
+ return @as(?*anyopaque, @ptrFromInt(val.asInt64 - (@as(c_longlong, 1) << @as(@import("std").math.Log2Int(c_longlong), @intCast(49)))));
}
pub inline fn JSVALUE_TO_INT32(arg_val: EncodedJSValue) i32 {
var val = arg_val;
- return @bitCast(i32, @truncate(c_int, val.asInt64));
+ return @as(i32, @bitCast(@as(c_int, @truncate(val.asInt64))));
}
pub inline fn JSVALUE_TO_FLOAT(arg_val: EncodedJSValue) f32 {
var val = arg_val;
- return @floatCast(f32, JSVALUE_TO_DOUBLE(val));
+ return @as(f32, @floatCast(JSVALUE_TO_DOUBLE(val)));
}
pub inline fn JSVALUE_TO_DOUBLE(arg_val: EncodedJSValue) f64 {
var val = arg_val;
- val.asInt64 -= comptime @as(c_longlong, 1) << @intCast(@import("std").math.Log2Int(c_longlong), 49);
+ val.asInt64 -= comptime @as(c_longlong, 1) << @as(@import("std").math.Log2Int(c_longlong), @intCast(49));
return val.asDouble;
}
pub inline fn JSVALUE_TO_BOOL(arg_val: EncodedJSValue) @"bool" {
var val = arg_val;
- return val.asInt64 == @bitCast(c_longlong, @as(c_longlong, (@as(c_int, 2) | @as(c_int, 4)) | @as(c_int, 1)));
+ return val.asInt64 == @as(c_longlong, @bitCast(@as(c_longlong, (@as(c_int, 2) | @as(c_int, 4)) | @as(c_int, 1))));
}
pub extern fn JSFunctionCall(globalObject: ?*anyopaque, callFrame: ?*anyopaque) ?*anyopaque;
pub const __block = @compileError("unable to translate macro: undefined identifier `__attribute__`"); // (no file):27:9
diff --git a/src/bun.js/bindings/bindings.zig b/src/bun.js/bindings/bindings.zig
index 5b627552b..46f76d21d 100644
--- a/src/bun.js/bindings/bindings.zig
+++ b/src/bun.js/bindings/bindings.zig
@@ -48,7 +48,7 @@ pub const JSObject = extern struct {
pub fn Initializer(comptime Ctx: type, comptime func: fn (*Ctx, obj: *JSObject, global: *JSGlobalObject) void) type {
return struct {
pub fn call(this: ?*anyopaque, obj: [*c]JSObject, global: [*c]JSGlobalObject) callconv(.C) void {
- @call(.always_inline, func, .{ @ptrCast(*Ctx, @alignCast(@alignOf(*Ctx), this.?)), obj.?, global.? });
+ @call(.always_inline, func, .{ @as(*Ctx, @ptrCast(@alignCast(this.?))), obj.?, global.? });
}
};
}
@@ -166,7 +166,7 @@ pub const ZigString = extern struct {
return Slice{
.allocator = NullableAllocator.init(allocator),
.ptr = out.ptr,
- .len = @truncate(u32, out.len),
+ .len = @as(u32, @truncate(out.len)),
};
}
@@ -180,9 +180,9 @@ pub const ZigString = extern struct {
pub fn charAt(this: ZigString, offset: usize) u8 {
if (this.is16Bit()) {
- return @truncate(u8, this.utf16SliceAligned()[offset]);
+ return @as(u8, @truncate(this.utf16SliceAligned()[offset]));
} else {
- return @truncate(u8, this.slice()[offset]);
+ return @as(u8, @truncate(this.slice()[offset]));
}
}
@@ -390,7 +390,7 @@ pub const ZigString = extern struct {
}
pub fn markStatic(this: *ZigString) void {
- this.ptr = @ptrFromInt([*]const u8, @intFromPtr(this.ptr) | (1 << 60));
+ this.ptr = @as([*]const u8, @ptrFromInt(@intFromPtr(this.ptr) | (1 << 60)));
}
pub fn isStatic(this: *const ZigString) bool {
@@ -405,7 +405,7 @@ pub const ZigString = extern struct {
pub fn init(allocator: std.mem.Allocator, input: []const u8) Slice {
return .{
.ptr = input.ptr,
- .len = @truncate(u32, input.len),
+ .len = @as(u32, @truncate(input.len)),
.allocator = NullableAllocator.init(allocator),
};
}
@@ -425,7 +425,7 @@ pub const ZigString = extern struct {
pub fn from(input: []u8, allocator: std.mem.Allocator) Slice {
return .{
.ptr = input.ptr,
- .len = @truncate(u32, input.len),
+ .len = @as(u32, @truncate(input.len)),
.allocator = NullableAllocator.init(allocator),
};
}
@@ -433,7 +433,7 @@ pub const ZigString = extern struct {
pub fn fromUTF8NeverFree(input: []const u8) Slice {
return .{
.ptr = input.ptr,
- .len = @truncate(u32, input.len),
+ .len = @as(u32, @truncate(input.len)),
.allocator = .{},
};
}
@@ -464,7 +464,7 @@ pub const ZigString = extern struct {
pub fn cloneWithTrailingSlash(this: Slice, allocator: std.mem.Allocator) !Slice {
var buf = try strings.cloneNormalizingSeparators(allocator, this.slice());
- return Slice{ .allocator = NullableAllocator.init(allocator), .ptr = buf.ptr, .len = @truncate(u32, buf.len) };
+ return Slice{ .allocator = NullableAllocator.init(allocator), .ptr = buf.ptr, .len = @as(u32, @truncate(buf.len)) };
}
pub fn cloneZ(this: Slice, allocator: std.mem.Allocator) !Slice {
@@ -503,7 +503,7 @@ pub const ZigString = extern struct {
}
pub fn mut(this: Slice) []u8 {
- return @ptrFromInt([*]u8, @intFromPtr(this.ptr))[0..this.len];
+ return @as([*]u8, @ptrFromInt(@intFromPtr(this.ptr)))[0..this.len];
}
/// Does nothing if the slice is not allocated
@@ -534,7 +534,7 @@ pub const ZigString = extern struct {
}
}
- return @ptrCast([*]align(1) const u16, untagged(this._unsafe_ptr_do_not_use))[0..this.len];
+ return @as([*]align(1) const u16, @ptrCast(untagged(this._unsafe_ptr_do_not_use)))[0..this.len];
}
pub inline fn utf16SliceAligned(this: *const ZigString) []const u16 {
@@ -544,7 +544,7 @@ pub const ZigString = extern struct {
}
}
- return @ptrCast([*]const u16, @alignCast(@alignOf(u16), untagged(this._unsafe_ptr_do_not_use)))[0..this.len];
+ return @as([*]const u16, @ptrCast(@alignCast(untagged(this._unsafe_ptr_do_not_use))))[0..this.len];
}
pub inline fn isEmpty(this: *const ZigString) bool {
@@ -634,7 +634,7 @@ pub const ZigString = extern struct {
/// Globally-allocated memory only
pub fn from16(slice_: [*]const u16, len: usize) ZigString {
- var str = init(@ptrCast([*]const u8, slice_)[0..len]);
+ var str = init(@as([*]const u8, @ptrCast(slice_))[0..len]);
str.markUTF16();
str.mark();
str.assertGlobal();
@@ -665,11 +665,11 @@ pub const ZigString = extern struct {
}
pub fn markUTF8(this: *ZigString) void {
- this._unsafe_ptr_do_not_use = @ptrFromInt([*]const u8, @intFromPtr(this._unsafe_ptr_do_not_use) | (1 << 61));
+ this._unsafe_ptr_do_not_use = @as([*]const u8, @ptrFromInt(@intFromPtr(this._unsafe_ptr_do_not_use) | (1 << 61)));
}
pub fn markUTF16(this: *ZigString) void {
- this._unsafe_ptr_do_not_use = @ptrFromInt([*]const u8, @intFromPtr(this._unsafe_ptr_do_not_use) | (1 << 63));
+ this._unsafe_ptr_do_not_use = @as([*]const u8, @ptrFromInt(@intFromPtr(this._unsafe_ptr_do_not_use) | (1 << 63)));
}
pub fn setOutputEncoding(this: *ZigString) void {
@@ -688,7 +688,7 @@ pub const ZigString = extern struct {
pub const mark = markGlobal;
pub inline fn markGlobal(this: *ZigString) void {
- this._unsafe_ptr_do_not_use = @ptrFromInt([*]const u8, @intFromPtr(this._unsafe_ptr_do_not_use) | (1 << 62));
+ this._unsafe_ptr_do_not_use = @as([*]const u8, @ptrFromInt(@intFromPtr(this._unsafe_ptr_do_not_use) | (1 << 62)));
}
pub fn format(self: ZigString, comptime _: []const u8, _: std.fmt.FormatOptions, writer: anytype) !void {
@@ -714,7 +714,7 @@ pub const ZigString = extern struct {
inline fn untagged(ptr: [*]const u8) [*]const u8 {
// this can be null ptr, so long as it's also a 0 length string
@setRuntimeSafety(false);
- return @ptrFromInt([*]const u8, @truncate(u53, @intFromPtr(ptr)));
+ return @as([*]const u8, @ptrFromInt(@as(u53, @truncate(@intFromPtr(ptr)))));
}
pub fn slice(this: *const ZigString) []const u8 {
@@ -738,14 +738,14 @@ pub const ZigString = extern struct {
var buffer = this.toOwnedSlice(allocator) catch unreachable;
return Slice{
.ptr = buffer.ptr,
- .len = @truncate(u32, buffer.len),
+ .len = @as(u32, @truncate(buffer.len)),
.allocator = NullableAllocator.init(allocator),
};
}
return Slice{
.ptr = untagged(this._unsafe_ptr_do_not_use),
- .len = @truncate(u32, this.len),
+ .len = @as(u32, @truncate(this.len)),
};
}
@@ -759,7 +759,7 @@ pub const ZigString = extern struct {
return Slice{
.allocator = NullableAllocator.init(allocator),
.ptr = buffer.ptr,
- .len = @truncate(u32, buffer.len),
+ .len = @as(u32, @truncate(buffer.len)),
};
}
@@ -768,13 +768,13 @@ pub const ZigString = extern struct {
return Slice{
.allocator = NullableAllocator.init(allocator),
.ptr = buffer.ptr,
- .len = @truncate(u32, buffer.len),
+ .len = @as(u32, @truncate(buffer.len)),
};
}
return Slice{
.ptr = untagged(this._unsafe_ptr_do_not_use),
- .len = @truncate(u32, this.len),
+ .len = @as(u32, @truncate(this.len)),
};
}
@@ -785,7 +785,7 @@ pub const ZigString = extern struct {
return Slice{
.allocator = NullableAllocator.init(allocator),
.ptr = buffer.ptr,
- .len = @truncate(u32, buffer.len),
+ .len = @as(u32, @truncate(buffer.len)),
};
}
@@ -797,14 +797,14 @@ pub const ZigString = extern struct {
var buffer = this.toOwnedSliceZ(allocator) catch unreachable;
return Slice{
.ptr = buffer.ptr,
- .len = @truncate(u32, buffer.len),
+ .len = @as(u32, @truncate(buffer.len)),
.allocator = NullableAllocator.init(allocator),
};
}
return Slice{
.ptr = untagged(this._unsafe_ptr_do_not_use),
- .len = @truncate(u32, this.len),
+ .len = @as(u32, @truncate(this.len)),
};
}
@@ -892,7 +892,7 @@ pub const ZigString = extern struct {
}
return if (this.is16Bit())
- C_API.JSStringCreateWithCharactersNoCopy(@ptrCast([*]const u16, @alignCast(@alignOf([*]const u16), untagged(this._unsafe_ptr_do_not_use))), this.len)
+ C_API.JSStringCreateWithCharactersNoCopy(@as([*]const u16, @ptrCast(@alignCast(untagged(this._unsafe_ptr_do_not_use)))), this.len)
else
C_API.JSStringCreateStatic(untagged(this._unsafe_ptr_do_not_use), this.len);
}
@@ -1019,7 +1019,7 @@ pub const DOMFormData = opaque {
const Wrapper = struct {
const cb = callback;
pub fn run(c: *anyopaque, str: *ZigString) callconv(.C) void {
- cb(@ptrCast(Ctx, c), str.*);
+ cb(@as(Ctx, @ptrCast(c)), str.*);
}
};
@@ -1631,11 +1631,11 @@ pub const Sizes = @import("../bindings/sizes.zig");
pub const JSUint8Array = opaque {
pub const name = "Uint8Array_alias";
pub fn ptr(this: *JSUint8Array) [*]u8 {
- return @ptrFromInt(*[*]u8, @intFromPtr(this) + Sizes.Bun_FFI_PointerOffsetToTypedArrayVector).*;
+ return @as(*[*]u8, @ptrFromInt(@intFromPtr(this) + Sizes.Bun_FFI_PointerOffsetToTypedArrayVector)).*;
}
pub fn len(this: *JSUint8Array) usize {
- return @ptrFromInt(*usize, @intFromPtr(this) + Sizes.Bun_FFI_PointerOffsetToTypedArrayLength).*;
+ return @as(*usize, @ptrFromInt(@intFromPtr(this) + Sizes.Bun_FFI_PointerOffsetToTypedArrayLength)).*;
}
pub fn slice(this: *JSUint8Array) []u8 {
@@ -1876,7 +1876,7 @@ pub fn PromiseCallback(comptime Type: type, comptime CallbackFunction: fn (*Type
arguments: [*]const JSValue,
arguments_len: usize,
) callconv(.C) JSValue {
- return CallbackFunction(@ptrCast(*Type, @alignCast(@alignOf(*Type), ctx.?)), globalThis, arguments[0..arguments_len]) catch |err| brk: {
+ return CallbackFunction(@as(*Type, @ptrCast(@alignCast(ctx.?))), globalThis, arguments[0..arguments_len]) catch |err| brk: {
break :brk ZigString.init(bun.asByteSlice(@errorName(err))).toErrorInstance(globalThis);
};
}
@@ -1907,7 +1907,7 @@ pub const AbortSignal = extern opaque {
}
};
- return this.addListener(@ptrCast(?*anyopaque, ctx), Wrapper.callback);
+ return this.addListener(@as(?*anyopaque, @ptrCast(ctx)), Wrapper.callback);
}
pub fn addListener(
@@ -2824,7 +2824,7 @@ pub const JSGlobalObject = extern struct {
const cppFn = shim.cppFn;
pub fn ref(this: *JSGlobalObject) C_API.JSContextRef {
- return @ptrCast(C_API.JSContextRef, this);
+ return @as(C_API.JSContextRef, @ptrCast(this));
}
pub const ctx = ref;
@@ -2866,16 +2866,16 @@ pub const JSGlobalObject = extern struct {
// you most likely need to run
// make clean-jsc-bindings
// make bindings -j10
- const assertion = this.bunVM_() == @ptrCast(*anyopaque, JSC.VirtualMachine.get());
+ const assertion = this.bunVM_() == @as(*anyopaque, @ptrCast(JSC.VirtualMachine.get()));
if (!assertion) @breakpoint();
std.debug.assert(assertion);
}
- return @ptrCast(*JSC.VirtualMachine, @alignCast(std.meta.alignment(JSC.VirtualMachine), this.bunVM_()));
+ return @as(*JSC.VirtualMachine, @ptrCast(@alignCast(this.bunVM_())));
}
/// We can't do the threadlocal check when queued from another thread
pub fn bunVMConcurrently(this: *JSGlobalObject) *JSC.VirtualMachine {
- return @ptrCast(*JSC.VirtualMachine, @alignCast(@alignOf(JSC.VirtualMachine), this.bunVM_()));
+ return @as(*JSC.VirtualMachine, @ptrCast(@alignCast(this.bunVM_())));
}
pub fn handleRejectedPromises(this: *JSGlobalObject) void {
@@ -2943,7 +2943,7 @@ pub const JSArrayIterator = struct {
return .{
.array = value,
.global = global,
- .len = @truncate(u32, value.getLength(global)),
+ .len = @as(u32, @truncate(value.getLength(global))),
};
}
@@ -3014,10 +3014,10 @@ pub const JSMap = opaque {
pub const JSValueReprInt = i64;
pub const JSValue = enum(JSValueReprInt) {
zero = 0,
- undefined = @bitCast(JSValueReprInt, @as(i64, 0xa)),
- null = @bitCast(JSValueReprInt, @as(i64, 0x2)),
- true = @bitCast(JSValueReprInt, @as(i64, 0x4)),
- false = @bitCast(JSValueReprInt, @as(i64, 0x6)),
+ undefined = @as(JSValueReprInt, @bitCast(@as(i64, 0xa))),
+ null = @as(JSValueReprInt, @bitCast(@as(i64, 0x2))),
+ true = @as(JSValueReprInt, @bitCast(@as(i64, 0x4))),
+ false = @as(JSValueReprInt, @bitCast(@as(i64, 0x6))),
_,
pub const Type = JSValueReprInt;
@@ -3361,7 +3361,7 @@ pub const JSValue = enum(JSValueReprInt) {
};
pub inline fn cast(ptr: anytype) JSValue {
- return @enumFromInt(JSValue, @bitCast(i64, @intFromPtr(ptr)));
+ return @as(JSValue, @enumFromInt(@as(i64, @bitCast(@intFromPtr(ptr)))));
}
pub fn coerceToInt32(this: JSValue, globalThis: *JSC.JSGlobalObject) i32 {
@@ -3426,7 +3426,7 @@ pub const JSValue = enum(JSValueReprInt) {
}
if (this.isNumber()) {
- return @truncate(i32, this.coerceDoubleTruncatingIntoInt64());
+ return @as(i32, @truncate(this.coerceDoubleTruncatingIntoInt64()));
}
return this.coerceToInt32(globalThis);
@@ -3441,16 +3441,16 @@ pub const JSValue = enum(JSValueReprInt) {
return switch (comptime T) {
u32 => toU32(this),
u16 => toU16(this),
- c_uint => @intCast(c_uint, toU32(this)),
- c_int => @intCast(c_int, toInt32(this)),
+ c_uint => @as(c_uint, @intCast(toU32(this))),
+ c_int => @as(c_int, @intCast(toInt32(this))),
?AnyPromise => asAnyPromise(this),
- u52 => @truncate(u52, @intCast(u64, @max(this.toInt64(), 0))),
- i52 => @truncate(i52, @intCast(i52, this.toInt64())),
+ u52 => @as(u52, @truncate(@as(u64, @intCast(@max(this.toInt64(), 0))))),
+ i52 => @as(i52, @truncate(@as(i52, @intCast(this.toInt64())))),
u64 => toUInt64NoTruncate(this),
- u8 => @truncate(u8, toU32(this)),
- i16 => @truncate(i16, toInt32(this)),
- i8 => @truncate(i8, toInt32(this)),
- i32 => @truncate(i32, toInt32(this)),
+ u8 => @as(u8, @truncate(toU32(this))),
+ i16 => @as(i16, @truncate(toInt32(this))),
+ i8 => @as(i8, @truncate(toInt32(this))),
+ i32 => @as(i32, @truncate(toInt32(this))),
i64 => this.toInt64(),
bool => this.toBoolean(),
else => @compileError("Not implemented yet"),
@@ -3473,9 +3473,9 @@ pub const JSValue = enum(JSValueReprInt) {
return JSC.C.JSObjectCallAsFunctionReturnValue(
globalThis,
this.asObjectRef(),
- @ptrCast(JSC.C.JSValueRef, globalThis),
+ @as(JSC.C.JSValueRef, @ptrCast(globalThis)),
args.len,
- @ptrCast(?[*]const JSC.C.JSValueRef, args.ptr),
+ @as(?[*]const JSC.C.JSValueRef, @ptrCast(args.ptr)),
);
}
@@ -3484,9 +3484,9 @@ pub const JSValue = enum(JSValueReprInt) {
return JSC.C.JSObjectCallAsFunctionReturnValue(
globalThis,
this.asObjectRef(),
- @ptrCast(JSC.C.JSValueRef, thisValue.asNullableVoid()),
+ @as(JSC.C.JSValueRef, @ptrCast(thisValue.asNullableVoid())),
args.len,
- @ptrCast(?[*]const JSC.C.JSValueRef, args.ptr),
+ @as(?[*]const JSC.C.JSValueRef, @ptrCast(args.ptr)),
);
}
@@ -3625,7 +3625,7 @@ pub const JSValue = enum(JSValueReprInt) {
pub fn createBufferFromLength(globalObject: *JSGlobalObject, len: usize) JSValue {
JSC.markBinding(@src());
- return JSBuffer__bufferFromLength(globalObject, @intCast(i64, len));
+ return JSBuffer__bufferFromLength(globalObject, @as(i64, @intCast(len)));
}
pub fn jestSnapshotPrettyFormat(this: JSValue, out: *MutableString, globalObject: *JSGlobalObject) !void {
@@ -3643,7 +3643,7 @@ pub const JSValue = enum(JSValueReprInt) {
JestPrettyFormat.format(
.Debug,
globalObject,
- @ptrCast([*]const JSValue, &this),
+ @as([*]const JSValue, @ptrCast(&this)),
1,
Writer,
Writer,
@@ -3704,7 +3704,7 @@ pub const JSValue = enum(JSValueReprInt) {
JSC.ZigConsoleClient.format(
.Debug,
globalObject,
- @ptrCast([*]const JSValue, &this),
+ @as([*]const JSValue, @ptrCast(&this)),
1,
Writer,
Writer,
@@ -3745,12 +3745,12 @@ pub const JSValue = enum(JSValueReprInt) {
return switch (comptime Number) {
JSValue => number,
f32, f64 => jsNumberFromDouble(@as(f64, number)),
- c_ushort, u8, i16, i32, c_int, i8, u16 => jsNumberFromInt32(@intCast(i32, number)),
- u32, u52, c_uint, i64 => jsNumberFromInt64(@intCast(i64, number)),
- usize, u64 => jsNumberFromUint64(@intCast(u64, number)),
+ c_ushort, u8, i16, i32, c_int, i8, u16 => jsNumberFromInt32(@as(i32, @intCast(number))),
+ u32, u52, c_uint, i64 => jsNumberFromInt64(@as(i64, @intCast(number))),
+ usize, u64 => jsNumberFromUint64(@as(u64, @intCast(number))),
comptime_int => switch (number) {
- 0...std.math.maxInt(i32) => jsNumberFromInt32(@intCast(i32, number)),
- else => jsNumberFromInt64(@intCast(i64, number)),
+ 0...std.math.maxInt(i32) => jsNumberFromInt32(@as(i32, @intCast(number))),
+ else => jsNumberFromInt64(@as(i64, @intCast(number))),
},
else => @compileError("Type transformation missing for number of type: " ++ @typeName(Number)),
};
@@ -3860,10 +3860,10 @@ pub const JSValue = enum(JSValueReprInt) {
pub fn jsNumberFromInt64(i: i64) JSValue {
if (i <= std.math.maxInt(i32)) {
- return jsNumberFromInt32(@intCast(i32, i));
+ return jsNumberFromInt32(@as(i32, @intCast(i)));
}
- return jsNumberFromDouble(@floatFromInt(f64, @truncate(i52, i)));
+ return jsNumberFromDouble(@as(f64, @floatFromInt(@as(i52, @truncate(i)))));
}
pub inline fn toJS(this: JSValue, _: *const JSGlobalObject) JSValue {
@@ -3872,10 +3872,10 @@ pub const JSValue = enum(JSValueReprInt) {
pub fn jsNumberFromUint64(i: u64) JSValue {
if (i <= std.math.maxInt(i32)) {
- return jsNumberFromInt32(@intCast(i32, i));
+ return jsNumberFromInt32(@as(i32, @intCast(i)));
}
- return jsNumberFromDouble(@floatFromInt(f64, @intCast(i52, @truncate(u51, i))));
+ return jsNumberFromDouble(@as(f64, @floatFromInt(@as(i52, @intCast(@as(u51, @truncate(i)))))));
}
pub fn coerceDoubleTruncatingIntoInt64(this: JSValue) i64 {
@@ -3889,9 +3889,9 @@ pub const JSValue = enum(JSValueReprInt) {
return if (double_value < 0) @as(i64, std.math.minInt(i64)) else @as(i64, std.math.maxInt(i64));
}
- return @intFromFloat(
+ return @as(
i64,
- double_value,
+ @intFromFloat(double_value),
);
}
@@ -4071,7 +4071,7 @@ pub const JSValue = enum(JSValueReprInt) {
pub inline fn isCell(this: JSValue) bool {
return switch (this) {
.zero, .undefined, .null, .true, .false => false,
- else => (@bitCast(u64, @intFromEnum(this)) & FFI.NotCellMask) == 0,
+ else => (@as(u64, @bitCast(@intFromEnum(this))) & FFI.NotCellMask) == 0,
};
}
@@ -4297,7 +4297,7 @@ pub const JSValue = enum(JSValueReprInt) {
}
pub fn get(this: JSValue, global: *JSGlobalObject, property: []const u8) ?JSValue {
- const value = getIfPropertyExistsImpl(this, global, property.ptr, @intCast(u32, property.len));
+ const value = getIfPropertyExistsImpl(this, global, property.ptr, @as(u32, @intCast(property.len)));
return if (@intFromEnum(value) != 0) value else return null;
}
@@ -4547,7 +4547,7 @@ pub const JSValue = enum(JSValueReprInt) {
pub fn asNumber(this: JSValue) f64 {
if (this.isInt32()) {
- return @floatFromInt(f64, this.asInt32());
+ return @as(f64, @floatFromInt(this.asInt32()));
}
if (isNumber(this)) {
@@ -4570,15 +4570,15 @@ pub const JSValue = enum(JSValueReprInt) {
}
pub fn asPtr(this: JSValue, comptime Pointer: type) *Pointer {
- return @ptrFromInt(*Pointer, this.asPtrAddress());
+ return @as(*Pointer, @ptrFromInt(this.asPtrAddress()));
}
pub fn fromPtrAddress(addr: anytype) JSValue {
- return jsNumber(@floatFromInt(f64, @bitCast(usize, @as(usize, addr))));
+ return jsNumber(@as(f64, @floatFromInt(@as(usize, @bitCast(@as(usize, addr))))));
}
pub fn asPtrAddress(this: JSValue) usize {
- return @bitCast(usize, @intFromFloat(usize, this.asDouble()));
+ return @as(usize, @bitCast(@as(usize, @intFromFloat(this.asDouble()))));
}
pub fn fromPtr(addr: anytype) JSValue {
@@ -4605,7 +4605,7 @@ pub const JSValue = enum(JSValueReprInt) {
if (comptime bun.Environment.allow_assert) {
std.debug.assert(this.isNumber());
}
- return @intFromFloat(i64, @max(@min(this.asDouble(), std.math.maxInt(i52)), std.math.minInt(i52)));
+ return @as(i64, @intFromFloat(@max(@min(this.asDouble(), std.math.maxInt(i52)), std.math.minInt(i52))));
}
pub fn toInt32(this: JSValue) i32 {
@@ -4614,7 +4614,7 @@ pub const JSValue = enum(JSValueReprInt) {
}
if (this.isNumber()) {
- return @truncate(i32, this.asInt52());
+ return @as(i32, @truncate(this.asInt52()));
}
if (comptime bun.Environment.allow_assert) {
@@ -4632,11 +4632,11 @@ pub const JSValue = enum(JSValueReprInt) {
}
pub inline fn toU16(this: JSValue) u16 {
- return @truncate(u16, @max(this.toInt32(), 0));
+ return @as(u16, @truncate(@max(this.toInt32(), 0)));
}
pub inline fn toU32(this: JSValue) u32 {
- return @intCast(u32, @min(@max(this.toInt64(), 0), std.math.maxInt(u32)));
+ return @as(u32, @intCast(@min(@max(this.toInt64(), 0), std.math.maxInt(u32))));
}
/// This function supports:
@@ -4657,7 +4657,7 @@ pub const JSValue = enum(JSValueReprInt) {
return 0;
}
- return @intFromFloat(u64, @max(@min(len, std.math.maxInt(i52)), 0));
+ return @as(u64, @intFromFloat(@max(@min(len, std.math.maxInt(i52)), 0)));
}
/// This function supports:
@@ -4678,7 +4678,7 @@ pub const JSValue = enum(JSValueReprInt) {
return null;
}
- return @intFromFloat(u64, @max(@min(len, std.math.maxInt(i52)), 0));
+ return @as(u64, @intFromFloat(@max(@min(len, std.math.maxInt(i52)), 0)));
}
/// Do not use this directly!
@@ -4723,19 +4723,19 @@ pub const JSValue = enum(JSValueReprInt) {
}
pub inline fn asRef(this: JSValue) C_API.JSValueRef {
- return @ptrFromInt(C_API.JSValueRef, @bitCast(usize, @intFromEnum(this)));
+ return @as(C_API.JSValueRef, @ptrFromInt(@as(usize, @bitCast(@intFromEnum(this)))));
}
pub inline fn c(this: C_API.JSValueRef) JSValue {
- return @enumFromInt(JSValue, @bitCast(JSValue.Type, @intFromPtr(this)));
+ return @as(JSValue, @enumFromInt(@as(JSValue.Type, @bitCast(@intFromPtr(this)))));
}
pub inline fn fromRef(this: C_API.JSValueRef) JSValue {
- return @enumFromInt(JSValue, @bitCast(JSValue.Type, @intFromPtr(this)));
+ return @as(JSValue, @enumFromInt(@as(JSValue.Type, @bitCast(@intFromPtr(this)))));
}
pub inline fn asObjectRef(this: JSValue) C_API.JSObjectRef {
- return @ptrCast(C_API.JSObjectRef, this.asVoid());
+ return @as(C_API.JSObjectRef, @ptrCast(this.asVoid()));
}
/// When the GC sees a JSValue referenced in the stack
@@ -4743,11 +4743,11 @@ pub const JSValue = enum(JSValueReprInt) {
/// This mimicks the implementation in JavaScriptCore's C++
pub inline fn ensureStillAlive(this: JSValue) void {
if (this.isEmpty() or this.isNumber() or this.isBoolean() or this.isUndefinedOrNull()) return;
- std.mem.doNotOptimizeAway(@ptrCast(C_API.JSObjectRef, this.asVoid()));
+ std.mem.doNotOptimizeAway(@as(C_API.JSObjectRef, @ptrCast(this.asVoid())));
}
pub inline fn asNullableVoid(this: JSValue) ?*anyopaque {
- return @ptrFromInt(?*anyopaque, @bitCast(usize, @intFromEnum(this)));
+ return @as(?*anyopaque, @ptrFromInt(@as(usize, @bitCast(@intFromEnum(this)))));
}
pub inline fn asVoid(this: JSValue) *anyopaque {
@@ -4992,7 +4992,7 @@ pub const VM = extern struct {
const callback_ = callback;
const Wrapper = struct {
pub fn run(ptr_: *anyopaque) callconv(.C) void {
- var ptr__ = @ptrCast(*Ptr, @alignCast(@alignOf(Ptr), ptr_));
+ var ptr__ = @as(*Ptr, @ptrCast(@alignCast(ptr_)));
callback_(ptr__);
}
};
@@ -5190,11 +5190,11 @@ pub const CallFrame = opaque {
pub const name = "JSC::CallFrame";
pub fn argumentsPtr(self: *const CallFrame) [*]const JSC.JSValue {
- return @ptrCast([*]const JSC.JSValue, @alignCast(alignment, self)) + Sizes.Bun_CallFrame__firstArgument;
+ return @as([*]align(alignment) const JSC.JSValue, @ptrCast(@alignCast(self))) + Sizes.Bun_CallFrame__firstArgument;
}
pub fn callee(self: *const CallFrame) JSC.JSValue {
- return (@ptrCast([*]const JSC.JSValue, @alignCast(alignment, self)) + Sizes.Bun_CallFrame__callee)[0];
+ return (@as([*]align(alignment) const JSC.JSValue, @ptrCast(@alignCast(self))) + Sizes.Bun_CallFrame__callee)[0];
}
fn Arguments(comptime max: usize) type {
@@ -5239,11 +5239,11 @@ pub const CallFrame = opaque {
}
pub fn this(self: *const CallFrame) JSC.JSValue {
- return (@ptrCast([*]const JSC.JSValue, @alignCast(alignment, self)) + Sizes.Bun_CallFrame__thisArgument)[0];
+ return (@as([*]align(alignment) const JSC.JSValue, @ptrCast(@alignCast(self))) + Sizes.Bun_CallFrame__thisArgument)[0];
}
pub fn argumentsCount(self: *const CallFrame) usize {
- return @intCast(usize, (@ptrCast([*]const JSC.JSValue, @alignCast(alignment, self)) + Sizes.Bun_CallFrame__argumentCountIncludingThis)[0].asInt32() - 1);
+ return @as(usize, @intCast((@as([*]align(alignment) const JSC.JSValue, @ptrCast(@alignCast(self))) + Sizes.Bun_CallFrame__argumentCountIncludingThis)[0].asInt32() - 1));
}
};
@@ -5286,7 +5286,7 @@ const DeinitFunction = *const fn (ctx: *anyopaque, buffer: [*]u8, len: usize) ca
pub const JSArray = struct {
pub fn from(globalThis: *JSGlobalObject, arguments: []const JSC.JSValue) JSValue {
- return JSC.JSValue.c(JSC.C.JSObjectMakeArray(globalThis, arguments.len, @ptrCast(?[*]const JSC.C.JSObjectRef, arguments.ptr), null));
+ return JSC.JSValue.c(JSC.C.JSObjectMakeArray(globalThis, arguments.len, @as(?[*]const JSC.C.JSObjectRef, @ptrCast(arguments.ptr)), null));
}
};
@@ -5326,7 +5326,7 @@ const private = struct {
pub fn NewFunctionPtr(globalObject: *JSGlobalObject, symbolName: ?*const ZigString, argCount: u32, comptime functionPointer: anytype, strong: bool) *anyopaque {
JSC.markBinding(@src());
- return private.Bun__CreateFFIFunction(globalObject, symbolName, argCount, @ptrCast(*const anyopaque, &functionPointer), strong);
+ return private.Bun__CreateFFIFunction(globalObject, symbolName, argCount, @as(*const anyopaque, @ptrCast(&functionPointer)), strong);
}
pub fn NewFunction(
@@ -5373,7 +5373,7 @@ pub fn NewFunctionWithData(
globalObject,
symbolName,
argCount,
- @ptrCast(*const anyopaque, &functionPointer),
+ @as(*const anyopaque, @ptrCast(&functionPointer)),
strong,
data,
);
@@ -5476,7 +5476,7 @@ pub fn Thenable(comptime name: []const u8, comptime Then: type, comptime onResol
) callconv(.C) void {
@setRuntimeSafety(false);
const args_list = callframe.?.arguments(8);
- onResolve(@ptrCast(*Then, @alignCast(std.meta.alignment(Then), args_list.ptr[args_list.len - 1].asEncoded().asPtr)), globalThis, args_list.ptr[0]);
+ onResolve(@as(*Then, @ptrCast(@alignCast(args_list.ptr[args_list.len - 1].asEncoded().asPtr))), globalThis, args_list.ptr[0]);
}
pub fn reject(
@@ -5485,7 +5485,7 @@ pub fn Thenable(comptime name: []const u8, comptime Then: type, comptime onResol
) callconv(.C) void {
@setRuntimeSafety(false);
const args_list = callframe.?.arguments(8);
- onReject(@ptrCast(*Then, @alignCast(std.meta.alignment(Then), args_list.ptr[args_list.len - 1].asEncoded().asPtr)), globalThis, args_list.ptr[0]);
+ onReject(@as(*Then, @ptrCast(@alignCast(args_list.ptr[args_list.len - 1].asEncoded().asPtr))), globalThis, args_list.ptr[0]);
}
pub fn then(ctx: *Then, this: JSValue, globalThis: *JSGlobalObject) void {
@@ -5532,7 +5532,7 @@ pub fn JSPropertyIterator(comptime options: JSPropertyIteratorOptions) type {
const array_ref = JSC.C.JSObjectCopyPropertyNames(global, object);
return .{
.array_ref = array_ref,
- .len = @truncate(u32, JSC.C.JSPropertyNameArrayGetCount(array_ref)),
+ .len = @as(u32, @truncate(JSC.C.JSPropertyNameArrayGetCount(array_ref))),
.object = if (comptime options.include_value) object else .{},
.global = if (comptime options.include_value) global else .{},
.value = undefined,
diff --git a/src/bun.js/bindings/exports.zig b/src/bun.js/bindings/exports.zig
index 8fed85c4a..6ec8ff2b9 100644
--- a/src/bun.js/bindings/exports.zig
+++ b/src/bun.js/bindings/exports.zig
@@ -119,7 +119,7 @@ pub const ErrorCode = enum(ErrorCodeInt) {
_,
pub inline fn from(code: anyerror) ErrorCode {
- return @enumFromInt(ErrorCode, @intFromError(code));
+ return @as(ErrorCode, @enumFromInt(@intFromError(code)));
}
pub const ParserError = @intFromEnum(ErrorCode.from(error.ParserError));
@@ -241,7 +241,7 @@ pub const ResolvedSource = extern struct {
const Mimalloc = @import("../../allocators/mimalloc.zig");
export fn ZigString__free(raw: [*]const u8, len: usize, allocator_: ?*anyopaque) void {
- var allocator: std.mem.Allocator = @ptrCast(*std.mem.Allocator, @alignCast(@alignOf(*std.mem.Allocator), allocator_ orelse return)).*;
+ var allocator: std.mem.Allocator = @as(*std.mem.Allocator, @ptrCast(@alignCast(allocator_ orelse return))).*;
var ptr = ZigString.init(raw[0..len]).slice().ptr;
if (comptime Environment.allow_assert) {
std.debug.assert(Mimalloc.mi_is_in_heap_region(ptr));
@@ -252,7 +252,7 @@ export fn ZigString__free(raw: [*]const u8, len: usize, allocator_: ?*anyopaque)
}
export fn ZigString__free_global(ptr: [*]const u8, len: usize) void {
- var untagged = @ptrFromInt(*anyopaque, @intFromPtr(ZigString.init(ptr[0..len]).slice().ptr));
+ var untagged = @as(*anyopaque, @ptrFromInt(@intFromPtr(ZigString.init(ptr[0..len]).slice().ptr)));
if (comptime Environment.allow_assert) {
std.debug.assert(Mimalloc.mi_is_in_heap_region(ptr));
}
@@ -466,7 +466,7 @@ pub const ZigStackTrace = extern struct {
var source_line_len = source_lines_iter.getLength();
if (source_line_len > 0) {
- var source_lines = try allocator.alloc(Api.SourceLine, @intCast(usize, @max(source_lines_iter.i + 1, 0)));
+ var source_lines = try allocator.alloc(Api.SourceLine, @as(usize, @intCast(@max(source_lines_iter.i + 1, 0))));
var source_line_buf = try allocator.alloc(u8, source_line_len);
source_lines_iter = this.sourceLineIterator();
var remain_buf = source_line_buf[0..];
@@ -521,7 +521,7 @@ pub const ZigStackTrace = extern struct {
pub fn getLength(this: *SourceLineIterator) usize {
var count: usize = 0;
- for (this.trace.source_lines_ptr[0..@intCast(usize, this.i + 1)]) |*line| {
+ for (this.trace.source_lines_ptr[0..@as(usize, @intCast(this.i + 1))]) |*line| {
count += line.length();
}
@@ -536,9 +536,9 @@ pub const ZigStackTrace = extern struct {
pub fn next(this: *SourceLineIterator) ?SourceLine {
if (this.i < 0) return null;
- const source_line = this.trace.source_lines_ptr[@intCast(usize, this.i)];
+ const source_line = this.trace.source_lines_ptr[@as(usize, @intCast(this.i))];
const result = SourceLine{
- .line = this.trace.source_lines_numbers[@intCast(usize, this.i)],
+ .line = this.trace.source_lines_numbers[@as(usize, @intCast(this.i))],
.text = source_line.toUTF8(bun.default_allocator),
};
this.i -= 1;
@@ -553,7 +553,7 @@ pub const ZigStackTrace = extern struct {
i = j;
}
}
- return SourceLineIterator{ .trace = this, .i = @intCast(i16, i) };
+ return SourceLineIterator{ .trace = this, .i = @as(i16, @intCast(i)) };
}
};
@@ -594,7 +594,7 @@ pub const ZigStackFrame = extern struct {
frame.position.column_stop = this.position.column_stop;
frame.position.expression_start = this.position.expression_start;
frame.position.expression_stop = this.position.expression_stop;
- frame.scope = @enumFromInt(Api.StackFrameScope, @intFromEnum(this.code_type));
+ frame.scope = @as(Api.StackFrameScope, @enumFromInt(@intFromEnum(this.code_type)));
return frame;
}
@@ -844,7 +844,7 @@ pub const ZigException = extern struct {
pub fn zigException(this: *Holder) *ZigException {
if (!this.loaded) {
this.zig_exception = ZigException{
- .code = @enumFromInt(JSErrorCode, 255),
+ .code = @as(JSErrorCode, @enumFromInt(255)),
.runtime_type = JSRuntimeType.Nothing,
.name = String.empty,
.message = String.empty,
@@ -1579,7 +1579,7 @@ pub const ZigConsoleClient = struct {
var writer = WrappedWriter(Writer){ .ctx = writer_ };
var slice = slice_;
var i: u32 = 0;
- var len: u32 = @truncate(u32, slice.len);
+ var len: u32 = @as(u32, @truncate(slice.len));
var any_non_ascii = false;
while (i < len) : (i += 1) {
switch (slice[i]) {
@@ -1606,7 +1606,7 @@ pub const ZigConsoleClient = struct {
any_non_ascii = false;
slice = slice[@min(slice.len, i + 1)..];
i = 0;
- len = @truncate(u32, slice.len);
+ len = @as(u32, @truncate(slice.len));
const next_value = this.remaining_values[0];
this.remaining_values = this.remaining_values[1..];
switch (token) {
@@ -2023,7 +2023,7 @@ pub const ZigConsoleClient = struct {
i = -i;
}
const digits = if (i != 0)
- bun.fmt.fastDigitCount(@intCast(usize, i)) + @as(usize, @intFromBool(is_negative))
+ bun.fmt.fastDigitCount(@as(usize, @intCast(i))) + @as(usize, @intFromBool(is_negative))
else
1;
this.addForNewLine(digits);
@@ -2134,7 +2134,7 @@ pub const ZigConsoleClient = struct {
writer.print(comptime Output.prettyFmt("<cyan>[Getter]<r>", enable_ansi_colors), .{});
},
.Array => {
- const len = @truncate(u32, value.getLength(this.globalThis));
+ const len = @as(u32, @truncate(value.getLength(this.globalThis)));
if (len == 0) {
writer.writeAll("[]");
this.addForNewLine(2);
@@ -2265,9 +2265,9 @@ pub const ZigConsoleClient = struct {
// this case should never happen
return this.printAs(.Undefined, Writer, writer_, .undefined, .Cell, enable_ansi_colors);
} else if (value.as(JSC.API.Bun.Timer.TimerObject)) |timer| {
- this.addForNewLine("Timeout(# ) ".len + bun.fmt.fastDigitCount(@intCast(u64, @max(timer.id, 0))));
+ this.addForNewLine("Timeout(# ) ".len + bun.fmt.fastDigitCount(@as(u64, @intCast(@max(timer.id, 0)))));
if (timer.kind == .setInterval) {
- this.addForNewLine("repeats ".len + bun.fmt.fastDigitCount(@intCast(u64, @max(timer.id, 0))));
+ this.addForNewLine("repeats ".len + bun.fmt.fastDigitCount(@as(u64, @intCast(@max(timer.id, 0)))));
writer.print(comptime Output.prettyFmt("<r><blue>Timeout<r> <d>(#<yellow>{d}<r><d>, repeats)<r>", enable_ansi_colors), .{
timer.id,
});
@@ -2342,7 +2342,7 @@ pub const ZigConsoleClient = struct {
writer.writeAll("Promise { " ++ comptime Output.prettyFmt("<r><cyan>", enable_ansi_colors));
- switch (JSPromise.status(@ptrCast(*JSPromise, value.asObjectRef().?), this.globalThis.vm())) {
+ switch (JSPromise.status(@as(*JSPromise, @ptrCast(value.asObjectRef().?)), this.globalThis.vm())) {
JSPromise.Status.Pending => {
writer.writeAll("<pending>");
},
@@ -2751,7 +2751,7 @@ pub const ZigConsoleClient = struct {
var j: usize = 0;
while (j < length) : (j += 1) {
- const child = JSC.JSObject.getIndex(children, this.globalThis, @intCast(u32, j));
+ const child = JSC.JSObject.getIndex(children, this.globalThis, @as(u32, @intCast(j)));
this.format(Tag.getAdvanced(child, this.globalThis, .{ .hide_global = true }), Writer, writer_, child, this.globalThis, enable_ansi_colors);
if (j + 1 < length) {
writer.writeAll("\n");
@@ -2881,56 +2881,56 @@ pub const ZigConsoleClient = struct {
*@TypeOf(writer),
&writer,
i8,
- @alignCast(std.meta.alignment([]i8), std.mem.bytesAsSlice(i8, slice)),
+ @as([]align(std.meta.alignment([]i8)) i8, @alignCast(std.mem.bytesAsSlice(i8, slice))),
enable_ansi_colors,
),
.Int16Array => this.writeTypedArray(
*@TypeOf(writer),
&writer,
i16,
- @alignCast(std.meta.alignment([]i16), std.mem.bytesAsSlice(i16, slice)),
+ @as([]align(std.meta.alignment([]i16)) i16, @alignCast(std.mem.bytesAsSlice(i16, slice))),
enable_ansi_colors,
),
.Uint16Array => this.writeTypedArray(
*@TypeOf(writer),
&writer,
u16,
- @alignCast(std.meta.alignment([]u16), std.mem.bytesAsSlice(u16, slice)),
+ @as([]align(std.meta.alignment([]u16)) u16, @alignCast(std.mem.bytesAsSlice(u16, slice))),
enable_ansi_colors,
),
.Int32Array => this.writeTypedArray(
*@TypeOf(writer),
&writer,
i32,
- @alignCast(std.meta.alignment([]i32), std.mem.bytesAsSlice(i32, slice)),
+ @as([]align(std.meta.alignment([]i32)) i32, @alignCast(std.mem.bytesAsSlice(i32, slice))),
enable_ansi_colors,
),
.Uint32Array => this.writeTypedArray(
*@TypeOf(writer),
&writer,
u32,
- @alignCast(std.meta.alignment([]u32), std.mem.bytesAsSlice(u32, slice)),
+ @as([]align(std.meta.alignment([]u32)) u32, @alignCast(std.mem.bytesAsSlice(u32, slice))),
enable_ansi_colors,
),
.Float32Array => this.writeTypedArray(
*@TypeOf(writer),
&writer,
f32,
- @alignCast(std.meta.alignment([]f32), std.mem.bytesAsSlice(f32, slice)),
+ @as([]align(std.meta.alignment([]f32)) f32, @alignCast(std.mem.bytesAsSlice(f32, slice))),
enable_ansi_colors,
),
.Float64Array => this.writeTypedArray(
*@TypeOf(writer),
&writer,
f64,
- @alignCast(std.meta.alignment([]f64), std.mem.bytesAsSlice(f64, slice)),
+ @as([]align(std.meta.alignment([]f64)) f64, @alignCast(std.mem.bytesAsSlice(f64, slice))),
enable_ansi_colors,
),
.BigInt64Array => this.writeTypedArray(
*@TypeOf(writer),
&writer,
i64,
- @alignCast(std.meta.alignment([]i64), std.mem.bytesAsSlice(i64, slice)),
+ @as([]align(std.meta.alignment([]i64)) i64, @alignCast(std.mem.bytesAsSlice(i64, slice))),
enable_ansi_colors,
),
.BigUint64Array => {
@@ -2938,7 +2938,7 @@ pub const ZigConsoleClient = struct {
*@TypeOf(writer),
&writer,
u64,
- @alignCast(std.meta.alignment([]u64), std.mem.bytesAsSlice(u64, slice)),
+ @as([]align(std.meta.alignment([]u64)) u64, @alignCast(std.mem.bytesAsSlice(u64, slice))),
enable_ansi_colors,
);
},
@@ -3113,7 +3113,7 @@ pub const ZigConsoleClient = struct {
var value: std.time.Timer = result.value orelse return;
// get the duration in microseconds
// then display it in milliseconds
- Output.printElapsed(@floatFromInt(f64, value.read() / std.time.ns_per_us) / std.time.us_per_ms);
+ Output.printElapsed(@as(f64, @floatFromInt(value.read() / std.time.ns_per_us)) / std.time.us_per_ms);
switch (len) {
0 => Output.printErrorln("\n", .{}),
else => Output.printErrorln(" {s}", .{chars[0..len]}),
@@ -3142,7 +3142,7 @@ pub const ZigConsoleClient = struct {
var value: std.time.Timer = (pending_time_logs.get(id) orelse return) orelse return;
// get the duration in microseconds
// then display it in milliseconds
- Output.printElapsed(@floatFromInt(f64, value.read() / std.time.ns_per_us) / std.time.us_per_ms);
+ Output.printElapsed(@as(f64, @floatFromInt(value.read() / std.time.ns_per_us)) / std.time.us_per_ms);
switch (len) {
0 => Output.printErrorln("\n", .{}),
else => Output.printErrorln(" {s}", .{chars[0..len]}),
@@ -3367,7 +3367,7 @@ pub const ZigConsoleClient = struct {
// };
pub inline fn toGlobalContextRef(ptr: *JSGlobalObject) CAPI.JSGlobalContextRef {
- return @ptrCast(CAPI.JSGlobalContextRef, ptr);
+ return @as(CAPI.JSGlobalContextRef, @ptrCast(ptr));
}
comptime {
diff --git a/src/bun.js/bindings/shimmer.zig b/src/bun.js/bindings/shimmer.zig
index 3a6242000..29d12c1db 100644
--- a/src/bun.js/bindings/shimmer.zig
+++ b/src/bun.js/bindings/shimmer.zig
@@ -163,7 +163,7 @@ pub fn Shimmer(comptime _namespace: []const u8, comptime _name: []const u8, comp
if (comptime isNullableType(ExpectedReturnType) != isNullableType(ExternReturnType)) {
return value.?;
} else if (comptime (@typeInfo(ExpectedReturnType) == .Enum) and (@typeInfo(ExternReturnType) != .Enum)) {
- return @enumFromInt(ExpectedReturnType, value);
+ return @as(ExpectedReturnType, @enumFromInt(value));
} else {
return value;
}
diff --git a/src/bun.js/event_loop.zig b/src/bun.js/event_loop.zig
index d9befef8e..2dbe88d47 100644
--- a/src/bun.js/event_loop.zig
+++ b/src/bun.js/event_loop.zig
@@ -173,7 +173,7 @@ pub const AnyTask = struct {
}
pub fn wrap(this: ?*anyopaque) void {
- @call(.always_inline, Callback, .{@ptrCast(*Type, @alignCast(@alignOf(Type), this.?))});
+ @call(.always_inline, Callback, .{@as(*Type, @ptrCast(@alignCast(this.?)))});
}
};
}
@@ -205,8 +205,8 @@ pub const AnyTaskWithExtraContext = struct {
.always_inline,
Callback,
.{
- @ptrCast(*Type, @alignCast(@alignOf(Type), this.?)),
- @ptrCast(*ContextType, @alignCast(@alignOf(ContextType), extra.?)),
+ @as(*Type, @ptrCast(@alignCast(this.?))),
+ @as(*ContextType, @ptrCast(@alignCast(extra.?))),
},
);
}
@@ -503,7 +503,7 @@ pub const EventLoop = struct {
}
this.tasks.head = if (this.tasks.count == 0) 0 else this.tasks.head;
- return @truncate(u32, counter);
+ return @as(u32, @truncate(counter));
}
pub fn tickConcurrent(this: *EventLoop) void {
diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig
index 2e6d61952..fb855e047 100644
--- a/src/bun.js/javascript.zig
+++ b/src/bun.js/javascript.zig
@@ -119,7 +119,7 @@ pub const OpaqueCallback = *const fn (current: ?*anyopaque) callconv(.C) void;
pub fn OpaqueWrap(comptime Context: type, comptime Function: fn (this: *Context) void) OpaqueCallback {
return struct {
pub fn callback(ctx: ?*anyopaque) callconv(.C) void {
- var context: *Context = @ptrCast(*Context, @alignCast(@alignOf(Context), ctx.?));
+ var context: *Context = @as(*Context, @ptrCast(@alignCast(ctx.?)));
@call(.auto, Function, .{context});
}
}.callback;
@@ -142,7 +142,7 @@ pub const SavedSourceMap = struct {
}
pub inline fn len(this: SavedMappings) usize {
- return @bitCast(u64, this.data[0..8].*);
+ return @as(u64, @bitCast(this.data[0..8].*));
}
pub fn deinit(this: SavedMappings) void {
@@ -153,7 +153,7 @@ pub const SavedSourceMap = struct {
const result = SourceMap.Mapping.parse(
allocator,
this.data[16..this.len()],
- @bitCast(usize, this.data[8..16].*),
+ @as(usize, @bitCast(this.data[8..16].*)),
1,
);
switch (result) {
@@ -203,7 +203,7 @@ pub const SavedSourceMap = struct {
var source_map: *MappingList = source_map_;
source_map.deinit(default_allocator);
} else if (value.get(SavedMappings)) |saved_mappings| {
- var saved = SavedMappings{ .data = @ptrCast([*]u8, saved_mappings) };
+ var saved = SavedMappings{ .data = @as([*]u8, @ptrCast(saved_mappings)) };
saved.deinit();
}
@@ -219,7 +219,7 @@ pub const SavedSourceMap = struct {
return Value.from(mapping.value_ptr.*).as(MappingList).*;
},
Value.Tag.SavedMappings => {
- var saved = SavedMappings{ .data = @ptrCast([*]u8, Value.from(mapping.value_ptr.*).as(MappingList)) };
+ var saved = SavedMappings{ .data = @as([*]u8, @ptrCast(Value.from(mapping.value_ptr.*).as(MappingList))) };
defer saved.deinit();
var result = default_allocator.create(MappingList) catch unreachable;
result.* = saved.toMapping(default_allocator, path) catch {
@@ -264,7 +264,7 @@ export fn Bun__readOriginTimer(vm: *JSC.VirtualMachine) u64 {
export fn Bun__readOriginTimerStart(vm: *JSC.VirtualMachine) f64 {
// timespce to milliseconds
- return @floatCast(f64, (@floatFromInt(f64, vm.origin_timestamp) + JSC.VirtualMachine.origin_relative_epoch) / 1_000_000.0);
+ return @as(f64, @floatCast((@as(f64, @floatFromInt(vm.origin_timestamp)) + JSC.VirtualMachine.origin_relative_epoch) / 1_000_000.0));
}
// comptime {
@@ -794,16 +794,16 @@ pub const VirtualMachine = struct {
/// We subtract the timestamp from Jan 1, 2000 (Y2K)
pub const origin_relative_epoch = 946684800 * std.time.ns_per_s;
fn getOriginTimestamp() u64 {
- return @truncate(
+ return @as(
u64,
- @intCast(
+ @truncate(@as(
u128,
// handle if they set their system clock to be before epoch
- @max(
+ @intCast(@max(
std.time.nanoTimestamp(),
origin_relative_epoch,
- ),
- ) - origin_relative_epoch,
+ )),
+ ) - origin_relative_epoch),
);
}
@@ -883,7 +883,7 @@ pub const VirtualMachine = struct {
}
vm.global = ZigGlobalObject.create(
&global_classes,
- @intCast(i32, global_classes.len),
+ @as(i32, @intCast(global_classes.len)),
vm.console,
-1,
false,
@@ -985,7 +985,7 @@ pub const VirtualMachine = struct {
}
vm.global = ZigGlobalObject.create(
&global_classes,
- @intCast(i32, global_classes.len),
+ @as(i32, @intCast(global_classes.len)),
vm.console,
-1,
smol,
@@ -1087,9 +1087,9 @@ pub const VirtualMachine = struct {
}
vm.global = ZigGlobalObject.create(
&global_classes,
- @intCast(i32, global_classes.len),
+ @as(i32, @intCast(global_classes.len)),
vm.console,
- @intCast(i32, worker.execution_context_id),
+ @as(i32, @intCast(worker.execution_context_id)),
worker.mini,
);
vm.regular_event_loop.global = vm.global;
@@ -1402,7 +1402,7 @@ pub const VirtualMachine = struct {
var vm_ = globalObject.bunVM();
if (vm_.global == globalObject) {
- vm_.enqueueTask(Task.init(@ptrCast(*JSC.MicrotaskForDefaultGlobalObject, microtask)));
+ vm_.enqueueTask(Task.init(@as(*JSC.MicrotaskForDefaultGlobalObject, @ptrCast(microtask))));
} else {
vm_.enqueueTask(Task.init(microtask));
}
@@ -1685,7 +1685,7 @@ pub const VirtualMachine = struct {
err,
globalThis.createAggregateError(
errors.ptr,
- @intCast(u16, errors.len),
+ @as(u16, @intCast(errors.len)),
&ZigString.init(
std.fmt.allocPrint(globalThis.allocator(), "{d} errors building \"{}\"", .{
errors.len,
@@ -1730,7 +1730,7 @@ pub const VirtualMachine = struct {
this.last_reported_error_for_dedupe = result;
if (result.isException(this.global.vm())) {
- var exception = @ptrCast(*Exception, result.asVoid());
+ var exception = @as(*Exception, @ptrCast(result.asVoid()));
this.printException(
exception,
@@ -2001,7 +2001,7 @@ pub const VirtualMachine = struct {
iterator(_vm, globalObject, nextValue, ctx.?, false);
}
inline fn iterator(_: [*c]VM, _: [*c]JSGlobalObject, nextValue: JSValue, ctx: ?*anyopaque, comptime color: bool) void {
- var this_ = @ptrFromInt(*@This(), @intFromPtr(ctx));
+ var this_ = @as(*@This(), @ptrFromInt(@intFromPtr(ctx)));
VirtualMachine.get().printErrorlikeObject(nextValue, null, this_.current_exception_list, Writer, this_.writer, color, allow_side_effects);
}
};
@@ -2099,7 +2099,7 @@ pub const VirtualMachine = struct {
const dir = vm.bundler.fs.top_level_dir;
while (i < stack.len) : (i += 1) {
- const frame = stack[@intCast(usize, i)];
+ const frame = stack[@as(usize, @intCast(i))];
const file_slice = frame.source_url.toUTF8(bun.default_allocator);
defer file_slice.deinit();
const func_slice = frame.function_name.toUTF8(bun.default_allocator);
@@ -2215,7 +2215,7 @@ pub const VirtualMachine = struct {
frames[j] = frame;
j += 1;
}
- exception.stack.frames_len = @truncate(u8, j);
+ exception.stack.frames_len = @as(u8, @truncate(j));
frames.len = j;
}
}
@@ -2249,7 +2249,7 @@ pub const VirtualMachine = struct {
if (strings.getLinesInText(
code.slice(),
- @intCast(u32, top.position.line),
+ @as(u32, @intCast(top.position.line)),
JSC.ZigException.Holder.source_lines_count,
)) |lines| {
var source_lines = exception.stack.source_lines_ptr[0..JSC.ZigException.Holder.source_lines_count];
@@ -2260,12 +2260,12 @@ pub const VirtualMachine = struct {
var lines_ = lines[0..@min(lines.len, source_lines.len)];
for (lines_, 0..) |line, j| {
source_lines[(lines_.len - 1) - j] = String.init(line);
- source_line_numbers[j] = top.position.line - @intCast(i32, j) + 1;
+ source_line_numbers[j] = top.position.line - @as(i32, @intCast(j)) + 1;
}
- exception.stack.source_lines_len = @intCast(u8, lines_.len);
+ exception.stack.source_lines_len = @as(u8, @intCast(lines_.len));
- top.position.column_stop = @intCast(i32, source_lines[lines_.len - 1].length());
+ top.position.column_stop = @as(i32, @intCast(source_lines[lines_.len - 1].length()));
top.position.line_stop = top.position.column_stop;
// This expression range is no longer accurate
@@ -2372,11 +2372,11 @@ pub const VirtualMachine = struct {
);
if (!top.position.isInvalid()) {
- var first_non_whitespace = @intCast(u32, top.position.column_start);
+ var first_non_whitespace = @as(u32, @intCast(top.position.column_start));
while (first_non_whitespace < text.len and text[first_non_whitespace] == ' ') {
first_non_whitespace += 1;
}
- const indent = @intCast(usize, pad) + " | ".len + first_non_whitespace;
+ const indent = @as(usize, @intCast(pad)) + " | ".len + first_non_whitespace;
try writer.writeByteNTimes(' ', indent);
try writer.print(comptime Output.prettyFmt(
@@ -2572,7 +2572,7 @@ pub const EventListenerMixin = struct {
const FetchEventRejectionHandler = struct {
pub fn onRejection(_ctx: *anyopaque, err: anyerror, fetch_event: *FetchEvent, value: JSValue) void {
onError(
- @ptrFromInt(*CtxType, @intFromPtr(_ctx)),
+ @as(*CtxType, @ptrFromInt(@intFromPtr(_ctx))),
err,
value,
fetch_event.request_context.?,
@@ -2940,7 +2940,7 @@ pub fn NewHotReloader(comptime Ctx: type, comptime EventLoopType: type, comptime
var path_string: bun.PathString = undefined;
var file_hash: @This().Watcher.HashType = last_file_hash;
const abs_path: string = brk: {
- if (dir_ent.entries.get(@ptrCast([]const u8, changed_name))) |file_ent| {
+ if (dir_ent.entries.get(@as([]const u8, @ptrCast(changed_name)))) |file_ent| {
// reset the file descriptor
file_ent.entry.cache.fd = 0;
file_ent.entry.need_stat = true;
@@ -2950,9 +2950,9 @@ pub fn NewHotReloader(comptime Ctx: type, comptime EventLoopType: type, comptime
if (hash == file_hash) {
if (file_descriptors[entry_id] != 0) {
if (prev_entry_id != entry_id) {
- current_task.append(@truncate(u32, entry_id));
+ current_task.append(@as(u32, @truncate(entry_id)));
ctx.removeAtIndex(
- @truncate(u16, entry_id),
+ @as(u16, @truncate(entry_id)),
0,
&.{},
.file,
diff --git a/src/bun.js/javascript_core_c_api.zig b/src/bun.js/javascript_core_c_api.zig
index aba143a81..367b4e279 100644
--- a/src/bun.js/javascript_core_c_api.zig
+++ b/src/bun.js/javascript_core_c_api.zig
@@ -9,7 +9,7 @@ const std = @import("std");
const cpp = @import("./bindings/bindings.zig");
const generic = opaque {
pub fn value(this: *const @This()) cpp.JSValue {
- return @enumFromInt(cpp.JSValue, @bitCast(cpp.JSValue.Type, @intFromPtr(this)));
+ return @as(cpp.JSValue, @enumFromInt(@as(cpp.JSValue.Type, @bitCast(@intFromPtr(this)))));
}
pub inline fn bunVM(this: *@This()) *@import("root").bun.JSC.VirtualMachine {
diff --git a/src/bun.js/module_loader.zig b/src/bun.js/module_loader.zig
index 1bf8dcb12..07e25282f 100644
--- a/src/bun.js/module_loader.zig
+++ b/src/bun.js/module_loader.zig
@@ -826,7 +826,7 @@ pub const ModuleLoader = struct {
else
null;
resolved_source.commonjs_exports_len = if (commonjs_exports.len > 0)
- @truncate(u32, commonjs_exports.len)
+ @as(u32, @truncate(commonjs_exports.len))
else if (parse_result.ast.exports_kind == .cjs)
std.math.maxInt(u32)
else
@@ -845,7 +845,7 @@ pub const ModuleLoader = struct {
else
null,
.commonjs_exports_len = if (commonjs_exports.len > 0)
- @truncate(u32, commonjs_exports.len)
+ @as(u32, @truncate(commonjs_exports.len))
else if (parse_result.ast.exports_kind == .cjs)
std.math.maxInt(u32)
else
@@ -1228,7 +1228,7 @@ pub const ModuleLoader = struct {
else
null;
resolved_source.commonjs_exports_len = if (commonjs_exports.len > 0)
- @truncate(u32, commonjs_exports.len)
+ @as(u32, @truncate(commonjs_exports.len))
else if (parse_result.ast.exports_kind == .cjs)
std.math.maxInt(u32)
else
@@ -1265,7 +1265,7 @@ pub const ModuleLoader = struct {
else
null,
.commonjs_exports_len = if (commonjs_exports.len > 0)
- @truncate(u32, commonjs_exports.len)
+ @as(u32, @truncate(commonjs_exports.len))
else if (parse_result.ast.exports_kind == .cjs)
std.math.maxInt(u32)
else
@@ -1330,7 +1330,7 @@ pub const ModuleLoader = struct {
var encoded = JSC.EncodedJSValue{
.asPtr = globalThis,
};
- const globalValue = @enumFromInt(JSC.JSValue, encoded.asInt64);
+ const globalValue = @as(JSC.JSValue, @enumFromInt(encoded.asInt64));
globalValue.put(
globalThis,
JSC.ZigString.static("wasmSourceBytes"),
diff --git a/src/bun.js/node/dir_iterator.zig b/src/bun.js/node/dir_iterator.zig
index dac78e5e2..968fde001 100644
--- a/src/bun.js/node/dir_iterator.zig
+++ b/src/bun.js/node/dir_iterator.zig
@@ -65,13 +65,13 @@ pub const Iterator = switch (builtin.os.tag) {
}
self.index = 0;
- self.end_index = @intCast(usize, rc);
+ self.end_index = @as(usize, @intCast(rc));
}
- const darwin_entry = @ptrCast(*align(1) os.system.dirent, &self.buf[self.index]);
+ const darwin_entry = @as(*align(1) os.system.dirent, @ptrCast(&self.buf[self.index]));
const next_index = self.index + darwin_entry.reclen();
self.index = next_index;
- const name = @ptrCast([*]u8, &darwin_entry.d_name)[0..darwin_entry.d_namlen];
+ const name = @as([*]u8, @ptrCast(&darwin_entry.d_name))[0..darwin_entry.d_namlen];
if (strings.eqlComptime(name, ".") or strings.eqlComptime(name, "..") or (darwin_entry.d_ino == 0)) {
continue :start_over;
@@ -122,11 +122,11 @@ pub const Iterator = switch (builtin.os.tag) {
self.index = 0;
self.end_index = rc;
}
- const linux_entry = @ptrCast(*align(1) linux.dirent64, &self.buf[self.index]);
+ const linux_entry = @as(*align(1) linux.dirent64, @ptrCast(&self.buf[self.index]));
const next_index = self.index + linux_entry.reclen();
self.index = next_index;
- const name = mem.sliceTo(@ptrCast([*:0]u8, &linux_entry.d_name), 0);
+ const name = mem.sliceTo(@as([*:0]u8, @ptrCast(&linux_entry.d_name)), 0);
// skip . and .. entries
if (strings.eqlComptime(name, ".") or strings.eqlComptime(name, "..")) {
@@ -196,15 +196,14 @@ pub const Iterator = switch (builtin.os.tag) {
}
}
- const aligned_ptr = @alignCast(@alignOf(w.FILE_BOTH_DIR_INFORMATION), &self.buf[self.index]);
- const dir_info = @ptrCast(*w.FILE_BOTH_DIR_INFORMATION, aligned_ptr);
+ const dir_info: *w.FILE_BOTH_DIR_INFORMATION = @ptrCast(@alignCast(&self.buf[self.index]));
if (dir_info.NextEntryOffset != 0) {
self.index += dir_info.NextEntryOffset;
} else {
self.index = self.buf.len;
}
- const name_utf16le = @ptrCast([*]u16, &dir_info.FileName)[0 .. dir_info.FileNameLength / 2];
+ const name_utf16le = @as([*]u16, @ptrCast(&dir_info.FileName))[0 .. dir_info.FileNameLength / 2];
if (mem.eql(u16, name_utf16le, &[_]u16{'.'}) or mem.eql(u16, name_utf16le, &[_]u16{ '.', '.' }))
continue;
@@ -260,7 +259,7 @@ pub const Iterator = switch (builtin.os.tag) {
self.index = 0;
self.end_index = bufused;
}
- const entry = @ptrCast(*align(1) w.dirent_t, &self.buf[self.index]);
+ const entry = @as(*align(1) w.dirent_t, @ptrCast(&self.buf[self.index]));
const entry_size = @sizeOf(w.dirent_t);
const name_index = self.index + entry_size;
const name = mem.span(self.buf[name_index .. name_index + entry.d_namlen]);
diff --git a/src/bun.js/node/fs_events.zig b/src/bun.js/node/fs_events.zig
index a3fba5441..54c969d0f 100644
--- a/src/bun.js/node/fs_events.zig
+++ b/src/bun.js/node/fs_events.zig
@@ -254,7 +254,7 @@ pub const FSEventsLoop = struct {
}
pub fn wrap(this: ?*anyopaque) void {
- @call(.always_inline, Callback, .{@ptrCast(*Type, @alignCast(@alignOf(Type), this.?))});
+ @call(.always_inline, Callback, .{@as(*Type, @ptrCast(@alignCast(this.?)))});
}
};
}
diff --git a/src/bun.js/node/node_fs.zig b/src/bun.js/node/node_fs.zig
index 3f298c5c7..8fb769fac 100644
--- a/src/bun.js/node/node_fs.zig
+++ b/src/bun.js/node/node_fs.zig
@@ -368,7 +368,7 @@ pub const Arguments = struct {
};
arguments.eat();
- break :brk @intCast(uid_t, uid_value.toInt32());
+ break :brk @as(uid_t, @intCast(uid_value.toInt32()));
};
const gid: gid_t = brk: {
@@ -385,7 +385,7 @@ pub const Arguments = struct {
};
arguments.eat();
- break :brk @intCast(gid_t, gid_value.toInt32());
+ break :brk @as(gid_t, @intCast(gid_value.toInt32()));
};
return Chown{ .path = path, .uid = uid, .gid = gid };
@@ -438,7 +438,7 @@ pub const Arguments = struct {
};
arguments.eat();
- break :brk @intCast(uid_t, uid_value.toInt32());
+ break :brk @as(uid_t, @intCast(uid_value.toInt32()));
};
const gid: gid_t = brk: {
@@ -455,7 +455,7 @@ pub const Arguments = struct {
};
arguments.eat();
- break :brk @intCast(gid_t, gid_value.toInt32());
+ break :brk @as(gid_t, @intCast(gid_value.toInt32()));
};
return Fchown{ .fd = fd, .uid = uid, .gid = gid };
@@ -1672,7 +1672,7 @@ pub const Arguments = struct {
}
if (arguments.remaining[1].isNumber() or arguments.remaining[1].isBigInt())
- args.position = @intCast(ReadPosition, arguments.remaining[1].to(i52));
+ args.position = @as(ReadPosition, @intCast(arguments.remaining[1].to(i52)));
arguments.remaining = arguments.remaining[2..];
} else if (current.isObject()) {
@@ -1798,7 +1798,7 @@ pub const Arguments = struct {
mode: Mode = 0o666,
file: PathOrFileDescriptor,
data: StringOrBuffer,
- dirfd: FileDescriptor = @intCast(FileDescriptor, std.fs.cwd().fd),
+ dirfd: FileDescriptor = @as(FileDescriptor, @intCast(std.fs.cwd().fd)),
pub fn deinit(self: WriteFile) void {
self.file.deinit();
@@ -2424,7 +2424,7 @@ pub const Arguments = struct {
return CopyFile{
.src = src,
.dest = dest,
- .mode = @enumFromInt(Constants.Copyfile, mode),
+ .mode = @as(Constants.Copyfile, @enumFromInt(mode)),
};
}
};
@@ -2568,7 +2568,7 @@ const Return = struct {
ctx.ptr(),
&fields.bytesRead,
&fields.buffer,
- JSC.JSValue.jsNumberFromUint64(@intCast(u52, @min(std.math.maxInt(u52), this.bytes_read))),
+ JSC.JSValue.jsNumberFromUint64(@as(u52, @intCast(@min(std.math.maxInt(u52), this.bytes_read)))),
this.buffer_val,
).asObjectRef();
}
@@ -2592,7 +2592,7 @@ const Return = struct {
ctx.ptr(),
&fields.bytesWritten,
&fields.buffer,
- JSC.JSValue.jsNumberFromUint64(@intCast(u52, @min(std.math.maxInt(u52), this.bytes_written))),
+ JSC.JSValue.jsNumberFromUint64(@as(u52, @intCast(@min(std.math.maxInt(u52), this.bytes_written)))),
if (this.buffer == .buffer)
this.buffer_val
else
@@ -2805,7 +2805,7 @@ pub const NodeFS = struct {
.err => |err| return Maybe(Return.CopyFile){ .err = err },
};
defer {
- _ = std.c.ftruncate(dest_fd, @intCast(std.c.off_t, @truncate(u63, wrote)));
+ _ = std.c.ftruncate(dest_fd, @as(std.c.off_t, @intCast(@as(u63, @truncate(wrote)))));
_ = Syscall.close(dest_fd);
}
@@ -2815,7 +2815,7 @@ pub const NodeFS = struct {
// 16 KB is high end of what is okay to use for stack space
// good thing we ask for absurdly large stack sizes
var buf: [16384]u8 = undefined;
- var remain = @intCast(u64, @max(stat_.size, 0));
+ var remain = @as(u64, @intCast(@max(stat_.size, 0)));
toplevel: while (remain > 0) {
const amt = switch (Syscall.read(src_fd, buf[0..@min(buf.len, remain)])) {
.result => |result| result,
@@ -2913,15 +2913,15 @@ pub const NodeFS = struct {
.err => |err| return Maybe(Return.CopyFile){ .err = err },
};
- var size = @intCast(usize, @max(stat_.size, 0));
+ var size = @as(usize, @intCast(@max(stat_.size, 0)));
defer {
- _ = linux.ftruncate(dest_fd, @intCast(i64, @truncate(u63, wrote)));
+ _ = linux.ftruncate(dest_fd, @as(i64, @intCast(@as(u63, @truncate(wrote)))));
_ = Syscall.close(dest_fd);
}
- var off_in_copy = @bitCast(i64, @as(u64, 0));
- var off_out_copy = @bitCast(i64, @as(u64, 0));
+ var off_in_copy = @as(i64, @bitCast(@as(u64, 0)));
+ var off_out_copy = @as(i64, @bitCast(@as(u64, 0)));
if (size == 0) {
// copy until EOF
@@ -3199,7 +3199,7 @@ pub const NodeFS = struct {
.sync => {
var buf: [bun.MAX_PATH_BYTES]u8 = undefined;
const path = args.path.sliceZWithForceCopy(&buf, true);
- const len = @truncate(u16, path.len);
+ const len = @as(u16, @truncate(path.len));
// First, attempt to create the desired directory
// If that fails, then walk back up the path until we have a match
@@ -3349,8 +3349,8 @@ pub const NodeFS = struct {
};
}
// std.c.getErrno(rc) returns SUCCESS if rc is null so we call std.c._errno() directly
- const errno = @enumFromInt(std.c.E, std.c._errno().*);
- return .{ .err = Syscall.Error{ .errno = @truncate(Syscall.Error.Int, @intFromEnum(errno)), .syscall = .mkdtemp } };
+ const errno = @as(std.c.E, @enumFromInt(std.c._errno().*));
+ return .{ .err = Syscall.Error{ .errno = @as(Syscall.Error.Int, @truncate(@intFromEnum(errno))), .syscall = .mkdtemp } };
}
pub fn open(this: *NodeFS, args: Arguments.Open, comptime flavor: Flavor) Maybe(Return.Open) {
switch (comptime flavor) {
@@ -3389,7 +3389,7 @@ pub const NodeFS = struct {
},
.result => |amt| .{
.result = .{
- .bytes_read = @truncate(u52, amt),
+ .bytes_read = @as(u52, @truncate(amt)),
},
},
};
@@ -3413,7 +3413,7 @@ pub const NodeFS = struct {
},
.result => |amt| .{
.result = .{
- .bytes_read = @truncate(u52, amt),
+ .bytes_read = @as(u52, @truncate(amt)),
},
},
};
@@ -3461,7 +3461,7 @@ pub const NodeFS = struct {
},
.result => |amt| .{
.result = .{
- .bytes_written = @truncate(u52, amt),
+ .bytes_written = @as(u52, @truncate(amt)),
},
},
};
@@ -3486,7 +3486,7 @@ pub const NodeFS = struct {
.err = err,
},
.result => |amt| .{ .result = .{
- .bytes_written = @truncate(u52, amt),
+ .bytes_written = @as(u52, @truncate(amt)),
} },
};
},
@@ -3506,7 +3506,7 @@ pub const NodeFS = struct {
.err = err,
},
.result => |amt| .{ .result = .{
- .bytes_read = @truncate(u52, amt),
+ .bytes_read = @as(u52, @truncate(amt)),
} },
};
},
@@ -3524,7 +3524,7 @@ pub const NodeFS = struct {
.err = err,
},
.result => |amt| .{ .result = .{
- .bytes_read = @truncate(u52, amt),
+ .bytes_read = @as(u52, @truncate(amt)),
} },
};
},
@@ -3544,7 +3544,7 @@ pub const NodeFS = struct {
.err = err,
},
.result => |amt| .{ .result = .{
- .bytes_written = @truncate(u52, amt),
+ .bytes_written = @as(u52, @truncate(amt)),
} },
};
},
@@ -3562,7 +3562,7 @@ pub const NodeFS = struct {
.err = err,
},
.result => |amt| .{ .result = .{
- .bytes_written = @truncate(u52, amt),
+ .bytes_written = @as(u52, @truncate(amt)),
} },
};
},
@@ -3775,21 +3775,21 @@ pub const NodeFS = struct {
}
// For certain files, the size might be 0 but the file might still have contents.
- const size = @intCast(
+ const size = @as(
u64,
- @max(
+ @intCast(@max(
@min(
stat_.size,
- @intCast(
+ @as(
@TypeOf(stat_.size),
// Only used in DOMFormData
- args.max_size orelse std.math.maxInt(
+ @intCast(args.max_size orelse std.math.maxInt(
JSC.WebCore.Blob.SizeType,
- ),
+ )),
),
),
0,
- ),
+ )),
) + if (comptime string_type == .null_terminated) 1 else 0;
var buf = std.ArrayList(u8).init(bun.default_allocator);
@@ -3937,20 +3937,20 @@ pub const NodeFS = struct {
// on linux, it's absolutely positioned
const pos = JSC.Node.Syscall.system.lseek(
fd,
- @intCast(std.os.off_t, 0),
+ @as(std.os.off_t, @intCast(0)),
std.os.linux.SEEK.CUR,
);
switch (JSC.Node.Syscall.getErrno(pos)) {
- .SUCCESS => break :brk @intCast(usize, pos),
+ .SUCCESS => break :brk @as(usize, @intCast(pos)),
else => break :preallocate,
}
};
bun.C.preallocate_file(
fd,
- @intCast(std.os.off_t, offset),
- @intCast(std.os.off_t, buf.len),
+ @as(std.os.off_t, @intCast(offset)),
+ @as(std.os.off_t, @intCast(buf.len)),
) catch {};
}
}
@@ -3973,7 +3973,7 @@ pub const NodeFS = struct {
// https://github.com/oven-sh/bun/issues/2931
if ((@intFromEnum(args.flag) & std.os.O.APPEND) == 0) {
- _ = ftruncateSync(.{ .fd = fd, .len = @truncate(JSC.WebCore.Blob.SizeType, written) });
+ _ = ftruncateSync(.{ .fd = fd, .len = @as(JSC.WebCore.Blob.SizeType, @truncate(written)) });
}
return Maybe(Return.WriteFile).success;
@@ -4119,7 +4119,7 @@ pub const NodeFS = struct {
while (true) {
if (Maybe(Return.Rmdir).errnoSys(bun.C.darwin.removefileat(std.os.AT.FDCWD, dest, null, flags), .rmdir)) |errno| {
- switch (@enumFromInt(os.E, errno.err.errno)) {
+ switch (@as(os.E, @enumFromInt(errno.err.errno))) {
.AGAIN, .INTR => continue,
.NOENT => return Maybe(Return.Rmdir).success,
.MLINK => {
@@ -4206,7 +4206,7 @@ pub const NodeFS = struct {
}
if (Maybe(Return.Rm).errnoSys(bun.C.darwin.removefileat(std.os.AT.FDCWD, dest, null, flags), .unlink)) |errno| {
- switch (@enumFromInt(os.E, errno.err.errno)) {
+ switch (@as(os.E, @enumFromInt(errno.err.errno))) {
.AGAIN, .INTR => continue,
.NOENT => {
if (args.force) {
diff --git a/src/bun.js/node/node_os.zig b/src/bun.js/node/node_os.zig
index 483acb3e2..5710b5c21 100644
--- a/src/bun.js/node/node_os.zig
+++ b/src/bun.js/node/node_os.zig
@@ -207,7 +207,7 @@ pub const Os = struct {
var num_cpus: c.natural_t = 0;
var info: [*]local_bindings.processor_cpu_load_info = undefined;
var info_size: std.c.mach_msg_type_number_t = 0;
- if (local_bindings.host_processor_info(std.c.mach_host_self(), local_bindings.PROCESSOR_CPU_LOAD_INFO, &num_cpus, @ptrCast(*local_bindings.processor_info_array_t, &info), &info_size) != .SUCCESS) {
+ if (local_bindings.host_processor_info(std.c.mach_host_self(), local_bindings.PROCESSOR_CPU_LOAD_INFO, &num_cpus, @as(*local_bindings.processor_info_array_t, @ptrCast(&info)), &info_size) != .SUCCESS) {
return error.no_processor_info;
}
defer _ = std.c.vm_deallocate(std.c.mach_task_self(), @intFromPtr(info), info_size);
@@ -247,10 +247,10 @@ pub const Os = struct {
@cInclude("unistd.h");
});
const ticks: i64 = unistd.sysconf(unistd._SC_CLK_TCK);
- const multiplier = 1000 / @intCast(u64, ticks);
+ const multiplier = 1000 / @as(u64, @intCast(ticks));
// Set up each CPU value in the return
- const values = JSC.JSValue.createEmptyArray(globalThis, @intCast(u32, num_cpus));
+ const values = JSC.JSValue.createEmptyArray(globalThis, @as(u32, @intCast(num_cpus)));
var cpu_index: u32 = 0;
while (cpu_index < num_cpus) : (cpu_index += 1) {
const times = CPUTimes{
@@ -436,8 +436,8 @@ pub const Os = struct {
if (helpers.skip(iface) or helpers.isLinkLayer(iface)) continue;
const interface_name = std.mem.sliceTo(iface.ifa_name, 0);
- const addr = std.net.Address.initPosix(@alignCast(4, @ptrCast(*std.os.sockaddr, iface.ifa_addr)));
- const netmask = std.net.Address.initPosix(@alignCast(4, @ptrCast(*std.os.sockaddr, iface.ifa_netmask)));
+ const addr = std.net.Address.initPosix(@alignCast(@as(*std.os.sockaddr, @ptrCast(iface.ifa_addr))));
+ const netmask = std.net.Address.initPosix(@alignCast(@as(*std.os.sockaddr, @ptrCast(iface.ifa_netmask))));
var interface = JSC.JSValue.createEmptyObject(globalThis, 7);
@@ -448,7 +448,7 @@ pub const Os = struct {
// be converted to a CIDR suffix
const maybe_suffix: ?u8 = switch (addr.any.family) {
std.os.AF.INET => netmaskToCIDRSuffix(netmask.in.sa.addr),
- std.os.AF.INET6 => netmaskToCIDRSuffix(@bitCast(u128, netmask.in6.sa.addr)),
+ std.os.AF.INET6 => netmaskToCIDRSuffix(@as(u128, @bitCast(netmask.in6.sa.addr))),
else => null,
};
@@ -500,9 +500,9 @@ pub const Os = struct {
// This is the correct link-layer interface entry for the current interface,
// cast to a link-layer socket address
if (comptime Environment.isLinux) {
- break @ptrCast(?*std.os.sockaddr.ll, @alignCast(4, ll_iface.ifa_addr));
+ break @as(?*std.os.sockaddr.ll, @ptrCast(@alignCast(ll_iface.ifa_addr)));
} else if (comptime Environment.isMac) {
- break @ptrCast(?*C.sockaddr_dl, @alignCast(2, ll_iface.ifa_addr));
+ break @as(?*C.sockaddr_dl, @ptrCast(@alignCast(ll_iface.ifa_addr)));
} else unreachable;
} else null;
@@ -530,7 +530,7 @@ pub const Os = struct {
// Does this entry already exist?
if (ret.get(globalThis, interface_name)) |array| {
// Add this interface entry to the existing array
- const next_index = @intCast(u32, array.getLength(globalThis));
+ const next_index = @as(u32, @intCast(array.getLength(globalThis)));
array.putIndex(globalThis, next_index, interface);
} else {
// Add it as an array with this interface as an element
@@ -750,7 +750,7 @@ test "netmaskToCIDRSuffix" {
};
inline for (ipv6_tests) |t| {
const addr = try std.net.Address.parseIp6(t[0], 0);
- const bits = @bitCast(u128, addr.in6.sa.addr);
+ const bits = @as(u128, @bitCast(addr.in6.sa.addr));
try std.testing.expectEqual(@as(?u8, t[1]), netmaskToCIDRSuffix(bits));
}
}
diff --git a/src/bun.js/node/syscall.zig b/src/bun.js/node/syscall.zig
index 5ff0b2f44..4dbb23f0d 100644
--- a/src/bun.js/node/syscall.zig
+++ b/src/bun.js/node/syscall.zig
@@ -182,7 +182,7 @@ pub fn mkdir(file_path: [:0]const u8, flags: JSC.Node.Mode) Maybe(void) {
pub fn fcntl(fd: bun.FileDescriptor, cmd: i32, arg: usize) Maybe(usize) {
const result = fcntl_symbol(fd, cmd, arg);
if (Maybe(usize).errnoSys(result, .fcntl)) |err| return err;
- return .{ .result = @intCast(usize, result) };
+ return .{ .result = @as(usize, @intCast(result)) };
}
pub fn getErrno(rc: anytype) std.os.E {
@@ -191,7 +191,7 @@ pub fn getErrno(rc: anytype) std.os.E {
return switch (Type) {
comptime_int, usize => std.os.linux.getErrno(@as(usize, rc)),
- i32, c_int, isize => std.os.linux.getErrno(@bitCast(usize, @as(isize, rc))),
+ i32, c_int, isize => std.os.linux.getErrno(@as(usize, @bitCast(@as(isize, rc)))),
else => @compileError("Not implemented yet for type " ++ @typeName(Type)),
};
}
@@ -199,14 +199,14 @@ pub fn getErrno(rc: anytype) std.os.E {
pub fn openat(dirfd: bun.FileDescriptor, file_path: [:0]const u8, flags: JSC.Node.Mode, perm: JSC.Node.Mode) Maybe(bun.FileDescriptor) {
if (comptime Environment.isMac) {
// https://opensource.apple.com/source/xnu/xnu-7195.81.3/libsyscall/wrappers/open-base.c
- const rc = bun.AsyncIO.darwin.@"openat$NOCANCEL"(dirfd, file_path.ptr, @intCast(c_uint, flags), @intCast(c_int, perm));
+ const rc = bun.AsyncIO.darwin.@"openat$NOCANCEL"(dirfd, file_path.ptr, @as(c_uint, @intCast(flags)), @as(c_int, @intCast(perm)));
log("openat({d}, {s}) = {d}", .{ dirfd, file_path, rc });
return switch (Syscall.getErrno(rc)) {
- .SUCCESS => .{ .result = @intCast(bun.FileDescriptor, rc) },
+ .SUCCESS => .{ .result = @as(bun.FileDescriptor, @intCast(rc)) },
else => |err| .{
.err = .{
- .errno = @truncate(Syscall.Error.Int, @intFromEnum(err)),
+ .errno = @as(Syscall.Error.Int, @truncate(@intFromEnum(err))),
.syscall = .open,
},
},
@@ -214,15 +214,15 @@ pub fn openat(dirfd: bun.FileDescriptor, file_path: [:0]const u8, flags: JSC.Nod
}
while (true) {
- const rc = Syscall.system.openat(@intCast(Syscall.system.fd_t, dirfd), file_path, flags, perm);
+ const rc = Syscall.system.openat(@as(Syscall.system.fd_t, @intCast(dirfd)), file_path, flags, perm);
log("openat({d}, {s}) = {d}", .{ dirfd, file_path, rc });
return switch (Syscall.getErrno(rc)) {
- .SUCCESS => .{ .result = @intCast(bun.FileDescriptor, rc) },
+ .SUCCESS => .{ .result = @as(bun.FileDescriptor, @intCast(rc)) },
.INTR => continue,
else => |err| {
return Maybe(std.os.fd_t){
.err = .{
- .errno = @truncate(Syscall.Error.Int, @intFromEnum(err)),
+ .errno = @as(Syscall.Error.Int, @truncate(@intFromEnum(err))),
.syscall = .open,
},
};
@@ -235,7 +235,7 @@ pub fn openat(dirfd: bun.FileDescriptor, file_path: [:0]const u8, flags: JSC.Nod
pub fn open(file_path: [:0]const u8, flags: JSC.Node.Mode, perm: JSC.Node.Mode) Maybe(bun.FileDescriptor) {
// this is what open() does anyway.
- return openat(@intCast(bun.FileDescriptor, std.fs.cwd().fd), file_path, flags, perm);
+ return openat(@as(bun.FileDescriptor, @intCast(std.fs.cwd().fd)), file_path, flags, perm);
}
/// This function will prevent stdout and stderr from being closed.
@@ -289,7 +289,7 @@ pub fn write(fd: os.fd_t, bytes: []const u8) Maybe(usize) {
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
} else {
while (true) {
const rc = sys.write(fd, bytes.ptr, adjusted_len);
@@ -300,7 +300,7 @@ pub fn write(fd: os.fd_t, bytes: []const u8) Maybe(usize) {
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
unreachable;
}
@@ -316,7 +316,7 @@ fn veclen(buffers: anytype) usize {
pub fn writev(fd: os.fd_t, buffers: []std.os.iovec) Maybe(usize) {
if (comptime Environment.isMac) {
- const rc = writev_sym(fd, @ptrCast([*]std.os.iovec_const, buffers.ptr), @intCast(i32, buffers.len));
+ const rc = writev_sym(fd, @as([*]std.os.iovec_const, @ptrCast(buffers.ptr)), @as(i32, @intCast(buffers.len)));
if (comptime Environment.allow_assert)
log("writev({d}, {d}) = {d}", .{ fd, veclen(buffers), rc });
@@ -324,10 +324,10 @@ pub fn writev(fd: os.fd_t, buffers: []std.os.iovec) Maybe(usize) {
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
} else {
while (true) {
- const rc = writev_sym(fd, @ptrCast([*]std.os.iovec_const, buffers.ptr), buffers.len);
+ const rc = writev_sym(fd, @as([*]std.os.iovec_const, @ptrCast(buffers.ptr)), buffers.len);
if (comptime Environment.allow_assert)
log("writev({d}, {d}) = {d}", .{ fd, veclen(buffers), rc });
@@ -336,7 +336,7 @@ pub fn writev(fd: os.fd_t, buffers: []std.os.iovec) Maybe(usize) {
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
unreachable;
}
@@ -344,7 +344,7 @@ pub fn writev(fd: os.fd_t, buffers: []std.os.iovec) Maybe(usize) {
pub fn pwritev(fd: os.fd_t, buffers: []std.os.iovec, position: isize) Maybe(usize) {
if (comptime Environment.isMac) {
- const rc = pwritev_sym(fd, @ptrCast([*]std.os.iovec_const, buffers.ptr), @intCast(i32, buffers.len), position);
+ const rc = pwritev_sym(fd, @as([*]std.os.iovec_const, @ptrCast(buffers.ptr)), @as(i32, @intCast(buffers.len)), position);
if (comptime Environment.allow_assert)
log("pwritev({d}, {d}) = {d}", .{ fd, veclen(buffers), rc });
@@ -352,10 +352,10 @@ pub fn pwritev(fd: os.fd_t, buffers: []std.os.iovec, position: isize) Maybe(usiz
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
} else {
while (true) {
- const rc = pwritev_sym(fd, @ptrCast([*]std.os.iovec_const, buffers.ptr), buffers.len, position);
+ const rc = pwritev_sym(fd, @as([*]std.os.iovec_const, @ptrCast(buffers.ptr)), buffers.len, position);
if (comptime Environment.allow_assert)
log("pwritev({d}, {d}) = {d}", .{ fd, veclen(buffers), rc });
@@ -364,7 +364,7 @@ pub fn pwritev(fd: os.fd_t, buffers: []std.os.iovec, position: isize) Maybe(usiz
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
unreachable;
}
@@ -372,7 +372,7 @@ pub fn pwritev(fd: os.fd_t, buffers: []std.os.iovec, position: isize) Maybe(usiz
pub fn readv(fd: os.fd_t, buffers: []std.os.iovec) Maybe(usize) {
if (comptime Environment.isMac) {
- const rc = readv_sym(fd, buffers.ptr, @intCast(i32, buffers.len));
+ const rc = readv_sym(fd, buffers.ptr, @as(i32, @intCast(buffers.len)));
if (comptime Environment.allow_assert)
log("readv({d}, {d}) = {d}", .{ fd, veclen(buffers), rc });
@@ -380,7 +380,7 @@ pub fn readv(fd: os.fd_t, buffers: []std.os.iovec) Maybe(usize) {
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
} else {
while (true) {
const rc = readv_sym(fd, buffers.ptr, buffers.len);
@@ -392,7 +392,7 @@ pub fn readv(fd: os.fd_t, buffers: []std.os.iovec) Maybe(usize) {
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
unreachable;
}
@@ -400,7 +400,7 @@ pub fn readv(fd: os.fd_t, buffers: []std.os.iovec) Maybe(usize) {
pub fn preadv(fd: os.fd_t, buffers: []std.os.iovec, position: isize) Maybe(usize) {
if (comptime Environment.isMac) {
- const rc = preadv_sym(fd, buffers.ptr, @intCast(i32, buffers.len), position);
+ const rc = preadv_sym(fd, buffers.ptr, @as(i32, @intCast(buffers.len)), position);
if (comptime Environment.allow_assert)
log("preadv({d}, {d}) = {d}", .{ fd, veclen(buffers), rc });
@@ -408,7 +408,7 @@ pub fn preadv(fd: os.fd_t, buffers: []std.os.iovec, position: isize) Maybe(usize
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
} else {
while (true) {
const rc = preadv_sym(fd, buffers.ptr, buffers.len, position);
@@ -420,7 +420,7 @@ pub fn preadv(fd: os.fd_t, buffers: []std.os.iovec, position: isize) Maybe(usize
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
unreachable;
}
@@ -465,14 +465,14 @@ const fcntl_symbol = system.fcntl;
pub fn pread(fd: os.fd_t, buf: []u8, offset: i64) Maybe(usize) {
const adjusted_len = @min(buf.len, max_count);
- const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned
+ const ioffset = @as(i64, @bitCast(offset)); // the OS treats this as unsigned
while (true) {
const rc = pread_sym(fd, buf.ptr, adjusted_len, ioffset);
if (Maybe(usize).errnoSys(rc, .pread)) |err| {
if (err.getErrno() == .INTR) continue;
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
unreachable;
}
@@ -485,7 +485,7 @@ else
pub fn pwrite(fd: os.fd_t, bytes: []const u8, offset: i64) Maybe(usize) {
const adjusted_len = @min(bytes.len, max_count);
- const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned
+ const ioffset = @as(i64, @bitCast(offset)); // the OS treats this as unsigned
while (true) {
const rc = pwrite_sym(fd, bytes.ptr, adjusted_len, ioffset);
return if (Maybe(usize).errnoSysFd(rc, .pwrite, fd)) |err| {
@@ -493,7 +493,7 @@ pub fn pwrite(fd: os.fd_t, bytes: []const u8, offset: i64) Maybe(usize) {
.INTR => continue,
else => return err,
}
- } else Maybe(usize){ .result = @intCast(usize, rc) };
+ } else Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
unreachable;
@@ -510,7 +510,7 @@ pub fn read(fd: os.fd_t, buf: []u8) Maybe(usize) {
if (Maybe(usize).errnoSys(rc, .read)) |err| {
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
} else {
while (true) {
const rc = sys.read(fd, buf.ptr, adjusted_len);
@@ -520,7 +520,7 @@ pub fn read(fd: os.fd_t, buf: []u8) Maybe(usize) {
if (err.getErrno() == .INTR) continue;
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
}
unreachable;
@@ -537,7 +537,7 @@ pub fn recv(fd: os.fd_t, buf: []u8, flag: u32) Maybe(usize) {
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
} else {
while (true) {
const rc = linux.recvfrom(fd, buf.ptr, adjusted_len, flag | os.SOCK.CLOEXEC | linux.MSG.CMSG_CLOEXEC, null, null);
@@ -547,7 +547,7 @@ pub fn recv(fd: os.fd_t, buf: []u8, flag: u32) Maybe(usize) {
if (err.getErrno() == .INTR) continue;
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
}
unreachable;
@@ -559,7 +559,7 @@ pub fn send(fd: os.fd_t, buf: []const u8, flag: u32) Maybe(usize) {
if (Maybe(usize).errnoSys(rc, .send)) |err| {
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
} else {
while (true) {
const rc = linux.sendto(fd, buf.ptr, buf.len, flag | os.SOCK.CLOEXEC | os.MSG.NOSIGNAL, null, 0);
@@ -569,7 +569,7 @@ pub fn send(fd: os.fd_t, buf: []const u8, flag: u32) Maybe(usize) {
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
}
unreachable;
@@ -583,7 +583,7 @@ pub fn readlink(in: [:0]const u8, buf: []u8) Maybe(usize) {
if (err.getErrno() == .INTR) continue;
return err;
}
- return Maybe(usize){ .result = @intCast(usize, rc) };
+ return Maybe(usize){ .result = @as(usize, @intCast(rc)) };
}
unreachable;
}
@@ -741,16 +741,16 @@ fn mmap(
fd: os.fd_t,
offset: u64,
) Maybe([]align(mem.page_size) u8) {
- const ioffset = @bitCast(i64, offset); // the OS treats this as unsigned
+ const ioffset = @as(i64, @bitCast(offset)); // the OS treats this as unsigned
const rc = std.c.mmap(ptr, length, prot, flags, fd, ioffset);
const fail = std.c.MAP.FAILED;
if (rc == fail) {
return Maybe([]align(mem.page_size) u8){
- .err = .{ .errno = @truncate(Syscall.Error.Int, @intFromEnum(std.c.getErrno(@bitCast(i64, @intFromPtr(fail))))), .syscall = .mmap },
+ .err = .{ .errno = @as(Syscall.Error.Int, @truncate(@intFromEnum(std.c.getErrno(@as(i64, @bitCast(@intFromPtr(fail))))))), .syscall = .mmap },
};
}
- return Maybe([]align(mem.page_size) u8){ .result = @ptrCast([*]align(mem.page_size) u8, @alignCast(mem.page_size, rc))[0..length] };
+ return Maybe([]align(mem.page_size) u8){ .result = @as([*]align(mem.page_size) u8, @ptrCast(@alignCast(rc)))[0..length] };
}
pub fn mmapFile(path: [:0]const u8, flags: u32, wanted_size: ?usize, offset: usize) Maybe([]align(mem.page_size) u8) {
@@ -759,13 +759,13 @@ pub fn mmapFile(path: [:0]const u8, flags: u32, wanted_size: ?usize, offset: usi
.err => |err| return .{ .err = err },
};
- var size = std.math.sub(usize, @intCast(usize, switch (fstat(fd)) {
+ var size = std.math.sub(usize, @as(usize, @intCast(switch (fstat(fd)) {
.result => |result| result.size,
.err => |err| {
_ = close(fd);
return .{ .err = err };
},
- }), offset) catch 0;
+ })), offset) catch 0;
if (wanted_size) |size_| size = @min(size, size_);
@@ -804,7 +804,7 @@ pub const Error = struct {
pub const Int: type = std.math.IntFittingRange(0, max_errno_value + 5);
errno: Int,
- syscall: Syscall.Tag = @enumFromInt(Syscall.Tag, 0),
+ syscall: Syscall.Tag = @as(Syscall.Tag, @enumFromInt(0)),
path: []const u8 = "",
fd: i32 = -1,
@@ -813,7 +813,7 @@ pub const Error = struct {
}
pub fn fromCode(errno: os.E, syscall: Syscall.Tag) Error {
- return .{ .errno = @truncate(Int, @intFromEnum(errno)), .syscall = syscall };
+ return .{ .errno = @as(Int, @truncate(@intFromEnum(errno))), .syscall = syscall };
}
pub fn format(self: Error, comptime fmt: []const u8, opts: std.fmt.FormatOptions, writer: anytype) !void {
@@ -824,16 +824,16 @@ pub const Error = struct {
pub const retry = Error{
.errno = if (Environment.isLinux)
- @intCast(Int, @intFromEnum(os.E.AGAIN))
+ @as(Int, @intCast(@intFromEnum(os.E.AGAIN)))
else if (Environment.isMac)
- @intCast(Int, @intFromEnum(os.E.WOULDBLOCK))
+ @as(Int, @intCast(@intFromEnum(os.E.WOULDBLOCK)))
else
- @intCast(Int, @intFromEnum(os.E.INTR)),
+ @as(Int, @intCast(@intFromEnum(os.E.INTR))),
.syscall = .retry,
};
pub inline fn getErrno(this: Error) os.E {
- return @enumFromInt(os.E, this.errno);
+ return @as(os.E, @enumFromInt(this.errno));
}
pub inline fn withPath(this: Error, path: anytype) Error {
@@ -848,7 +848,7 @@ pub const Error = struct {
return Error{
.errno = this.errno,
.syscall = this.syscall,
- .fd = @intCast(i32, fd),
+ .fd = @as(i32, @intCast(fd)),
};
}
@@ -878,7 +878,7 @@ pub const Error = struct {
// errno label
if (this.errno > 0 and this.errno < C.SystemErrno.max) {
- const system_errno = @enumFromInt(C.SystemErrno, this.errno);
+ const system_errno = @as(C.SystemErrno, @enumFromInt(this.errno));
err.code = bun.String.static(@tagName(system_errno));
if (C.SystemErrno.labels.get(system_errno)) |label| {
err.message = bun.String.static(label);
@@ -935,9 +935,9 @@ pub fn setPipeCapacityOnLinux(fd: bun.FileDescriptor, capacity: usize) Maybe(usi
}
pub fn getMaxPipeSizeOnLinux() usize {
- return @intCast(
+ return @as(
usize,
- bun.once(struct {
+ @intCast(bun.once(struct {
fn once() c_int {
const strings = bun.strings;
const default_out_size = 512 * 1024;
@@ -963,8 +963,8 @@ pub fn getMaxPipeSizeOnLinux() usize {
// we set the absolute max to 8 MB because honestly that's a huge pipe
// my current linux machine only goes up to 1 MB, so that's very unlikely to be hit
- return @min(@truncate(c_int, max_pipe_size -| 32), 1024 * 1024 * 8);
+ return @min(@as(c_int, @truncate(max_pipe_size -| 32)), 1024 * 1024 * 8);
}
- }.once, c_int),
+ }.once, c_int)),
);
}
diff --git a/src/bun.js/node/types.zig b/src/bun.js/node/types.zig
index 0b19c7fcc..975a281e5 100644
--- a/src/bun.js/node/types.zig
+++ b/src/bun.js/node/types.zig
@@ -139,7 +139,7 @@ pub fn Maybe(comptime ResultType: type) type {
pub inline fn getErrno(this: @This()) os.E {
return switch (this) {
.result => os.E.SUCCESS,
- .err => |err| @enumFromInt(os.E, err.errno),
+ .err => |err| @as(os.E, @enumFromInt(err.errno)),
};
}
@@ -148,7 +148,7 @@ pub fn Maybe(comptime ResultType: type) type {
.SUCCESS => null,
else => |err| @This(){
// always truncate
- .err = .{ .errno = @truncate(Syscall.Error.Int, @intFromEnum(err)) },
+ .err = .{ .errno = @as(Syscall.Error.Int, @truncate(@intFromEnum(err))) },
},
};
}
@@ -158,7 +158,7 @@ pub fn Maybe(comptime ResultType: type) type {
.SUCCESS => null,
else => |err| @This(){
// always truncate
- .err = .{ .errno = @truncate(Syscall.Error.Int, @intFromEnum(err)), .syscall = syscall },
+ .err = .{ .errno = @as(Syscall.Error.Int, @truncate(@intFromEnum(err))), .syscall = syscall },
},
};
}
@@ -169,9 +169,9 @@ pub fn Maybe(comptime ResultType: type) type {
else => |err| @This(){
// always truncate
.err = .{
- .errno = @truncate(Syscall.Error.Int, @intFromEnum(err)),
+ .errno = @as(Syscall.Error.Int, @truncate(@intFromEnum(err))),
.syscall = syscall,
- .fd = @intCast(i32, fd),
+ .fd = @as(i32, @intCast(fd)),
},
},
};
@@ -182,7 +182,7 @@ pub fn Maybe(comptime ResultType: type) type {
.SUCCESS => null,
else => |err| @This(){
// always truncate
- .err = .{ .errno = @truncate(Syscall.Error.Int, @intFromEnum(err)), .syscall = syscall, .path = bun.asByteSlice(path) },
+ .err = .{ .errno = @as(Syscall.Error.Int, @truncate(@intFromEnum(err))), .syscall = syscall, .path = bun.asByteSlice(path) },
},
};
}
@@ -203,7 +203,7 @@ pub const StringOrBuffer = union(Tag) {
}
pub export fn external_string_finalizer(_: ?*anyopaque, _: JSC.C.JSStringRef, buffer: *anyopaque, byteLength: usize) void {
- bun.default_allocator.free(@ptrCast([*]const u8, buffer)[0..byteLength]);
+ bun.default_allocator.free(@as([*]const u8, @ptrCast(buffer))[0..byteLength]);
}
pub fn toJS(this: StringOrBuffer, ctx: JSC.C.JSContextRef, exception: JSC.C.ExceptionRef) JSC.C.JSValueRef {
@@ -846,7 +846,7 @@ pub const VectorArrayBuffer = struct {
bufferlist.ensureTotalCapacityPrecise(len) catch @panic("Failed to allocate memory for ArrayBuffer[]");
while (i < len) {
- const element = val.getIndex(globalObject, @truncate(u32, i));
+ const element = val.getIndex(globalObject, @as(u32, @truncate(i)));
if (!element.isCell()) {
JSC.throwInvalidArguments("Expected ArrayBufferView[]", .{}, globalObject, exception);
@@ -906,7 +906,7 @@ pub const ArgumentsSlice = struct {
}
pub fn from(vm: *JSC.VirtualMachine, arguments: []const JSC.JSValueRef) ArgumentsSlice {
- return init(vm, @ptrCast([*]const JSC.JSValue, arguments.ptr)[0..arguments.len]);
+ return init(vm, @as([*]const JSC.JSValue, @ptrCast(arguments.ptr))[0..arguments.len]);
}
pub fn init(vm: *JSC.VirtualMachine, arguments: []const JSC.JSValue) ArgumentsSlice {
return ArgumentsSlice{
@@ -918,7 +918,7 @@ pub const ArgumentsSlice = struct {
}
pub inline fn len(this: *const ArgumentsSlice) u16 {
- return @truncate(u16, this.remaining.len);
+ return @as(u16, @truncate(this.remaining.len));
}
pub fn eat(this: *ArgumentsSlice) void {
if (this.remaining.len == 0) {
@@ -952,7 +952,7 @@ pub fn fileDescriptorFromJS(ctx: JSC.C.JSContextRef, value: JSC.JSValue, excepti
return null;
}
- return @truncate(bun.FileDescriptor, fd);
+ return @as(bun.FileDescriptor, @truncate(fd));
}
// Node.js docs:
@@ -965,7 +965,7 @@ pub fn timeLikeFromJS(globalThis: *JSC.JSGlobalObject, value: JSC.JSValue, _: JS
return null;
}
- return @truncate(TimeLike, @intFromFloat(i64, milliseconds / @as(f64, std.time.ms_per_s)));
+ return @as(TimeLike, @truncate(@as(i64, @intFromFloat(milliseconds / @as(f64, std.time.ms_per_s)))));
}
if (!value.isNumber() and !value.isString()) {
@@ -977,12 +977,12 @@ pub fn timeLikeFromJS(globalThis: *JSC.JSGlobalObject, value: JSC.JSValue, _: JS
return null;
}
- return @truncate(TimeLike, @intFromFloat(i64, seconds));
+ return @as(TimeLike, @truncate(@as(i64, @intFromFloat(seconds))));
}
pub fn modeFromJS(ctx: JSC.C.JSContextRef, value: JSC.JSValue, exception: JSC.C.ExceptionRef) ?Mode {
const mode_int = if (value.isNumber())
- @truncate(Mode, value.to(Mode))
+ @as(Mode, @truncate(value.to(Mode)))
else brk: {
if (value.isUndefinedOrNull()) return null;
@@ -1062,7 +1062,7 @@ pub const PathOrFileDescriptor = union(Tag) {
pub fn toJS(this: JSC.Node.PathOrFileDescriptor, ctx: JSC.C.JSContextRef, exception: JSC.C.ExceptionRef) JSC.C.JSValueRef {
return switch (this) {
.path => this.path.toJS(ctx, exception),
- .fd => JSC.JSValue.jsNumberFromInt32(@intCast(i32, this.fd)).asRef(),
+ .fd => JSC.JSValue.jsNumberFromInt32(@as(i32, @intCast(this.fd))).asRef(),
};
}
};
@@ -1167,7 +1167,7 @@ pub const FileSystemFlags = enum(Mode) {
pub fn fromJS(ctx: JSC.C.JSContextRef, val: JSC.JSValue, exception: JSC.C.ExceptionRef) ?FileSystemFlags {
if (val.isNumber()) {
const number = val.coerce(i32, ctx);
- return @enumFromInt(FileSystemFlags, @intCast(Mode, @max(number, 0)));
+ return @as(FileSystemFlags, @enumFromInt(@as(Mode, @intCast(@max(number, 0)))));
}
const jsType = val.jsType();
@@ -1198,7 +1198,7 @@ pub const FileSystemFlags = enum(Mode) {
inline else => |is_16bit| {
const chars = if (is_16bit) str.utf16SliceAligned() else str.slice();
- if (std.ascii.isDigit(@truncate(u8, chars[0]))) {
+ if (std.ascii.isDigit(@as(u8, @truncate(chars[0])))) {
// node allows "0o644" as a string :(
if (is_16bit) {
const slice = str.toSlice(bun.default_allocator);
@@ -1223,7 +1223,7 @@ pub const FileSystemFlags = enum(Mode) {
return null;
};
- return @enumFromInt(FileSystemFlags, @intCast(Mode, flags));
+ return @as(FileSystemFlags, @enumFromInt(@as(Mode, @intCast(flags))));
}
return null;
@@ -1235,7 +1235,7 @@ pub const Date = enum(u64) {
_,
pub fn toJS(this: Date, ctx: JSC.C.JSContextRef, exception: JSC.C.ExceptionRef) JSC.C.JSValueRef {
- const seconds = @floatCast(f64, @floatFromInt(f64, @intFromEnum(this)) * 1000.0);
+ const seconds = @as(f64, @floatCast(@as(f64, @floatFromInt(@intFromEnum(this))) * 1000.0));
const unix_timestamp = JSC.JSValue.jsNumber(seconds);
const array: [1]JSC.C.JSValueRef = .{unix_timestamp.asObjectRef()};
const obj = JSC.C.JSObjectMakeDate(ctx, 1, &array, exception);
@@ -1272,34 +1272,34 @@ fn StatsDataType(comptime T: type) type {
const ctime = stat_.ctime();
return @This(){
- .dev = @truncate(T, @intCast(i64, stat_.dev)),
- .ino = @truncate(T, @intCast(i64, stat_.ino)),
- .mode = @truncate(T, @intCast(i64, stat_.mode)),
- .nlink = @truncate(T, @intCast(i64, stat_.nlink)),
- .uid = @truncate(T, @intCast(i64, stat_.uid)),
- .gid = @truncate(T, @intCast(i64, stat_.gid)),
- .rdev = @truncate(T, @intCast(i64, stat_.rdev)),
- .size = @truncate(T, @intCast(i64, stat_.size)),
- .blksize = @truncate(T, @intCast(i64, stat_.blksize)),
- .blocks = @truncate(T, @intCast(i64, stat_.blocks)),
- .atime_ms = (@floatFromInt(f64, @max(atime.tv_sec, 0)) * std.time.ms_per_s) + (@floatFromInt(f64, @intCast(usize, @max(atime.tv_nsec, 0))) / std.time.ns_per_ms),
- .mtime_ms = (@floatFromInt(f64, @max(mtime.tv_sec, 0)) * std.time.ms_per_s) + (@floatFromInt(f64, @intCast(usize, @max(mtime.tv_nsec, 0))) / std.time.ns_per_ms),
- .ctime_ms = (@floatFromInt(f64, @max(ctime.tv_sec, 0)) * std.time.ms_per_s) + (@floatFromInt(f64, @intCast(usize, @max(ctime.tv_nsec, 0))) / std.time.ns_per_ms),
- .atime = @enumFromInt(Date, @intCast(u64, @max(atime.tv_sec, 0))),
- .mtime = @enumFromInt(Date, @intCast(u64, @max(mtime.tv_sec, 0))),
- .ctime = @enumFromInt(Date, @intCast(u64, @max(ctime.tv_sec, 0))),
+ .dev = @as(T, @truncate(@as(i64, @intCast(stat_.dev)))),
+ .ino = @as(T, @truncate(@as(i64, @intCast(stat_.ino)))),
+ .mode = @as(T, @truncate(@as(i64, @intCast(stat_.mode)))),
+ .nlink = @as(T, @truncate(@as(i64, @intCast(stat_.nlink)))),
+ .uid = @as(T, @truncate(@as(i64, @intCast(stat_.uid)))),
+ .gid = @as(T, @truncate(@as(i64, @intCast(stat_.gid)))),
+ .rdev = @as(T, @truncate(@as(i64, @intCast(stat_.rdev)))),
+ .size = @as(T, @truncate(@as(i64, @intCast(stat_.size)))),
+ .blksize = @as(T, @truncate(@as(i64, @intCast(stat_.blksize)))),
+ .blocks = @as(T, @truncate(@as(i64, @intCast(stat_.blocks)))),
+ .atime_ms = (@as(f64, @floatFromInt(@max(atime.tv_sec, 0))) * std.time.ms_per_s) + (@as(f64, @floatFromInt(@as(usize, @intCast(@max(atime.tv_nsec, 0))))) / std.time.ns_per_ms),
+ .mtime_ms = (@as(f64, @floatFromInt(@max(mtime.tv_sec, 0))) * std.time.ms_per_s) + (@as(f64, @floatFromInt(@as(usize, @intCast(@max(mtime.tv_nsec, 0))))) / std.time.ns_per_ms),
+ .ctime_ms = (@as(f64, @floatFromInt(@max(ctime.tv_sec, 0))) * std.time.ms_per_s) + (@as(f64, @floatFromInt(@as(usize, @intCast(@max(ctime.tv_nsec, 0))))) / std.time.ns_per_ms),
+ .atime = @as(Date, @enumFromInt(@as(u64, @intCast(@max(atime.tv_sec, 0))))),
+ .mtime = @as(Date, @enumFromInt(@as(u64, @intCast(@max(mtime.tv_sec, 0))))),
+ .ctime = @as(Date, @enumFromInt(@as(u64, @intCast(@max(ctime.tv_sec, 0))))),
// Linux doesn't include this info in stat
// maybe it does in statx, but do you really need birthtime? If you do please file an issue.
.birthtime_ms = if (Environment.isLinux)
0
else
- @truncate(T, @intCast(i64, if (stat_.birthtime().tv_nsec > 0) (@intCast(usize, stat_.birthtime().tv_nsec) / std.time.ns_per_ms) else 0)),
+ @as(T, @truncate(@as(i64, @intCast(if (stat_.birthtime().tv_nsec > 0) (@as(usize, @intCast(stat_.birthtime().tv_nsec)) / std.time.ns_per_ms) else 0)))),
.birthtime = if (Environment.isLinux)
- @enumFromInt(Date, 0)
+ @as(Date, @enumFromInt(0))
else
- @enumFromInt(Date, @intCast(u64, @max(stat_.birthtime().tv_sec, 0))),
+ @as(Date, @enumFromInt(@as(u64, @intCast(@max(stat_.birthtime().tv_sec, 0))))),
};
}
};
@@ -1375,33 +1375,33 @@ pub const Stats = union(enum) {
fn modeInternal(this: *This) i32 {
return switch (this.*) {
- .big => @truncate(i32, this.big.mode),
+ .big => @as(i32, @truncate(this.big.mode)),
.small => this.small.mode,
};
}
pub fn isBlockDevice(this: *This) JSC.JSValue {
- return JSC.JSValue.jsBoolean(os.S.ISBLK(@intCast(Mode, this.modeInternal())));
+ return JSC.JSValue.jsBoolean(os.S.ISBLK(@as(Mode, @intCast(this.modeInternal()))));
}
pub fn isCharacterDevice(this: *This) JSC.JSValue {
- return JSC.JSValue.jsBoolean(os.S.ISCHR(@intCast(Mode, this.modeInternal())));
+ return JSC.JSValue.jsBoolean(os.S.ISCHR(@as(Mode, @intCast(this.modeInternal()))));
}
pub fn isDirectory(this: *This) JSC.JSValue {
- return JSC.JSValue.jsBoolean(os.S.ISDIR(@intCast(Mode, this.modeInternal())));
+ return JSC.JSValue.jsBoolean(os.S.ISDIR(@as(Mode, @intCast(this.modeInternal()))));
}
pub fn isFIFO(this: *This) JSC.JSValue {
- return JSC.JSValue.jsBoolean(os.S.ISFIFO(@intCast(Mode, this.modeInternal())));
+ return JSC.JSValue.jsBoolean(os.S.ISFIFO(@as(Mode, @intCast(this.modeInternal()))));
}
pub fn isFile(this: *This) JSC.JSValue {
- return JSC.JSValue.jsBoolean(os.S.ISREG(@intCast(Mode, this.modeInternal())));
+ return JSC.JSValue.jsBoolean(os.S.ISREG(@as(Mode, @intCast(this.modeInternal()))));
}
pub fn isSocket(this: *This) JSC.JSValue {
- return JSC.JSValue.jsBoolean(os.S.ISSOCK(@intCast(Mode, this.modeInternal())));
+ return JSC.JSValue.jsBoolean(os.S.ISSOCK(@as(Mode, @intCast(this.modeInternal()))));
}
// Node.js says this method is only valid on the result of lstat()
@@ -1410,7 +1410,7 @@ pub const Stats = union(enum) {
//
// See https://nodejs.org/api/fs.html#statsissymboliclink
pub fn isSymbolicLink(this: *This) JSC.JSValue {
- return JSC.JSValue.jsBoolean(os.S.ISLNK(@intCast(Mode, this.modeInternal())));
+ return JSC.JSValue.jsBoolean(os.S.ISLNK(@as(Mode, @intCast(this.modeInternal()))));
}
pub fn finalize(this: *This) callconv(.C) void {
@@ -2204,7 +2204,7 @@ pub const Process = struct {
// However, this might be called many times in a row, so we use a pre-allocated buffer
// that way we don't have to worry about garbage collector
JSC.VirtualMachine.get().bundler.fs.top_level_dir = std.os.getcwd(&JSC.VirtualMachine.get().bundler.fs.top_level_dir_buf) catch {
- _ = Syscall.chdir(@ptrCast([:0]const u8, JSC.VirtualMachine.get().bundler.fs.top_level_dir));
+ _ = Syscall.chdir(@as([:0]const u8, @ptrCast(JSC.VirtualMachine.get().bundler.fs.top_level_dir)));
return JSC.toInvalidArguments("Invalid path", .{}, globalObject.ref());
};
@@ -2220,13 +2220,13 @@ pub const Process = struct {
pub fn exit(globalObject: *JSC.JSGlobalObject, code: i32) callconv(.C) void {
var vm = globalObject.bunVM();
if (vm.worker) |worker| {
- vm.exit_handler.exit_code = @truncate(u8, @max(code, 0));
+ vm.exit_handler.exit_code = @as(u8, @truncate(@max(code, 0)));
worker.terminate();
return;
}
vm.onExit();
- std.os.exit(@truncate(u8, @intCast(u32, @max(code, 0))));
+ std.os.exit(@as(u8, @truncate(@as(u32, @intCast(@max(code, 0))))));
}
pub export const Bun__version: [*:0]const u8 = "v" ++ bun.Global.package_json_version;
diff --git a/src/bun.js/test/diff_format.zig b/src/bun.js/test/diff_format.zig
index 4558a5f39..46afa8d0b 100644
--- a/src/bun.js/test/diff_format.zig
+++ b/src/bun.js/test/diff_format.zig
@@ -104,7 +104,7 @@ pub const DiffFormatter = struct {
ZigConsoleClient.format(
.Debug,
this.globalObject,
- @ptrCast([*]const JSValue, &received),
+ @as([*]const JSValue, @ptrCast(&received)),
1,
Writer,
Writer,
@@ -118,7 +118,7 @@ pub const DiffFormatter = struct {
ZigConsoleClient.format(
.Debug,
this.globalObject,
- @ptrCast([*]const JSValue, &this.expected),
+ @as([*]const JSValue, @ptrCast(&this.expected)),
1,
Writer,
Writer,
diff --git a/src/bun.js/test/expect.zig b/src/bun.js/test/expect.zig
index 12f7011fb..e7209e683 100644
--- a/src/bun.js/test/expect.zig
+++ b/src/bun.js/test/expect.zig
@@ -117,7 +117,7 @@ pub const Expect = struct {
const now = std.time.Instant.now() catch unreachable;
const pending_test = Jest.runner.?.pending_test.?;
const elapsed = @divFloor(now.since(pending_test.started_at), std.time.ns_per_ms);
- const remaining = @truncate(u32, Jest.runner.?.last_test_timeout_timer_duration -| elapsed);
+ const remaining = @as(u32, @truncate(Jest.runner.?.last_test_timeout_timer_duration -| elapsed));
if (!globalThis.bunVM().waitForPromiseWithTimeout(promise, remaining)) {
pending_test.timeout();
@@ -2139,7 +2139,7 @@ pub const Expect = struct {
active_test_expectation_counter.actual += 1;
const not = this.flags.not;
- var pass = value.jsType().isArray() and @intCast(i32, value.getLength(globalThis)) == size.toInt32();
+ var pass = value.jsType().isArray() and @as(i32, @intCast(value.getLength(globalThis))) == size.toInt32();
if (not) pass = !pass;
if (pass) return thisValue;
@@ -3003,7 +3003,7 @@ pub const Expect = struct {
const times = arguments[0].coerce(i32, globalObject);
- var pass = @intCast(i32, calls.getLength(globalObject)) == times;
+ var pass = @as(i32, @intCast(calls.getLength(globalObject))) == times;
const not = this.flags.not;
if (not) pass = !pass;
diff --git a/src/bun.js/test/jest.zig b/src/bun.js/test/jest.zig
index 4c97b5c77..429b79bcc 100644
--- a/src/bun.js/test/jest.zig
+++ b/src/bun.js/test/jest.zig
@@ -127,7 +127,7 @@ pub const TestRunner = struct {
if (this.last_test_timeout_timer_duration != milliseconds) {
this.last_test_timeout_timer_duration = milliseconds;
- this.test_timeout_timer.?.set(this, onTestTimeout, @intCast(i32, milliseconds), @intCast(i32, milliseconds));
+ this.test_timeout_timer.?.set(this, onTestTimeout, @as(i32, @intCast(milliseconds)), @as(i32, @intCast(milliseconds)));
}
}
}
@@ -209,7 +209,7 @@ pub const TestRunner = struct {
pub fn addTestCount(this: *TestRunner, count: u32) u32 {
this.tests.ensureUnusedCapacity(this.allocator, count) catch unreachable;
- const start = @truncate(Test.ID, this.tests.len);
+ const start = @as(Test.ID, @truncate(this.tests.len));
this.tests.len += count;
var statuses = this.tests.items(.status)[start..][0..count];
@memset(statuses, Test.Status.pending);
@@ -218,15 +218,15 @@ pub const TestRunner = struct {
}
pub fn getOrPutFile(this: *TestRunner, file_path: string) *DescribeScope {
- var entry = this.index.getOrPut(this.allocator, @truncate(u32, bun.hash(file_path))) catch unreachable;
+ var entry = this.index.getOrPut(this.allocator, @as(u32, @truncate(bun.hash(file_path)))) catch unreachable;
if (entry.found_existing) {
return this.files.items(.module_scope)[entry.value_ptr.*];
}
var scope = this.allocator.create(DescribeScope) catch unreachable;
- const file_id = @truncate(File.ID, this.files.len);
+ const file_id = @as(File.ID, @truncate(this.files.len));
scope.* = DescribeScope{
.file_id = file_id,
- .test_id_start = @truncate(Test.ID, this.tests.len),
+ .test_id_start = @as(Test.ID, @truncate(this.tests.len)),
};
this.files.append(this.allocator, .{ .module_scope = scope, .source = logger.Source.initEmptyFile(file_path) }) catch unreachable;
entry.value_ptr.* = file_id;
@@ -502,7 +502,7 @@ pub const Jest = struct {
JSError(getAllocator(ctx), "Run \"bun test\" to run a test", .{}, ctx, exception);
return js.JSValueMakeUndefined(ctx);
};
- const arguments = @ptrCast([]const JSC.JSValue, arguments_);
+ const arguments = @as([]const JSC.JSValue, @ptrCast(arguments_));
if (arguments.len < 1 or !arguments[0].isString()) {
JSError(getAllocator(ctx), "Bun.jest() expects a string filename", .{}, ctx, exception);
@@ -1077,7 +1077,7 @@ pub const DescribeScope = struct {
const file = this.file_id;
const allocator = getAllocator(globalObject);
var tests: []TestScope = this.tests.items;
- const end = @truncate(TestRunner.Test.ID, tests.len);
+ const end = @as(TestRunner.Test.ID, @truncate(tests.len));
this.pending_tests = std.DynamicBitSetUnmanaged.initFull(allocator, end) catch unreachable;
if (end == 0) {
@@ -1384,7 +1384,7 @@ pub const TestRunnerTask = struct {
fn deinit(this: *TestRunnerTask) void {
var vm = JSC.VirtualMachine.get();
if (vm.onUnhandledRejectionCtx) |ctx| {
- if (ctx == @ptrCast(*anyopaque, this)) {
+ if (ctx == @as(*anyopaque, @ptrCast(this))) {
vm.onUnhandledRejectionCtx = null;
}
}
@@ -1457,14 +1457,14 @@ inline fn createScope(
var timeout_ms: u32 = Jest.runner.?.default_timeout_ms;
if (options.isNumber()) {
- timeout_ms = @intCast(u32, @max(args[2].coerce(i32, globalThis), 0));
+ timeout_ms = @as(u32, @intCast(@max(args[2].coerce(i32, globalThis), 0)));
} else if (options.isObject()) {
if (options.get(globalThis, "timeout")) |timeout| {
if (!timeout.isNumber()) {
globalThis.throwPretty("{s} expects timeout to be a number", .{signature});
return .zero;
}
- timeout_ms = @intCast(u32, @max(timeout.coerce(i32, globalThis), 0));
+ timeout_ms = @as(u32, @intCast(@max(timeout.coerce(i32, globalThis), 0)));
}
if (options.get(globalThis, "retry")) |retries| {
if (!retries.isNumber()) {
@@ -1642,7 +1642,7 @@ pub fn printGithubAnnotation(exception: *JSC.ZigException) void {
var i: i16 = 0;
while (i < frames.len) : (i += 1) {
- const frame = frames[@intCast(usize, i)];
+ const frame = frames[@as(usize, @intCast(i))];
const source_url = frame.source_url.toUTF8(allocator);
defer source_url.deinit();
const file = bun.path.relative(dir, source_url.slice());
diff --git a/src/bun.js/test/pretty_format.zig b/src/bun.js/test/pretty_format.zig
index e907dd711..7d334d8e7 100644
--- a/src/bun.js/test/pretty_format.zig
+++ b/src/bun.js/test/pretty_format.zig
@@ -549,7 +549,7 @@ pub const JestPrettyFormat = struct {
var writer = WrappedWriter(Writer){ .ctx = writer_ };
var slice = slice_;
var i: u32 = 0;
- var len: u32 = @truncate(u32, slice.len);
+ var len: u32 = @as(u32, @truncate(slice.len));
var any_non_ascii = false;
while (i < len) : (i += 1) {
switch (slice[i]) {
@@ -576,7 +576,7 @@ pub const JestPrettyFormat = struct {
any_non_ascii = false;
slice = slice[@min(slice.len, i + 1)..];
i = 0;
- len = @truncate(u32, slice.len);
+ len = @as(u32, @truncate(slice.len));
const next_value = this.remaining_values[0];
this.remaining_values = this.remaining_values[1..];
switch (token) {
@@ -1047,7 +1047,7 @@ pub const JestPrettyFormat = struct {
i = -i;
}
const digits = if (i != 0)
- bun.fmt.fastDigitCount(@intCast(usize, i)) + @as(usize, @intFromBool(is_negative))
+ bun.fmt.fastDigitCount(@as(usize, @intCast(i))) + @as(usize, @intFromBool(is_negative))
else
1;
this.addForNewLine(digits);
@@ -1139,7 +1139,7 @@ pub const JestPrettyFormat = struct {
}
},
.Array => {
- const len = @truncate(u32, value.getLength(this.globalThis));
+ const len = @as(u32, @truncate(value.getLength(this.globalThis)));
if (len == 0) {
writer.writeAll("[]");
this.addForNewLine(2);
@@ -1250,9 +1250,9 @@ pub const JestPrettyFormat = struct {
enable_ansi_colors,
);
} else if (value.as(JSC.API.Bun.Timer.TimerObject)) |timer| {
- this.addForNewLine("Timeout(# ) ".len + bun.fmt.fastDigitCount(@intCast(u64, @max(timer.id, 0))));
+ this.addForNewLine("Timeout(# ) ".len + bun.fmt.fastDigitCount(@as(u64, @intCast(@max(timer.id, 0)))));
if (timer.kind == .setInterval) {
- this.addForNewLine("repeats ".len + bun.fmt.fastDigitCount(@intCast(u64, @max(timer.id, 0))));
+ this.addForNewLine("repeats ".len + bun.fmt.fastDigitCount(@as(u64, @intCast(@max(timer.id, 0)))));
writer.print(comptime Output.prettyFmt("<r><blue>Timeout<r> <d>(#<yellow>{d}<r><d>, repeats)<r>", enable_ansi_colors), .{
timer.id,
});
@@ -1670,7 +1670,7 @@ pub const JestPrettyFormat = struct {
var j: usize = 0;
while (j < length) : (j += 1) {
- const child = JSC.JSObject.getIndex(children, this.globalThis, @intCast(u32, j));
+ const child = JSC.JSObject.getIndex(children, this.globalThis, @as(u32, @intCast(j)));
this.format(Tag.get(child, this.globalThis), Writer, writer_, child, this.globalThis, enable_ansi_colors);
if (j + 1 < length) {
writer.writeAll("\n");
@@ -1827,7 +1827,7 @@ pub const JestPrettyFormat = struct {
if (slice.len > 0) {
switch (jsType) {
.Int8Array => {
- const slice_with_type = @alignCast(std.meta.alignment([]i8), std.mem.bytesAsSlice(i8, slice));
+ const slice_with_type: []align(std.meta.alignment([]i8)) i8 = @alignCast(std.mem.bytesAsSlice(i8, slice));
this.indent += 1;
defer this.indent -|= 1;
for (slice_with_type) |el| {
@@ -1837,7 +1837,7 @@ pub const JestPrettyFormat = struct {
}
},
.Int16Array => {
- const slice_with_type = @alignCast(std.meta.alignment([]i16), std.mem.bytesAsSlice(i16, slice));
+ const slice_with_type: []align(std.meta.alignment([]i16)) i16 = @alignCast(std.mem.bytesAsSlice(i16, slice));
this.indent += 1;
defer this.indent -|= 1;
for (slice_with_type) |el| {
@@ -1847,7 +1847,7 @@ pub const JestPrettyFormat = struct {
}
},
.Uint16Array => {
- const slice_with_type = @alignCast(std.meta.alignment([]u16), std.mem.bytesAsSlice(u16, slice));
+ const slice_with_type: []align(std.meta.alignment([]u16)) u16 = @alignCast(std.mem.bytesAsSlice(u16, slice));
this.indent += 1;
defer this.indent -|= 1;
for (slice_with_type) |el| {
@@ -1857,7 +1857,7 @@ pub const JestPrettyFormat = struct {
}
},
.Int32Array => {
- const slice_with_type = @alignCast(std.meta.alignment([]i32), std.mem.bytesAsSlice(i32, slice));
+ const slice_with_type: []align(std.meta.alignment([]i32)) i32 = @alignCast(std.mem.bytesAsSlice(i32, slice));
this.indent += 1;
defer this.indent -|= 1;
for (slice_with_type) |el| {
@@ -1867,7 +1867,7 @@ pub const JestPrettyFormat = struct {
}
},
.Uint32Array => {
- const slice_with_type = @alignCast(std.meta.alignment([]u32), std.mem.bytesAsSlice(u32, slice));
+ const slice_with_type: []align(std.meta.alignment([]u32)) u32 = @alignCast(std.mem.bytesAsSlice(u32, slice));
this.indent += 1;
defer this.indent -|= 1;
for (slice_with_type) |el| {
@@ -1877,7 +1877,7 @@ pub const JestPrettyFormat = struct {
}
},
.Float32Array => {
- const slice_with_type = @alignCast(std.meta.alignment([]f32), std.mem.bytesAsSlice(f32, slice));
+ const slice_with_type: []align(std.meta.alignment([]f32)) f32 = @alignCast(std.mem.bytesAsSlice(f32, slice));
this.indent += 1;
defer this.indent -|= 1;
for (slice_with_type) |el| {
@@ -1887,7 +1887,7 @@ pub const JestPrettyFormat = struct {
}
},
.Float64Array => {
- const slice_with_type = @alignCast(std.meta.alignment([]f64), std.mem.bytesAsSlice(f64, slice));
+ const slice_with_type: []align(std.meta.alignment([]f64)) f64 = @alignCast(std.mem.bytesAsSlice(f64, slice));
this.indent += 1;
defer this.indent -|= 1;
for (slice_with_type) |el| {
@@ -1897,7 +1897,7 @@ pub const JestPrettyFormat = struct {
}
},
.BigInt64Array => {
- const slice_with_type = @alignCast(std.meta.alignment([]i64), std.mem.bytesAsSlice(i64, slice));
+ const slice_with_type: []align(std.meta.alignment([]i64)) i64 = @alignCast(std.mem.bytesAsSlice(i64, slice));
this.indent += 1;
defer this.indent -|= 1;
for (slice_with_type) |el| {
@@ -1907,7 +1907,7 @@ pub const JestPrettyFormat = struct {
}
},
.BigUint64Array => {
- const slice_with_type = @alignCast(std.meta.alignment([]u64), std.mem.bytesAsSlice(u64, slice));
+ const slice_with_type: []align(std.meta.alignment([]u64)) u64 = @alignCast(std.mem.bytesAsSlice(u64, slice));
this.indent += 1;
defer this.indent -|= 1;
for (slice_with_type) |el| {
@@ -1919,7 +1919,7 @@ pub const JestPrettyFormat = struct {
// Uint8Array, Uint8ClampedArray, DataView, ArrayBuffer
else => {
- var slice_with_type = @alignCast(std.meta.alignment([]u8), std.mem.bytesAsSlice(u8, slice));
+ var slice_with_type: []align(std.meta.alignment([]u8)) u8 = @alignCast(std.mem.bytesAsSlice(u8, slice));
this.indent += 1;
defer this.indent -|= 1;
for (slice_with_type) |el| {
diff --git a/src/bun.js/webcore.zig b/src/bun.js/webcore.zig
index 8cb9ec80a..5fdc64c82 100644
--- a/src/bun.js/webcore.zig
+++ b/src/bun.js/webcore.zig
@@ -419,7 +419,7 @@ pub const Crypto = struct {
var cost: ?usize = null;
var parallelization: ?usize = null;
var maxmem: usize = 32 * 1024 * 1024;
- const keylen = @intCast(u32, @truncate(i33, keylen_int));
+ const keylen = @as(u32, @intCast(@as(i33, @truncate(keylen_int))));
if (options) |options_value| outer: {
if (options_value.isUndefined() or options_value == .zero)
@@ -441,7 +441,7 @@ pub const Crypto = struct {
.{},
);
} else if (N_int != 0) {
- cost = @intCast(usize, N_int);
+ cost = @as(usize, @intCast(N_int));
}
}
@@ -456,7 +456,7 @@ pub const Crypto = struct {
.{},
);
} else if (r_int != 0) {
- blockSize = @intCast(usize, r_int);
+ blockSize = @as(usize, @intCast(r_int));
}
}
@@ -471,7 +471,7 @@ pub const Crypto = struct {
.{},
);
} else if (p_int != 0) {
- parallelization = @intCast(usize, p_int);
+ parallelization = @as(usize, @intCast(p_int));
}
}
@@ -485,7 +485,7 @@ pub const Crypto = struct {
.{},
);
} else if (p_int != 0) {
- maxmem = @intCast(usize, p_int);
+ maxmem = @as(usize, @intCast(p_int));
}
}
}
@@ -664,7 +664,7 @@ pub const Crypto = struct {
) callconv(.C) JSC.JSValue {
var slice = array.slice();
randomData(globalThis, slice.ptr, slice.len);
- return @enumFromInt(JSC.JSValue, @bitCast(i64, @intFromPtr(array)));
+ return @as(JSC.JSValue, @enumFromInt(@as(i64, @bitCast(@intFromPtr(array)))));
}
fn randomData(
diff --git a/src/bun.js/webcore/blob.zig b/src/bun.js/webcore/blob.zig
index 7e0b7f24b..f2332a764 100644
--- a/src/bun.js/webcore/blob.zig
+++ b/src/bun.js/webcore/blob.zig
@@ -217,7 +217,7 @@ pub const Blob = struct {
pub const WriteError = error{};
pub fn write(this: StructuredCloneWriter, bytes: []const u8) WriteError!usize {
- this.impl(this.ctx, bytes.ptr, @truncate(u32, bytes.len));
+ this.impl(this.ctx, bytes.ptr, @as(u32, @truncate(bytes.len)));
return bytes.len;
}
};
@@ -229,9 +229,9 @@ pub const Blob = struct {
) !void {
try writer.writeIntNative(u8, serialization_version);
- try writer.writeIntNative(u64, @intCast(u64, this.offset));
+ try writer.writeIntNative(u64, @as(u64, @intCast(this.offset)));
- try writer.writeIntNative(u32, @truncate(u32, this.content_type.len));
+ try writer.writeIntNative(u32, @as(u32, @truncate(this.content_type.len)));
_ = try writer.write(this.content_type);
try writer.writeIntNative(u8, @intFromBool(this.content_type_was_set));
@@ -329,7 +329,7 @@ pub const Blob = struct {
switch (pathlike_tag) {
.fd => {
- const fd = @intCast(i32, try reader.readIntNative(u32));
+ const fd = @as(i32, @intCast(try reader.readIntNative(u32)));
var blob = try allocator.create(Blob);
blob.* = Blob.findOrCreateFileFromPath(
@@ -369,7 +369,7 @@ pub const Blob = struct {
},
};
blob.allocator = allocator;
- blob.offset = @intCast(u52, offset);
+ blob.offset = @as(u52, @intCast(offset));
if (content_type.len > 0) {
blob.content_type = content_type;
blob.content_type_allocated = true;
@@ -736,9 +736,9 @@ pub const Blob = struct {
return JSPromise.resolvedPromiseValue(ctx.ptr(), cloned.toJS(ctx)).asObjectRef();
} else if (destination_type == .bytes and source_type == .file) {
var fake_call_frame: [8]JSC.JSValue = undefined;
- @memset(@ptrCast([*]u8, &fake_call_frame)[0..@sizeOf(@TypeOf(fake_call_frame))], 0);
+ @memset(@as([*]u8, @ptrCast(&fake_call_frame))[0..@sizeOf(@TypeOf(fake_call_frame))], 0);
const blob_value =
- source_blob.getSlice(ctx, @ptrCast(*JSC.CallFrame, &fake_call_frame));
+ source_blob.getSlice(ctx, @as(*JSC.CallFrame, @ptrCast(&fake_call_frame)));
return JSPromise.resolvedPromiseValue(
ctx.ptr(),
@@ -1010,7 +1010,7 @@ pub const Blob = struct {
// we only truncate if it's a path
// if it's a file descriptor, we assume they want manual control over that behavior
if (truncate) {
- _ = JSC.Node.Syscall.system.ftruncate(fd, @intCast(i64, written));
+ _ = JSC.Node.Syscall.system.ftruncate(fd, @as(i64, @intCast(written)));
}
if (needs_open) {
@@ -1076,7 +1076,7 @@ pub const Blob = struct {
var written: usize = 0;
defer {
if (truncate) {
- _ = JSC.Node.Syscall.system.ftruncate(fd, @intCast(i64, written));
+ _ = JSC.Node.Syscall.system.ftruncate(fd, @as(i64, @intCast(written)));
}
if (needs_open) {
@@ -1298,18 +1298,18 @@ pub const Blob = struct {
switch (file.pathlike) {
.fd => |fd| {
- try writer.writeIntNative(u32, @intCast(u32, fd));
+ try writer.writeIntNative(u32, @as(u32, @intCast(fd)));
},
.path => |path| {
const path_slice = path.slice();
- try writer.writeIntNative(u32, @truncate(u32, path_slice.len));
+ try writer.writeIntNative(u32, @as(u32, @truncate(path_slice.len)));
_ = try writer.write(path_slice);
},
}
},
.bytes => |bytes| {
const slice = bytes.slice();
- try writer.writeIntNative(u32, @truncate(u32, slice.len));
+ try writer.writeIntNative(u32, @as(u32, @truncate(slice.len)));
_ = try writer.write(slice);
},
}
@@ -1409,7 +1409,7 @@ pub const Blob = struct {
this.file_blob.store.?.data.file.pathlike.path;
this.system_error = (JSC.Node.Syscall.Error{
- .errno = @intCast(JSC.Node.Syscall.Error.Int, -completion.result),
+ .errno = @as(JSC.Node.Syscall.Error.Int, @intCast(-completion.result)),
.path = path_string.slice(),
.syscall = .open,
}).toSystemError();
@@ -1544,7 +1544,7 @@ pub const Blob = struct {
}
};
- return try ReadFile.createWithCtx(allocator, store, @ptrCast(*anyopaque, context), Handler.run, off, max_len);
+ return try ReadFile.createWithCtx(allocator, store, @as(*anyopaque, @ptrCast(context)), Handler.run, off, max_len);
}
pub fn doRead(this: *ReadFile) void {
@@ -1605,11 +1605,11 @@ pub const Blob = struct {
pub fn onRead(this: *ReadFile, completion: *HTTPClient.NetworkThread.Completion, result: AsyncIO.ReadError!usize) void {
defer this.doReadLoop();
- this.read_len = @truncate(SizeType, result catch |err| {
+ this.read_len = @as(SizeType, @truncate(result catch |err| {
if (@hasField(HTTPClient.NetworkThread.Completion, "result")) {
this.errno = AsyncIO.asError(-completion.result);
this.system_error = (JSC.Node.Syscall.Error{
- .errno = @intCast(JSC.Node.Syscall.Error.Int, -completion.result),
+ .errno = @as(JSC.Node.Syscall.Error.Int, @intCast(-completion.result)),
.syscall = .read,
}).toSystemError();
} else {
@@ -1627,7 +1627,7 @@ pub const Blob = struct {
this.read_len = 0;
return;
- });
+ }));
}
fn runAsync(this: *ReadFile, task: *ReadFileTask) void {
@@ -1689,7 +1689,7 @@ pub const Blob = struct {
if (stat.size > 0 and std.os.S.ISREG(stat.mode)) {
this.size = @min(
- @truncate(SizeType, @intCast(SizeType, @max(@intCast(i64, stat.size), 0))),
+ @as(SizeType, @truncate(@as(SizeType, @intCast(@max(@as(i64, @intCast(stat.size)), 0))))),
this.max_length,
);
// read up to 4k at a time if
@@ -1730,7 +1730,7 @@ pub const Blob = struct {
fn doReadLoop(this: *ReadFile) void {
this.read_off += this.read_len;
- var remain = this.buffer[@min(this.read_off, @truncate(Blob.SizeType, this.buffer.len))..];
+ var remain = this.buffer[@min(this.read_off, @as(Blob.SizeType, @truncate(this.buffer.len)))..];
if (remain.len > 0 and this.errno == null) {
this.doRead();
@@ -1805,7 +1805,7 @@ pub const Blob = struct {
allocator,
file_blob,
bytes_blob,
- @ptrCast(*anyopaque, context),
+ @as(*anyopaque, @ptrCast(context)),
Handler.run,
);
}
@@ -1849,7 +1849,7 @@ pub const Blob = struct {
const wrote = this.wrote;
bun.default_allocator.destroy(this);
- cb(cb_ctx, .{ .result = @truncate(SizeType, wrote) });
+ cb(cb_ctx, .{ .result = @as(SizeType, @truncate(wrote)) });
}
pub fn run(this: *WriteFile, task: *WriteFileTask) void {
this.io_task = task;
@@ -1858,7 +1858,7 @@ pub const Blob = struct {
pub fn onWrite(this: *WriteFile, _: *HTTPClient.NetworkThread.Completion, result: AsyncIO.WriteError!usize) void {
defer this.doWriteLoop();
- this.wrote += @truncate(SizeType, result catch |errno| {
+ this.wrote += @as(SizeType, @truncate(result catch |errno| {
this.errno = errno;
this.system_error = this.system_error orelse JSC.SystemError{
.code = bun.String.static(bun.asByteSlice(@errorName(errno))),
@@ -1867,7 +1867,7 @@ pub const Blob = struct {
this.wrote = 0;
return;
- });
+ }));
}
fn runAsync(this: *WriteFile) void {
@@ -1920,12 +1920,12 @@ pub const Blob = struct {
};
const unsupported_directory_error = SystemError{
- .errno = @intCast(c_int, @intFromEnum(bun.C.SystemErrno.EISDIR)),
+ .errno = @as(c_int, @intCast(@intFromEnum(bun.C.SystemErrno.EISDIR))),
.message = bun.String.static("That doesn't work on folders"),
.syscall = bun.String.static("fstat"),
};
const unsupported_non_regular_file_error = SystemError{
- .errno = @intCast(c_int, @intFromEnum(bun.C.SystemErrno.ENOTSUP)),
+ .errno = @as(c_int, @intCast(@intFromEnum(bun.C.SystemErrno.ENOTSUP))),
.message = bun.String.static("Non-regular files aren't supported yet"),
.syscall = bun.String.static("fstat"),
};
@@ -2127,7 +2127,7 @@ pub const Blob = struct {
const dest_fd = this.destination_fd;
defer {
- this.read_len = @truncate(SizeType, total_written);
+ this.read_len = @as(SizeType, @truncate(total_written));
}
var has_unset_append = false;
@@ -2158,14 +2158,14 @@ pub const Blob = struct {
}
this.system_error = (JSC.Node.Syscall.Error{
- .errno = @intCast(JSC.Node.Syscall.Error.Int, @intFromEnum(linux.E.INVAL)),
+ .errno = @as(JSC.Node.Syscall.Error.Int, @intCast(@intFromEnum(linux.E.INVAL))),
.syscall = TryWith.tag.get(use).?,
}).toSystemError();
return AsyncIO.asError(linux.E.INVAL);
},
else => |errno| {
this.system_error = (JSC.Node.Syscall.Error{
- .errno = @intCast(JSC.Node.Syscall.Error.Int, @intFromEnum(errno)),
+ .errno = @as(JSC.Node.Syscall.Error.Int, @intCast(@intFromEnum(errno))),
.syscall = TryWith.tag.get(use).?,
}).toSystemError();
return AsyncIO.asError(errno);
@@ -2252,15 +2252,15 @@ pub const Blob = struct {
}
if (this.doClonefile()) {
- if (this.max_length != Blob.max_size and this.max_length < @intCast(SizeType, stat_.?.size)) {
+ if (this.max_length != Blob.max_size and this.max_length < @as(SizeType, @intCast(stat_.?.size))) {
// If this fails...well, there's not much we can do about it.
_ = bun.C.truncate(
this.destination_file_store.pathlike.path.sliceZAssume(),
- @intCast(std.os.off_t, this.max_length),
+ @as(std.os.off_t, @intCast(this.max_length)),
);
- this.read_len = @intCast(SizeType, this.max_length);
+ this.read_len = @as(SizeType, @intCast(this.max_length));
} else {
- this.read_len = @intCast(SizeType, stat_.?.size);
+ this.read_len = @as(SizeType, @intCast(stat_.?.size));
}
return;
} else |_| {
@@ -2313,7 +2313,7 @@ pub const Blob = struct {
}
if (stat.size != 0) {
- this.max_length = @max(@min(@intCast(SizeType, stat.size), this.max_length), this.offset) - this.offset;
+ this.max_length = @max(@min(@as(SizeType, @intCast(stat.size)), this.max_length), this.offset) - this.offset;
if (this.max_length == 0) {
this.doClose();
return;
@@ -2375,8 +2375,8 @@ pub const Blob = struct {
return;
};
- if (stat.size != 0 and @intCast(SizeType, stat.size) > this.max_length) {
- _ = darwin.ftruncate(this.destination_fd, @intCast(std.os.off_t, this.max_length));
+ if (stat.size != 0 and @as(SizeType, @intCast(stat.size)) > this.max_length) {
+ _ = darwin.ftruncate(this.destination_fd, @as(std.os.off_t, @intCast(this.max_length)));
}
this.doClose();
@@ -2426,8 +2426,8 @@ pub const Blob = struct {
pub fn init(bytes: []u8, allocator: std.mem.Allocator) ByteStore {
return .{
.ptr = bytes.ptr,
- .len = @truncate(SizeType, bytes.len),
- .cap = @truncate(SizeType, bytes.len),
+ .len = @as(SizeType, @truncate(bytes.len)),
+ .cap = @as(SizeType, @truncate(bytes.len)),
.allocator = allocator,
};
}
@@ -2470,7 +2470,7 @@ pub const Blob = struct {
return JSValue.jsUndefined();
}
- recommended_chunk_size = @intCast(SizeType, @max(0, @truncate(i52, arguments[0].toInt64())));
+ recommended_chunk_size = @as(SizeType, @intCast(@max(0, @as(i52, @truncate(arguments[0].toInt64())))));
}
return JSC.WebCore.ReadableStream.fromBlob(
globalThis,
@@ -2665,7 +2665,7 @@ pub const Blob = struct {
var relativeStart: i64 = 0;
// If the optional end parameter is not used as a parameter when making this call, let relativeEnd be size.
- var relativeEnd: i64 = @intCast(i64, this.size);
+ var relativeEnd: i64 = @as(i64, @intCast(this.size));
if (args.ptr[0].isString()) {
args.ptr[2] = args.ptr[0];
@@ -2684,10 +2684,10 @@ pub const Blob = struct {
const start = start_.toInt64();
if (start < 0) {
// If the optional start parameter is negative, let relativeStart be start + size.
- relativeStart = @intCast(i64, @max(start +% @intCast(i64, this.size), 0));
+ relativeStart = @as(i64, @intCast(@max(start +% @as(i64, @intCast(this.size)), 0)));
} else {
// Otherwise, let relativeStart be start.
- relativeStart = @min(@intCast(i64, start), @intCast(i64, this.size));
+ relativeStart = @min(@as(i64, @intCast(start)), @as(i64, @intCast(this.size)));
}
}
}
@@ -2698,10 +2698,10 @@ pub const Blob = struct {
// If end is negative, let relativeEnd be max((size + end), 0).
if (end < 0) {
// If the optional start parameter is negative, let relativeStart be start + size.
- relativeEnd = @intCast(i64, @max(end +% @intCast(i64, this.size), 0));
+ relativeEnd = @as(i64, @intCast(@max(end +% @as(i64, @intCast(this.size)), 0)));
} else {
// Otherwise, let relativeStart be start.
- relativeEnd = @min(@intCast(i64, end), @intCast(i64, this.size));
+ relativeEnd = @min(@as(i64, @intCast(end)), @as(i64, @intCast(this.size)));
}
}
}
@@ -2731,12 +2731,12 @@ pub const Blob = struct {
}
}
- const len = @intCast(SizeType, @max(relativeEnd -| relativeStart, 0));
+ const len = @as(SizeType, @intCast(@max(relativeEnd -| relativeStart, 0)));
// This copies over the is_all_ascii flag
// which is okay because this will only be a <= slice
var blob = this.dupe();
- blob.offset = @intCast(SizeType, relativeStart);
+ blob.offset = @as(SizeType, @intCast(relativeStart));
blob.size = len;
// infer the content type if it was not specified
@@ -2909,8 +2909,8 @@ pub const Blob = struct {
}
fn toJSTime(sec: isize, nsec: isize) JSTimeType {
- const millisec = @intCast(u64, @divTrunc(nsec, std.time.ns_per_ms));
- return @truncate(JSTimeType, @intCast(u64, sec * std.time.ms_per_s) + millisec);
+ const millisec = @as(u64, @intCast(@divTrunc(nsec, std.time.ns_per_ms)));
+ return @as(JSTimeType, @truncate(@as(u64, @intCast(sec * std.time.ms_per_s)) + millisec));
}
/// resolve file stat like size, last_modified
@@ -2920,7 +2920,7 @@ pub const Blob = struct {
switch (JSC.Node.Syscall.stat(store.data.file.pathlike.path.sliceZ(&buffer))) {
.result => |stat| {
store.data.file.max_size = if (std.os.S.ISREG(stat.mode) or stat.size > 0)
- @truncate(SizeType, @intCast(u64, @max(stat.size, 0)))
+ @as(SizeType, @truncate(@as(u64, @intCast(@max(stat.size, 0)))))
else
Blob.max_size;
store.data.file.mode = stat.mode;
@@ -2934,7 +2934,7 @@ pub const Blob = struct {
switch (JSC.Node.Syscall.fstat(store.data.file.pathlike.fd)) {
.result => |stat| {
store.data.file.max_size = if (std.os.S.ISREG(stat.mode) or stat.size > 0)
- @truncate(SizeType, @intCast(u64, @max(stat.size, 0)))
+ @as(SizeType, @truncate(@as(u64, @intCast(@max(stat.size, 0)))))
else
Blob.max_size;
store.data.file.mode = stat.mode;
@@ -3027,7 +3027,7 @@ pub const Blob = struct {
store.?.is_all_ascii = is_all_ascii;
}
return Blob{
- .size = @truncate(SizeType, bytes.len),
+ .size = @as(SizeType, @truncate(bytes.len)),
.store = store,
.allocator = null,
.content_type = "",
@@ -3038,7 +3038,7 @@ pub const Blob = struct {
pub fn init(bytes: []u8, allocator: std.mem.Allocator, globalThis: *JSGlobalObject) Blob {
return Blob{
- .size = @truncate(SizeType, bytes.len),
+ .size = @as(SizeType, @truncate(bytes.len)),
.store = if (bytes.len > 0)
Blob.Store.init(bytes, allocator) catch unreachable
else
@@ -3057,7 +3057,7 @@ pub const Blob = struct {
) Blob {
var bytes = allocator.dupe(u8, bytes_) catch @panic("Out of memory");
return Blob{
- .size = @truncate(SizeType, bytes_.len),
+ .size = @as(SizeType, @truncate(bytes_.len)),
.store = if (bytes.len > 0)
Blob.Store.init(bytes, allocator) catch unreachable
else
@@ -3183,7 +3183,7 @@ pub const Blob = struct {
.result => |result| {
const bytes = result.buf;
if (blob.size > 0)
- blob.size = @min(@truncate(u32, bytes.len), blob.size);
+ blob.size = @min(@as(u32, @truncate(bytes.len)), blob.size);
const value = Function(&blob, globalThis, bytes, .temporary);
// invalid JSON needs to be rejected
@@ -3537,7 +3537,7 @@ pub const Blob = struct {
var sliced = top_value.toSlice(global, bun.default_allocator);
const is_all_ascii = !sliced.isAllocated();
if (!sliced.isAllocated() and sliced.len > 0) {
- sliced.ptr = @ptrCast([*]const u8, (try bun.default_allocator.dupe(u8, sliced.slice())).ptr);
+ sliced.ptr = @as([*]const u8, @ptrCast((try bun.default_allocator.dupe(u8, sliced.slice())).ptr));
sliced.allocator = NullableAllocator.init(bun.default_allocator);
}
@@ -3750,8 +3750,8 @@ pub const AnyBlob = union(enum) {
pub inline fn fastSize(this: *const AnyBlob) Blob.SizeType {
return switch (this.*) {
.Blob => this.Blob.size,
- .WTFStringImpl => @truncate(Blob.SizeType, this.WTFStringImpl.byteLength()),
- else => @truncate(Blob.SizeType, this.slice().len),
+ .WTFStringImpl => @as(Blob.SizeType, @truncate(this.WTFStringImpl.byteLength())),
+ else => @as(Blob.SizeType, @truncate(this.slice().len)),
};
}
@@ -3884,8 +3884,8 @@ pub const AnyBlob = union(enum) {
pub inline fn size(this: *const AnyBlob) Blob.SizeType {
return switch (this.*) {
.Blob => this.Blob.size,
- .WTFStringImpl => @truncate(Blob.SizeType, this.WTFStringImpl.utf8ByteLength()),
- else => @truncate(Blob.SizeType, this.slice().len),
+ .WTFStringImpl => @as(Blob.SizeType, @truncate(this.WTFStringImpl.utf8ByteLength())),
+ else => @as(Blob.SizeType, @truncate(this.slice().len)),
};
}
@@ -4054,7 +4054,7 @@ pub const InlineBlob = extern struct {
if (second.len > 0)
@memcpy(bytes_slice[first.len..][0..second.len], second);
- inline_blob.len = @truncate(@TypeOf(inline_blob.len), total);
+ inline_blob.len = @as(@TypeOf(inline_blob.len), @truncate(total));
return inline_blob;
}
@@ -4062,7 +4062,7 @@ pub const InlineBlob = extern struct {
std.debug.assert(data.len <= available_bytes);
var blob = InlineBlob{
- .len = @intCast(IntSize, data.len),
+ .len = @as(IntSize, @intCast(data.len)),
.was_string = was_string,
};
diff --git a/src/bun.js/webcore/body.zig b/src/bun.js/webcore/body.zig
index 028b104b2..169ac8fa4 100644
--- a/src/bun.js/webcore/body.zig
+++ b/src/bun.js/webcore/body.zig
@@ -176,7 +176,7 @@ pub const Body = struct {
if (response_init.fastGet(ctx, .status)) |status_value| {
const number = status_value.coerceToInt64(ctx);
if ((200 <= number and number < 600) or number == 101) {
- result.status_code = @truncate(u16, @intCast(u32, number));
+ result.status_code = @as(u16, @truncate(@as(u32, @intCast(number))));
} else {
const err = ctx.createRangeErrorInstance("The status provided ({d}) must be 101 or in the range of [200, 599]", .{number});
ctx.throwValue(err);
@@ -365,8 +365,8 @@ pub const Body = struct {
pub fn size(this: *const Value) Blob.SizeType {
return switch (this.*) {
.Blob => this.Blob.size,
- .InternalBlob => @truncate(Blob.SizeType, this.InternalBlob.sliceConst().len),
- .WTFStringImpl => @truncate(Blob.SizeType, this.WTFStringImpl.utf8ByteLength()),
+ .InternalBlob => @as(Blob.SizeType, @truncate(this.InternalBlob.sliceConst().len)),
+ .WTFStringImpl => @as(Blob.SizeType, @truncate(this.WTFStringImpl.utf8ByteLength())),
// .InlineBlob => @truncate(Blob.SizeType, this.InlineBlob.sliceConst().len),
else => 0,
};
@@ -375,8 +375,8 @@ pub const Body = struct {
pub fn fastSize(this: *const Value) Blob.SizeType {
return switch (this.*) {
.Blob => this.Blob.size,
- .InternalBlob => @truncate(Blob.SizeType, this.InternalBlob.sliceConst().len),
- .WTFStringImpl => @truncate(Blob.SizeType, this.WTFStringImpl.byteSlice().len),
+ .InternalBlob => @as(Blob.SizeType, @truncate(this.InternalBlob.sliceConst().len)),
+ .WTFStringImpl => @as(Blob.SizeType, @truncate(this.WTFStringImpl.byteSlice().len)),
// .InlineBlob => @truncate(Blob.SizeType, this.InlineBlob.sliceConst().len),
else => 0,
};
@@ -481,11 +481,11 @@ pub const Body = struct {
reader.context.setup();
if (drain_result == .estimated_size) {
- reader.context.highWaterMark = @truncate(Blob.SizeType, drain_result.estimated_size);
- reader.context.size_hint = @truncate(Blob.SizeType, drain_result.estimated_size);
+ reader.context.highWaterMark = @as(Blob.SizeType, @truncate(drain_result.estimated_size));
+ reader.context.size_hint = @as(Blob.SizeType, @truncate(drain_result.estimated_size));
} else if (drain_result == .owned) {
reader.context.buffer = drain_result.owned.list;
- reader.context.size_hint = @truncate(Blob.SizeType, drain_result.owned.size_hint);
+ reader.context.size_hint = @as(Blob.SizeType, @truncate(drain_result.owned.size_hint));
}
locked.readable = .{
diff --git a/src/bun.js/webcore/encoding.zig b/src/bun.js/webcore/encoding.zig
index dd47ccc29..42256a9ca 100644
--- a/src/bun.js/webcore/encoding.zig
+++ b/src/bun.js/webcore/encoding.zig
@@ -229,7 +229,7 @@ pub const TextEncoder = struct {
result.written = 3;
}
const sized: [2]u32 = .{ result.read, result.written };
- return @bitCast(u64, sized);
+ return @as(u64, @bitCast(sized));
}
pub export fn TextEncoder__encodeInto8(
@@ -243,7 +243,7 @@ pub const TextEncoder = struct {
const result: strings.EncodeIntoResult =
strings.copyLatin1IntoUTF8(output, []const u8, input);
const sized: [2]u32 = .{ result.read, result.written };
- return @bitCast(u64, sized);
+ return @as(u64, @bitCast(sized));
}
};
@@ -462,7 +462,7 @@ pub const TextDecoder = struct {
return ZigString.init(EncodingLabel.label.get(this.encoding).?).toValue(globalThis);
}
const Vector16 = std.meta.Vector(16, u16);
- const max_16_ascii: Vector16 = @splat(16, @as(u16, 127));
+ const max_16_ascii: Vector16 = @splat(@as(u16, 127));
fn decodeUTF16WithAlignment(
_: *TextDecoder,
@@ -477,12 +477,12 @@ pub const TextDecoder = struct {
const vec: strings.AsciiU16Vector = slice[i..][0..strings.ascii_u16_vector_size].*;
if ((@reduce(
.Or,
- @bitCast(
+ @as(
strings.AsciiVectorU16U1,
- vec > strings.max_u16_ascii,
- ) | @bitCast(
+ @bitCast(vec > strings.max_u16_ascii),
+ ) | @as(
strings.AsciiVectorU16U1,
- vec < strings.min_u16_ascii,
+ @bitCast(vec < strings.min_u16_ascii),
),
) == 0)) {
break;
@@ -502,7 +502,7 @@ pub const TextDecoder = struct {
return ZigString.init16(slice).toValueGC(ctx);
} else {
var str = ZigString.init("");
- str._unsafe_ptr_do_not_use = @ptrCast([*]const u8, slice.ptr);
+ str._unsafe_ptr_do_not_use = @as([*]const u8, @ptrCast(slice.ptr));
str.len = slice.len;
str.markUTF16();
return str.toValueGC(ctx.ptr());
@@ -575,7 +575,7 @@ pub const TextDecoder = struct {
var full = buffer.toOwnedSlice(allocator) catch @panic("TODO");
var out = ZigString.init("");
- out._unsafe_ptr_do_not_use = @ptrCast([*]u8, full.ptr);
+ out._unsafe_ptr_do_not_use = @as([*]u8, @ptrCast(full.ptr));
out.len = full.len;
out.markUTF16();
return out.toValueGC(ctx.ptr());
@@ -660,7 +660,7 @@ pub const TextDecoder = struct {
EncodingLabel.@"UTF-16LE" => {
if (std.mem.isAligned(@intFromPtr(buffer_slice.ptr), @alignOf([*]const u16))) {
- return this.decodeUTF16WithAlignment([]const u16, @alignCast(2, std.mem.bytesAsSlice(u16, buffer_slice)), globalThis);
+ return this.decodeUTF16WithAlignment([]align(2) const u16, @as([]align(2) const u16, @alignCast(std.mem.bytesAsSlice(u16, buffer_slice))), globalThis);
}
return this.decodeUTF16WithAlignment([]align(1) const u16, std.mem.bytesAsSlice(u16, buffer_slice), globalThis);
@@ -701,7 +701,7 @@ pub const TextDecoder = struct {
pub const Encoder = struct {
export fn Bun__encoding__writeLatin1(input: [*]const u8, len: usize, to: [*]u8, to_len: usize, encoding: u8) usize {
- return switch (@enumFromInt(JSC.Node.Encoding, encoding)) {
+ return switch (@as(JSC.Node.Encoding, @enumFromInt(encoding))) {
.utf8 => writeU8(input, len, to, to_len, .utf8),
.latin1 => writeU8(input, len, to, to_len, .ascii),
.ascii => writeU8(input, len, to, to_len, .ascii),
@@ -714,7 +714,7 @@ pub const Encoder = struct {
} catch 0;
}
export fn Bun__encoding__writeUTF16(input: [*]const u16, len: usize, to: [*]u8, to_len: usize, encoding: u8) usize {
- return switch (@enumFromInt(JSC.Node.Encoding, encoding)) {
+ return switch (@as(JSC.Node.Encoding, @enumFromInt(encoding))) {
.utf8 => writeU16(input, len, to, to_len, .utf8, false),
.latin1 => writeU16(input, len, to, to_len, .ascii, false),
.ascii => writeU16(input, len, to, to_len, .ascii, false),
@@ -727,7 +727,7 @@ pub const Encoder = struct {
} catch 0;
}
export fn Bun__encoding__byteLengthLatin1(input: [*]const u8, len: usize, encoding: u8) usize {
- return switch (@enumFromInt(JSC.Node.Encoding, encoding)) {
+ return switch (@as(JSC.Node.Encoding, @enumFromInt(encoding))) {
.utf8 => byteLengthU8(input, len, .utf8),
.latin1 => byteLengthU8(input, len, .ascii),
.ascii => byteLengthU8(input, len, .ascii),
@@ -740,7 +740,7 @@ pub const Encoder = struct {
};
}
export fn Bun__encoding__byteLengthUTF16(input: [*]const u16, len: usize, encoding: u8) usize {
- return switch (@enumFromInt(JSC.Node.Encoding, encoding)) {
+ return switch (@as(JSC.Node.Encoding, @enumFromInt(encoding))) {
.utf8 => byteLengthU16(input, len, .utf8),
.latin1 => byteLengthU16(input, len, .ascii),
.ascii => byteLengthU16(input, len, .ascii),
@@ -753,7 +753,7 @@ pub const Encoder = struct {
};
}
export fn Bun__encoding__constructFromLatin1(globalObject: *JSGlobalObject, input: [*]const u8, len: usize, encoding: u8) JSValue {
- var slice = switch (@enumFromInt(JSC.Node.Encoding, encoding)) {
+ var slice = switch (@as(JSC.Node.Encoding, @enumFromInt(encoding))) {
.hex => constructFromU8(input, len, .hex),
.ascii => constructFromU8(input, len, .ascii),
.base64url => constructFromU8(input, len, .base64url),
@@ -766,7 +766,7 @@ pub const Encoder = struct {
return JSC.JSValue.createBuffer(globalObject, slice, globalObject.bunVM().allocator);
}
export fn Bun__encoding__constructFromUTF16(globalObject: *JSGlobalObject, input: [*]const u16, len: usize, encoding: u8) JSValue {
- var slice = switch (@enumFromInt(JSC.Node.Encoding, encoding)) {
+ var slice = switch (@as(JSC.Node.Encoding, @enumFromInt(encoding))) {
.base64 => constructFromU16(input, len, .base64),
.hex => constructFromU16(input, len, .hex),
.base64url => constructFromU16(input, len, .base64url),
@@ -785,7 +785,7 @@ pub const Encoder = struct {
}
export fn Bun__encoding__toString(input: [*]const u8, len: usize, globalObject: *JSC.JSGlobalObject, encoding: u8) JSValue {
- return switch (@enumFromInt(JSC.Node.Encoding, encoding)) {
+ return switch (@as(JSC.Node.Encoding, @enumFromInt(encoding))) {
.ucs2 => toString(input, len, globalObject, .utf16le),
.utf16le => toString(input, len, globalObject, .utf16le),
.utf8 => toString(input, len, globalObject, .utf8),
@@ -931,12 +931,12 @@ pub const Encoder = struct {
if (std.mem.isAligned(@intFromPtr(to_ptr), @alignOf([*]u16))) {
var buf = input[0..len];
- var output = @ptrCast([*]u16, @alignCast(@alignOf(u16), to_ptr))[0 .. to_len / 2];
+ var output = @as([*]u16, @ptrCast(@alignCast(to_ptr)))[0 .. to_len / 2];
var written = strings.copyLatin1IntoUTF16([]u16, output, []const u8, buf).written;
return written * 2;
} else {
var buf = input[0..len];
- var output = @ptrCast([*]align(1) u16, to_ptr)[0 .. to_len / 2];
+ var output = @as([*]align(1) u16, @ptrCast(to_ptr))[0 .. to_len / 2];
var written = strings.copyLatin1IntoUTF16([]align(1) u16, output, []const u8, buf).written;
return written * 2;
@@ -1007,7 +1007,7 @@ pub const Encoder = struct {
if (allow_partial_write) {
const bytes_input_len = len * 2;
const written = @min(bytes_input_len, to_len);
- const input_u8 = @ptrCast([*]const u8, input);
+ const input_u8 = @as([*]const u8, @ptrCast(input));
strings.copyU16IntoU8(to[0..written], []const u8, input_u8[0..written]);
return written;
} else {
@@ -1016,7 +1016,7 @@ pub const Encoder = struct {
if (written < 2) return 0;
const fixed_len = (written / 2) * 2;
- const input_u8 = @ptrCast([*]const u8, input);
+ const input_u8 = @as([*]const u8, @ptrCast(input));
strings.copyU16IntoU8(to[0..written], []const u8, input_u8[0..fixed_len]);
return fixed_len;
}
@@ -1140,7 +1140,7 @@ pub const Encoder = struct {
var input_bytes = std.mem.sliceAsBytes(input[0..len]);
@memcpy(to[0..input_bytes.len], input_bytes);
for (to[0..len], 0..) |c, i| {
- to[i] = @as(u8, @truncate(u7, c));
+ to[i] = @as(u8, @as(u7, @truncate(c)));
}
return to;
diff --git a/src/bun.js/webcore/request.zig b/src/bun.js/webcore/request.zig
index cff2ef2f3..75d4e63cd 100644
--- a/src/bun.js/webcore/request.zig
+++ b/src/bun.js/webcore/request.zig
@@ -120,7 +120,7 @@ pub const Request = struct {
pub fn estimatedSize(this: *Request) callconv(.C) usize {
return this.reported_estimated_size orelse brk: {
- this.reported_estimated_size = @truncate(u63, this.body.value.estimatedSize() + this.sizeOfURL() + @sizeOf(Request));
+ this.reported_estimated_size = @as(u63, @truncate(this.body.value.estimatedSize() + this.sizeOfURL() + @sizeOf(Request)));
break :brk this.reported_estimated_size.?;
};
}
diff --git a/src/bun.js/webcore/response.zig b/src/bun.js/webcore/response.zig
index f27e7f9aa..5987f749b 100644
--- a/src/bun.js/webcore/response.zig
+++ b/src/bun.js/webcore/response.zig
@@ -83,9 +83,9 @@ pub const Response = struct {
pub fn estimatedSize(this: *Response) callconv(.C) usize {
return this.reported_estimated_size orelse brk: {
- this.reported_estimated_size = @intCast(
+ this.reported_estimated_size = @as(
u63,
- this.body.value.estimatedSize() + this.url.len + this.status_text.len + @sizeOf(Response),
+ @intCast(this.body.value.estimatedSize() + this.url.len + this.status_text.len + @sizeOf(Response)),
);
break :brk this.reported_estimated_size.?;
};
@@ -411,7 +411,7 @@ pub const Response = struct {
if (args.nextEat()) |init| {
if (init.isUndefinedOrNull()) {} else if (init.isNumber()) {
- response.body.init.status_code = @intCast(u16, @min(@max(0, init.toInt32()), std.math.maxInt(u16)));
+ response.body.init.status_code = @as(u16, @intCast(@min(@max(0, init.toInt32()), std.math.maxInt(u16))));
} else {
if (Body.Init.init(getAllocator(globalThis), globalThis, init) catch null) |_init| {
response.body.init = _init;
@@ -457,7 +457,7 @@ pub const Response = struct {
if (args.nextEat()) |init| {
if (init.isUndefinedOrNull()) {} else if (init.isNumber()) {
- response.body.init.status_code = @intCast(u16, @min(@max(0, init.toInt32()), std.math.maxInt(u16)));
+ response.body.init.status_code = @as(u16, @intCast(@min(@max(0, init.toInt32()), std.math.maxInt(u16))));
} else {
if (Body.Init.init(getAllocator(globalThis), globalThis, init) catch null) |_init| {
response.body.init = _init;
@@ -827,7 +827,7 @@ pub const Fetch = struct {
.body = .{
.init = .{
.headers = FetchHeaders.createFromPicoHeaders(http_response.headers),
- .status_code = @truncate(u16, http_response.status_code),
+ .status_code = @as(u16, @truncate(http_response.status_code)),
},
.value = this.toBodyValue(),
},
@@ -838,7 +838,7 @@ pub const Fetch = struct {
const allocator = bun.default_allocator;
var response = allocator.create(Response) catch unreachable;
response.* = this.toResponse(allocator);
- return Response.makeMaybePooled(@ptrCast(js.JSContextRef, this.global_this), response);
+ return Response.makeMaybePooled(@as(js.JSContextRef, @ptrCast(this.global_this)), response);
}
pub fn get(
@@ -1375,7 +1375,7 @@ pub const Fetch = struct {
}
const original_size = body.Blob.size;
- const stat_size = @intCast(Blob.SizeType, stat.size);
+ const stat_size = @as(Blob.SizeType, @intCast(stat.size));
const blob_size = if (std.os.S.ISREG(stat.mode))
stat_size
else
@@ -1509,7 +1509,7 @@ pub const Headers = struct {
if (options.body) |body| {
if (body.hasContentTypeFromUser() and (fetch_headers_ref == null or !fetch_headers_ref.?.fastHas(.ContentType))) {
header_count += 1;
- buf_len += @truncate(u32, body.contentType().len + "Content-Type".len);
+ buf_len += @as(u32, @truncate(body.contentType().len + "Content-Type".len));
break :brk true;
}
}
@@ -1536,7 +1536,7 @@ pub const Headers = struct {
bun.copy(u8, headers.buf.items[buf_len_before_content_type + "Content-Type".len ..], options.body.?.contentType());
values[header_count - 1] = .{
.offset = buf_len_before_content_type + @as(u32, "Content-Type".len),
- .length = @truncate(u32, options.body.?.contentType().len),
+ .length = @as(u32, @truncate(options.body.?.contentType().len)),
};
}
@@ -1696,7 +1696,7 @@ pub const FetchEvent = struct {
defer {
if (!VirtualMachine.get().had_errors) {
- Output.printElapsed(@floatFromInt(f64, (request_context.timer.lap())) / std.time.ns_per_ms);
+ Output.printElapsed(@as(f64, @floatFromInt((request_context.timer.lap()))) / std.time.ns_per_ms);
Output.prettyError(
" <b>{s}<r><d> - <b>{d}<r> <d>transpiled, <d><b>{d}<r> <d>imports<r>\n",
diff --git a/src/bun.js/webcore/streams.zig b/src/bun.js/webcore/streams.zig
index 343ce37ab..0e14fedee 100644
--- a/src/bun.js/webcore/streams.zig
+++ b/src/bun.js/webcore/streams.zig
@@ -326,20 +326,20 @@ pub const ReadableStream = struct {
pub fn init(filedes: bun.FileDescriptor) StreamTag {
var bytes = [8]u8{ 1, 0, 0, 0, 0, 0, 0, 0 };
- const filedes_ = @bitCast([8]u8, @as(usize, @truncate(u56, @intCast(usize, filedes))));
+ const filedes_ = @as([8]u8, @bitCast(@as(usize, @as(u56, @truncate(@as(usize, @intCast(filedes)))))));
bytes[1..8].* = filedes_[0..7].*;
- return @enumFromInt(StreamTag, @bitCast(u64, bytes));
+ return @as(StreamTag, @enumFromInt(@as(u64, @bitCast(bytes))));
}
pub fn fd(this: StreamTag) bun.FileDescriptor {
- var bytes = @bitCast([8]u8, @intFromEnum(this));
+ var bytes = @as([8]u8, @bitCast(@intFromEnum(this)));
if (bytes[0] != 1) {
return bun.invalid_fd;
}
var out: u64 = 0;
- @bitCast([8]u8, out)[0..7].* = bytes[1..8].*;
- return @intCast(bun.FileDescriptor, out);
+ @as([8]u8, @bitCast(out))[0..7].* = bytes[1..8].*;
+ return @as(bun.FileDescriptor, @intCast(out));
}
};
};
@@ -381,7 +381,7 @@ pub const StreamStart = union(Tag) {
return JSC.JSValue.jsUndefined();
},
.chunk_size => |chunk| {
- return JSC.JSValue.jsNumber(@intCast(Blob.SizeType, chunk));
+ return JSC.JSValue.jsNumber(@as(Blob.SizeType, @intCast(chunk)));
},
.err => |err| {
globalThis.vm().throwError(globalThis, err.toJSC(globalThis));
@@ -400,7 +400,7 @@ pub const StreamStart = union(Tag) {
if (value.get(globalThis, "chunkSize")) |chunkSize| {
if (chunkSize.isNumber())
- return .{ .chunk_size = @intCast(Blob.SizeType, @truncate(i52, chunkSize.toInt64())) };
+ return .{ .chunk_size = @as(Blob.SizeType, @intCast(@as(i52, @truncate(chunkSize.toInt64())))) };
}
return .{ .empty = {} };
@@ -435,7 +435,7 @@ pub const StreamStart = union(Tag) {
if (value.get(globalThis, "highWaterMark")) |chunkSize| {
if (chunkSize.isNumber()) {
empty = false;
- chunk_size = @intCast(JSC.WebCore.Blob.SizeType, @max(0, @truncate(i51, chunkSize.toInt64())));
+ chunk_size = @as(JSC.WebCore.Blob.SizeType, @intCast(@max(0, @as(i51, @truncate(chunkSize.toInt64())))));
}
}
@@ -454,7 +454,7 @@ pub const StreamStart = union(Tag) {
if (value.get(globalThis, "highWaterMark")) |chunkSize| {
if (chunkSize.isNumber())
- chunk_size = @intCast(JSC.WebCore.Blob.SizeType, @max(0, @truncate(i51, chunkSize.toInt64())));
+ chunk_size = @as(JSC.WebCore.Blob.SizeType, @intCast(@max(0, @as(i51, @truncate(chunkSize.toInt64())))));
}
if (value.get(globalThis, "path")) |path| {
@@ -491,7 +491,7 @@ pub const StreamStart = union(Tag) {
if (value.get(globalThis, "highWaterMark")) |chunkSize| {
if (chunkSize.isNumber()) {
empty = false;
- chunk_size = @intCast(JSC.WebCore.Blob.SizeType, @max(256, @truncate(i51, chunkSize.toInt64())));
+ chunk_size = @as(JSC.WebCore.Blob.SizeType, @intCast(@max(256, @as(i51, @truncate(chunkSize.toInt64())))));
}
}
@@ -820,7 +820,7 @@ pub const Signal = struct {
ptr: *anyopaque = dead,
vtable: VTable = VTable.Dead,
- pub const dead = @ptrFromInt(*anyopaque, 0xaaaaaaaa);
+ pub const dead = @as(*anyopaque, @ptrFromInt(0xaaaaaaaa));
pub fn clear(this: *Signal) void {
this.ptr = dead;
@@ -888,21 +888,21 @@ pub const Signal = struct {
const Functions = struct {
fn onClose(this: *anyopaque, err: ?Syscall.Error) void {
if (comptime !@hasDecl(Wrapped, "onClose"))
- Wrapped.close(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)), err)
+ Wrapped.close(@as(*Wrapped, @ptrCast(@alignCast(this))), err)
else
- Wrapped.onClose(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)), err);
+ Wrapped.onClose(@as(*Wrapped, @ptrCast(@alignCast(this))), err);
}
fn onReady(this: *anyopaque, amount: ?Blob.SizeType, offset: ?Blob.SizeType) void {
if (comptime !@hasDecl(Wrapped, "onReady"))
- Wrapped.ready(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)), amount, offset)
+ Wrapped.ready(@as(*Wrapped, @ptrCast(@alignCast(this))), amount, offset)
else
- Wrapped.onReady(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)), amount, offset);
+ Wrapped.onReady(@as(*Wrapped, @ptrCast(@alignCast(this))), amount, offset);
}
fn onStart(this: *anyopaque) void {
if (comptime !@hasDecl(Wrapped, "onStart"))
- Wrapped.start(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)))
+ Wrapped.start(@as(*Wrapped, @ptrCast(@alignCast(this))))
else
- Wrapped.onStart(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)));
+ Wrapped.onStart(@as(*Wrapped, @ptrCast(@alignCast(this))));
}
};
@@ -922,7 +922,7 @@ pub const Sink = struct {
used: bool = false,
pub const pending = Sink{
- .ptr = @ptrFromInt(*anyopaque, 0xaaaaaaaa),
+ .ptr = @as(*anyopaque, @ptrFromInt(0xaaaaaaaa)),
.vtable = undefined,
};
@@ -1034,19 +1034,19 @@ pub const Sink = struct {
) VTable {
const Functions = struct {
pub fn onWrite(this: *anyopaque, data: StreamResult) StreamResult.Writable {
- return Wrapped.write(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)), data);
+ return Wrapped.write(@as(*Wrapped, @ptrCast(@alignCast(this))), data);
}
pub fn onConnect(this: *anyopaque, signal: Signal) JSC.Node.Maybe(void) {
- return Wrapped.connect(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)), signal);
+ return Wrapped.connect(@as(*Wrapped, @ptrCast(@alignCast(this))), signal);
}
pub fn onWriteLatin1(this: *anyopaque, data: StreamResult) StreamResult.Writable {
- return Wrapped.writeLatin1(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)), data);
+ return Wrapped.writeLatin1(@as(*Wrapped, @ptrCast(@alignCast(this))), data);
}
pub fn onWriteUTF16(this: *anyopaque, data: StreamResult) StreamResult.Writable {
- return Wrapped.writeUTF16(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)), data);
+ return Wrapped.writeUTF16(@as(*Wrapped, @ptrCast(@alignCast(this))), data);
}
pub fn onEnd(this: *anyopaque, err: ?Syscall.Error) JSC.Node.Maybe(void) {
- return Wrapped.end(@ptrCast(*Wrapped, @alignCast(std.meta.alignment(Wrapped), this)), err);
+ return Wrapped.end(@as(*Wrapped, @ptrCast(@alignCast(this))), err);
}
};
@@ -1361,13 +1361,13 @@ pub const FileSink = struct {
},
.PIPE => {
this.cleanup();
- this.pending.consumed = @truncate(Blob.SizeType, total - initial);
+ this.pending.consumed = @as(Blob.SizeType, @truncate(total - initial));
return .{ .done = {} };
},
else => {},
}
this.pending.result = .{ .err = res.err };
- this.pending.consumed = @truncate(Blob.SizeType, total - initial);
+ this.pending.consumed = @as(Blob.SizeType, @truncate(total - initial));
return .{ .err = res.err };
}
@@ -1404,7 +1404,7 @@ pub const FileSink = struct {
poll.flags.remove(.writable);
std.debug.assert(poll.flags.contains(.poll_writable));
}
- this.pending.consumed = @truncate(Blob.SizeType, total - initial);
+ this.pending.consumed = @as(Blob.SizeType, @truncate(total - initial));
return .{
.pending = &this.pending,
@@ -1428,9 +1428,9 @@ pub const FileSink = struct {
}
this.pending.result = .{
- .owned = @truncate(Blob.SizeType, total),
+ .owned = @as(Blob.SizeType, @truncate(total)),
};
- this.pending.consumed = @truncate(Blob.SizeType, total - initial);
+ this.pending.consumed = @as(Blob.SizeType, @truncate(total - initial));
if (is_fifo and remain.len == 0 and this.isWatching()) {
this.unwatch(fd);
@@ -1452,7 +1452,7 @@ pub const FileSink = struct {
}
}
this.pending.run();
- return .{ .owned = @truncate(Blob.SizeType, total - initial) };
+ return .{ .owned = @as(Blob.SizeType, @truncate(total - initial)) };
}
pub fn flushFromJS(this: *FileSink, globalThis: *JSGlobalObject, _: bool) JSC.Node.Maybe(JSValue) {
@@ -1546,7 +1546,7 @@ pub const FileSink = struct {
}
if (comptime Environment.isMac) {
- _ = this.flushMaybePollWithSizeAndBuffer(this.buffer.slice(), @intCast(usize, @max(writable, 0)));
+ _ = this.flushMaybePollWithSizeAndBuffer(this.buffer.slice(), @as(usize, @intCast(@max(writable, 0))));
} else {
_ = this.flushMaybePollWithSizeAndBuffer(this.buffer.slice(), std.math.maxInt(usize));
}
@@ -1618,7 +1618,7 @@ pub const FileSink = struct {
if (this.next) |*next| {
return next.writeUTF16(data);
}
- const len = this.buffer.writeUTF16(this.allocator, @ptrCast([*]const u16, @alignCast(@alignOf(u16), data.slice().ptr))[0..std.mem.bytesAsSlice(u16, data.slice()).len]) catch {
+ const len = this.buffer.writeUTF16(this.allocator, @as([*]const u16, @ptrCast(@alignCast(data.slice().ptr)))[0..std.mem.bytesAsSlice(u16, data.slice()).len]) catch {
return .{ .err = Syscall.Error.oom };
};
@@ -1834,7 +1834,7 @@ pub const ArrayBufferSink = struct {
if (this.next) |*next| {
return next.writeUTF16(data);
}
- const len = this.bytes.writeUTF16(this.allocator, @ptrCast([*]const u16, @alignCast(@alignOf(u16), data.slice().ptr))[0..std.mem.bytesAsSlice(u16, data.slice()).len]) catch {
+ const len = this.bytes.writeUTF16(this.allocator, @as([*]const u16, @ptrCast(@alignCast(data.slice().ptr)))[0..std.mem.bytesAsSlice(u16, data.slice()).len]) catch {
return .{ .err = Syscall.Error.oom };
};
this.signal.ready(null, null);
@@ -1912,15 +1912,15 @@ pub fn NewJSSink(comptime SinkType: type, comptime name_: []const u8) type {
pub fn init(cpp: JSValue) Signal {
// this one can be null
@setRuntimeSafety(false);
- return Signal.initWithType(SinkSignal, @ptrFromInt(*SinkSignal, @bitCast(usize, @intFromEnum(cpp))));
+ return Signal.initWithType(SinkSignal, @as(*SinkSignal, @ptrFromInt(@as(usize, @bitCast(@intFromEnum(cpp))))));
}
pub fn close(this: *@This(), _: ?Syscall.Error) void {
- onClose(@bitCast(SinkSignal, @intFromPtr(this)).cpp, JSValue.jsUndefined());
+ onClose(@as(SinkSignal, @bitCast(@intFromPtr(this))).cpp, JSValue.jsUndefined());
}
pub fn ready(this: *@This(), _: ?Blob.SizeType, _: ?Blob.SizeType) void {
- onReady(@bitCast(SinkSignal, @intFromPtr(this)).cpp, JSValue.jsUndefined(), JSValue.jsUndefined());
+ onReady(@as(SinkSignal, @bitCast(@intFromPtr(this))).cpp, JSValue.jsUndefined(), JSValue.jsUndefined());
}
pub fn start(_: *@This()) void {}
@@ -1983,7 +1983,7 @@ pub fn NewJSSink(comptime SinkType: type, comptime name_: []const u8) type {
}
pub fn finalize(ptr: *anyopaque) callconv(.C) void {
- var this = @ptrCast(*ThisSink, @alignCast(std.meta.alignment(ThisSink), ptr));
+ var this = @as(*ThisSink, @ptrCast(@alignCast(ptr)));
this.sink.finalize();
}
@@ -1996,7 +1996,7 @@ pub fn NewJSSink(comptime SinkType: type, comptime name_: []const u8) type {
if (this.sink.signal.isDead())
return;
this.sink.signal.clear();
- const value = @enumFromInt(JSValue, @bitCast(JSC.JSValueReprInt, @intFromPtr(ptr)));
+ const value = @as(JSValue, @enumFromInt(@as(JSC.JSValueReprInt, @bitCast(@intFromPtr(ptr)))));
value.unprotect();
detachPtr(value);
}
@@ -2006,15 +2006,14 @@ pub fn NewJSSink(comptime SinkType: type, comptime name_: []const u8) type {
}
fn getThis(globalThis: *JSGlobalObject, callframe: *const JSC.CallFrame) ?*ThisSink {
- return @ptrCast(
+ return @as(
*ThisSink,
- @alignCast(
- std.meta.alignment(ThisSink),
+ @ptrCast(@alignCast(
fromJS(
globalThis,
callframe.this(),
) orelse return null,
- ),
+ )),
);
}
@@ -2134,7 +2133,7 @@ pub fn NewJSSink(comptime SinkType: type, comptime name_: []const u8) type {
pub fn close(globalThis: *JSGlobalObject, sink_ptr: ?*anyopaque) callconv(.C) JSValue {
JSC.markBinding(@src());
- var this = @ptrCast(*ThisSink, @alignCast(std.meta.alignment(ThisSink), sink_ptr orelse return invalidThis(globalThis)));
+ var this = @as(*ThisSink, @ptrCast(@alignCast(sink_ptr orelse return invalidThis(globalThis))));
if (comptime @hasDecl(SinkType, "getPendingError")) {
if (this.sink.getPendingError()) |err| {
@@ -2233,7 +2232,7 @@ pub fn NewJSSink(comptime SinkType: type, comptime name_: []const u8) type {
pub fn endWithSink(ptr: *anyopaque, globalThis: *JSGlobalObject) callconv(.C) JSValue {
JSC.markBinding(@src());
- var this = @ptrCast(*ThisSink, @alignCast(std.meta.alignment(ThisSink), ptr));
+ var this = @as(*ThisSink, @ptrCast(@alignCast(ptr)));
if (comptime @hasDecl(SinkType, "getPendingError")) {
if (this.sink.getPendingError()) |err| {
@@ -2296,7 +2295,7 @@ pub fn NewJSSink(comptime SinkType: type, comptime name_: []const u8) type {
// pub fn connect(globalThis: *JSGlobalObject, callframe: *JSC.CallFrame) callconv(.C) JSValue {
// JSC.markBinding(@src());
-// var this = @ptrCast(*ThisSocket, @alignCast(std.meta.alignment(ThisSocket), fromJS(globalThis, callframe.this()) orelse {
+// var this = @ptrCast(*ThisSocket, @alignCast( fromJS(globalThis, callframe.this()) orelse {
// const err = JSC.toTypeError(JSC.Node.ErrorCode.ERR_INVALID_THIS, "Expected Socket", .{}, globalThis);
// globalThis.vm().throwError(globalThis, err);
// return JSC.JSValue.jsUndefined();
@@ -2346,10 +2345,10 @@ pub fn HTTPServerWritable(comptime ssl: bool) type {
}
fn handleWrote(this: *@This(), amount1: usize) void {
- const amount = @truncate(Blob.SizeType, amount1);
+ const amount = @as(Blob.SizeType, @truncate(amount1));
this.offset += amount;
this.wrote += amount;
- this.buffer.len -|= @truncate(u32, amount);
+ this.buffer.len -|= @as(u32, @truncate(amount));
if (this.offset >= this.buffer.len) {
this.offset = 0;
@@ -2405,7 +2404,7 @@ pub fn HTTPServerWritable(comptime ssl: bool) type {
// do not write more than available
// if we do, it will cause this to be delayed until the next call, each time
- const to_write = @min(@truncate(Blob.SizeType, write_offset), @as(Blob.SizeType, this.buffer.len));
+ const to_write = @min(@as(Blob.SizeType, @truncate(write_offset)), @as(Blob.SizeType, this.buffer.len));
// figure out how much data exactly to write
const readable = this.readableSlice()[0..to_write];
@@ -2415,7 +2414,7 @@ pub fn HTTPServerWritable(comptime ssl: bool) type {
return true;
}
- this.handleWrote(@truncate(Blob.SizeType, readable.len));
+ this.handleWrote(@as(Blob.SizeType, @truncate(readable.len)));
const initial_wrote = this.wrote;
if (this.buffer.len > 0 and !this.done) {
@@ -2429,7 +2428,7 @@ pub fn HTTPServerWritable(comptime ssl: bool) type {
// pending_flush or callback could have caused another send()
// so we check again if we should report readiness
if (!this.done and !this.requested_end and !this.hasBackpressure()) {
- const pending = @truncate(Blob.SizeType, write_offset) -| to_write;
+ const pending = @as(Blob.SizeType, @truncate(write_offset)) -| to_write;
const written_after_flush = this.wrote - initial_wrote;
const to_report = pending - @min(written_after_flush, pending);
@@ -2499,7 +2498,7 @@ pub fn HTTPServerWritable(comptime ssl: bool) type {
const success = this.send(slice);
if (success) {
- this.handleWrote(@truncate(Blob.SizeType, slice.len));
+ this.handleWrote(@as(Blob.SizeType, @truncate(slice.len)));
return .{ .result = JSValue.jsNumber(slice.len) };
}
@@ -2525,7 +2524,7 @@ pub fn HTTPServerWritable(comptime ssl: bool) type {
assert(slice.len > 0);
const success = this.send(slice);
if (success) {
- this.handleWrote(@truncate(Blob.SizeType, slice.len));
+ this.handleWrote(@as(Blob.SizeType, @truncate(slice.len)));
return .{ .result = JSC.JSPromise.resolvedPromiseValue(globalThis, JSValue.jsNumber(slice.len)) };
}
@@ -2560,7 +2559,7 @@ pub fn HTTPServerWritable(comptime ssl: bool) type {
}
const bytes = data.slice();
- const len = @truncate(Blob.SizeType, bytes.len);
+ const len = @as(Blob.SizeType, @truncate(bytes.len));
log("write({d})", .{bytes.len});
if (this.buffer.len == 0 and len >= this.highWaterMark) {
@@ -2612,7 +2611,7 @@ pub fn HTTPServerWritable(comptime ssl: bool) type {
}
const bytes = data.slice();
- const len = @truncate(Blob.SizeType, bytes.len);
+ const len = @as(Blob.SizeType, @truncate(bytes.len));
log("writeLatin1({d})", .{bytes.len});
if (this.buffer.len == 0 and len >= this.highWaterMark) {
@@ -2679,7 +2678,7 @@ pub fn HTTPServerWritable(comptime ssl: bool) type {
// we must always buffer UTF-16
// we assume the case of all-ascii UTF-16 string is pretty uncommon
- const written = this.buffer.writeUTF16(this.allocator, @alignCast(2, std.mem.bytesAsSlice(u16, bytes))) catch {
+ const written = this.buffer.writeUTF16(this.allocator, @alignCast(std.mem.bytesAsSlice(u16, bytes))) catch {
return .{ .err = Syscall.Error.fromCode(.NOMEM, .write) };
};
@@ -2688,13 +2687,13 @@ pub fn HTTPServerWritable(comptime ssl: bool) type {
if (readable.len >= this.highWaterMark or this.hasBackpressure()) {
if (this.send(readable)) {
this.handleWrote(readable.len);
- return .{ .owned = @intCast(Blob.SizeType, written) };
+ return .{ .owned = @as(Blob.SizeType, @intCast(written)) };
}
this.res.onWritable(*@This(), onWritable, this);
}
- return .{ .owned = @intCast(Blob.SizeType, written) };
+ return .{ .owned = @as(Blob.SizeType, @intCast(written)) };
}
// In this case, it's always an error
@@ -3126,7 +3125,7 @@ pub const ByteBlobLoader = struct {
return .{ .done = {} };
}
- const copied = @intCast(Blob.SizeType, temporary.len);
+ const copied = @as(Blob.SizeType, @intCast(temporary.len));
this.remain -|= copied;
this.offset +|= copied;
@@ -3156,8 +3155,8 @@ pub const ByteBlobLoader = struct {
temporary = temporary[0..@min(16384, @min(temporary.len, this.remain))];
var cloned = bun.ByteList.init(temporary).listManaged(bun.default_allocator).clone() catch @panic("Out of memory");
- this.offset +|= @truncate(Blob.SizeType, cloned.items.len);
- this.remain -|= @truncate(Blob.SizeType, cloned.items.len);
+ this.offset +|= @as(Blob.SizeType, @truncate(cloned.items.len));
+ this.remain -|= @as(Blob.SizeType, @truncate(cloned.items.len));
return bun.ByteList.fromList(cloned);
}
@@ -3192,7 +3191,7 @@ pub const Pipe = struct {
pub fn New(comptime Type: type, comptime Function: anytype) type {
return struct {
pub fn pipe(self: *anyopaque, stream: StreamResult, allocator: std.mem.Allocator) void {
- Function(@ptrCast(*Type, @alignCast(@alignOf(Type), self)), stream, allocator);
+ Function(@as(*Type, @ptrCast(@alignCast(self))), stream, allocator);
}
pub fn init(self: *Type) Pipe {
@@ -3306,14 +3305,14 @@ pub const ByteStream = struct {
this.pending.result = .{
.into_array_and_done = .{
.value = this.value(),
- .len = @truncate(Blob.SizeType, to_copy.len),
+ .len = @as(Blob.SizeType, @truncate(to_copy.len)),
},
};
} else {
this.pending.result = .{
.into_array = .{
.value = this.value(),
- .len = @truncate(Blob.SizeType, to_copy.len),
+ .len = @as(Blob.SizeType, @truncate(to_copy.len)),
},
};
}
@@ -3402,7 +3401,7 @@ pub const ByteStream = struct {
return .{
.into_array_and_done = .{
.value = view,
- .len = @truncate(Blob.SizeType, to_write),
+ .len = @as(Blob.SizeType, @truncate(to_write)),
},
};
}
@@ -3410,7 +3409,7 @@ pub const ByteStream = struct {
return .{
.into_array = .{
.value = view,
- .len = @truncate(Blob.SizeType, to_write),
+ .len = @as(Blob.SizeType, @truncate(to_write)),
},
};
}
@@ -3501,9 +3500,9 @@ pub const ReadResult = union(enum) {
else if (owned)
StreamResult{ .owned = bun.ByteList.init(slice) }
else if (done)
- StreamResult{ .into_array_and_done = .{ .len = @truncate(Blob.SizeType, slice.len), .value = view } }
+ StreamResult{ .into_array_and_done = .{ .len = @as(Blob.SizeType, @truncate(slice.len)), .value = view } }
else
- StreamResult{ .into_array = .{ .len = @truncate(Blob.SizeType, slice.len), .value = view } };
+ StreamResult{ .into_array = .{ .len = @as(Blob.SizeType, @truncate(slice.len)), .value = view } };
},
};
}
@@ -3604,7 +3603,7 @@ pub const FIFO = struct {
return @as(u32, 0);
}
- return @intCast(u32, @max(len, 0));
+ return @as(u32, @intCast(@max(len, 0)));
}
pub fn adjustPipeCapacityOnLinux(this: *FIFO, current: usize, max: usize) void {
@@ -3635,7 +3634,7 @@ pub const FIFO = struct {
if (!is_readable and (this.close_on_empty_read or poll.isHUP())) {
// it might be readable actually
this.close_on_empty_read = true;
- switch (bun.isReadable(@intCast(std.os.fd_t, poll.fd))) {
+ switch (bun.isReadable(@as(std.os.fd_t, @intCast(poll.fd)))) {
.ready => {
this.close_on_empty_read = false;
return null;
@@ -3658,7 +3657,7 @@ pub const FIFO = struct {
// this happens if we've registered a watcher but we haven't
// ticked the event loop since registering it
- switch (bun.isReadable(@intCast(std.os.fd_t, poll.fd))) {
+ switch (bun.isReadable(@as(std.os.fd_t, @intCast(poll.fd)))) {
.ready => {
poll.flags.insert(.readable);
return null;
@@ -3701,7 +3700,7 @@ pub const FIFO = struct {
}
if (size_or_offset != std.math.maxInt(@TypeOf(size_or_offset)))
- this.to_read = @intCast(u32, @max(size_or_offset, 0));
+ this.to_read = @as(u32, @intCast(@max(size_or_offset, 0)));
return this.to_read;
}
@@ -3727,7 +3726,7 @@ pub const FIFO = struct {
var auto_sizer = this.auto_sizer orelse return;
if (comptime Environment.isMac) {
if (sizeOrOffset > 0) {
- this.buf = auto_sizer.resize(@intCast(usize, sizeOrOffset)) catch return;
+ this.buf = auto_sizer.resize(@as(usize, @intCast(sizeOrOffset))) catch return;
} else {
this.buf = auto_sizer.resize(8096) catch return;
}
@@ -3739,14 +3738,14 @@ pub const FIFO = struct {
// On Linux, we end up calling ioctl() twice if we don't do this
if (comptime Environment.isMac)
// i33 holds the same amount of unsigned space as a u32, so we truncate it there before casting
- @intCast(u32, @truncate(i33, sizeOrOffset))
+ @as(u32, @intCast(@as(i33, @truncate(sizeOrOffset))))
else
null,
);
if (read_result == .read) {
if (this.to_read) |*to_read| {
- to_read.* = to_read.* -| @truncate(u32, read_result.read.len);
+ to_read.* = to_read.* -| @as(u32, @truncate(read_result.read.len));
}
}
@@ -3781,7 +3780,7 @@ pub const FIFO = struct {
if (read_result == .read) {
if (this.to_read) |*to_read| {
- to_read.* = to_read.* -| @truncate(u32, read_result.read.len);
+ to_read.* = to_read.* -| @as(u32, @truncate(read_result.read.len));
}
}
@@ -3804,7 +3803,7 @@ pub const FIFO = struct {
) ReadResult {
const available_to_read = this.getAvailableToRead(
if (kqueue_read_amt != null)
- @intCast(i64, kqueue_read_amt.?)
+ @as(i64, @intCast(kqueue_read_amt.?))
else
std.math.maxInt(i64),
);
@@ -3981,7 +3980,7 @@ pub const File = struct {
if ((flags & std.os.O.NONBLOCK) == 0) {
auto_close = true;
fd = switch (Syscall.fcntl(fd, std.os.F.DUPFD, 0)) {
- .result => |_fd| @intCast(@TypeOf(fd), _fd),
+ .result => |_fd| @as(@TypeOf(fd), @intCast(_fd)),
.err => |err| return .{ .err = err },
};
@@ -4018,14 +4017,14 @@ pub const File = struct {
return .{ .err = Syscall.Error.fromCode(.INVAL, .fstat) };
}
- file.mode = @intCast(JSC.Node.Mode, stat.mode);
+ file.mode = @as(JSC.Node.Mode, @intCast(stat.mode));
this.mode = file.mode;
this.seekable = std.os.S.ISREG(stat.mode);
file.seekable = this.seekable;
if (this.seekable) {
- this.remaining_bytes = @intCast(Blob.SizeType, stat.size);
+ this.remaining_bytes = @as(Blob.SizeType, @intCast(stat.size));
file.max_size = this.remaining_bytes;
if (this.remaining_bytes == 0) {
@@ -4063,11 +4062,11 @@ pub const File = struct {
}
pub fn onRead(this: *File, completion: *HTTPClient.NetworkThread.Completion, result: AsyncIO.ReadError!usize) void {
- this.concurrent.read = @truncate(Blob.SizeType, result catch |err| {
+ this.concurrent.read = @as(Blob.SizeType, @truncate(result catch |err| {
if (@hasField(HTTPClient.NetworkThread.Completion, "result")) {
this.pending.result = .{
.err = Syscall.Error{
- .errno = @intCast(Syscall.Error.Int, -completion.result),
+ .errno = @as(Syscall.Error.Int, @intCast(-completion.result)),
.syscall = .read,
},
};
@@ -4075,7 +4074,7 @@ pub const File = struct {
this.pending.result = .{
.err = Syscall.Error{
// this is too hacky
- .errno = @truncate(Syscall.Error.Int, @intCast(u16, @max(1, @intFromError(err)))),
+ .errno = @as(Syscall.Error.Int, @truncate(@as(u16, @intCast(@max(1, @intFromError(err)))))),
.syscall = .read,
},
};
@@ -4083,7 +4082,7 @@ pub const File = struct {
this.concurrent.read = 0;
scheduleMainThreadTask(this);
return;
- });
+ }));
scheduleMainThreadTask(this);
}
@@ -4108,7 +4107,7 @@ pub const File = struct {
return;
},
.result => |result| {
- this.concurrent.read += @intCast(Blob.SizeType, result);
+ this.concurrent.read += @as(Blob.SizeType, @intCast(result));
remaining = remaining[result..];
if (result == 0) {
@@ -4155,7 +4154,7 @@ pub const File = struct {
this.pending.result = .{
.into_array = .{
.value = view,
- .len = @truncate(Blob.SizeType, this.concurrent.read),
+ .len = @as(Blob.SizeType, @truncate(this.concurrent.read)),
},
};
} else {
@@ -4214,7 +4213,7 @@ pub const File = struct {
if (this.scheduled_count == 0) {
this.buf = buf;
this.view.set(globalThis, view);
- this.scheduleAsync(@truncate(Blob.SizeType, buf.len), globalThis);
+ this.scheduleAsync(@as(Blob.SizeType, @truncate(buf.len)), globalThis);
}
return .{ .pending = &this.pending };
},
@@ -4240,7 +4239,7 @@ pub const File = struct {
}
},
.result => |result| {
- this.remaining_bytes -|= @truncate(@TypeOf(this.remaining_bytes), result);
+ this.remaining_bytes -|= @as(@TypeOf(this.remaining_bytes), @truncate(result));
if (result == 0) {
return .{ .done = {} };
@@ -4468,7 +4467,7 @@ pub const FileReader = struct {
if (this.readable().* == .File) {
const chunk_size = this.readable().File.calculateChunkSize(std.math.maxInt(usize));
- return .{ .chunk_size = @truncate(Blob.SizeType, chunk_size) };
+ return .{ .chunk_size = @as(Blob.SizeType, @truncate(chunk_size)) };
}
return .{ .chunk_size = if (this.user_chunk_size == 0) default_fifo_chunk_size else this.user_chunk_size };
@@ -4596,8 +4595,8 @@ pub fn NewReadyWatcher(
}
pub fn unwatch(this: *Context, fd_: anytype) void {
- const fd = @intCast(c_int, fd_);
- std.debug.assert(@intCast(c_int, this.poll_ref.?.fd) == fd);
+ const fd = @as(c_int, @intCast(fd_));
+ std.debug.assert(@as(c_int, @intCast(this.poll_ref.?.fd)) == fd);
std.debug.assert(
this.poll_ref.?.unregister(JSC.VirtualMachine.get().uws_event_loop.?) == .result,
);
@@ -4625,7 +4624,7 @@ pub fn NewReadyWatcher(
}
pub fn watch(this: *Context, fd_: anytype) void {
- const fd = @intCast(c_int, fd_);
+ const fd = @as(c_int, @intCast(fd_));
var poll_ref: *JSC.FilePoll = this.poll_ref orelse brk: {
this.poll_ref = JSC.FilePoll.init(
JSC.VirtualMachine.get(),
diff --git a/src/bun.zig b/src/bun.zig
index bd50af6f6..41efb8f58 100644
--- a/src/bun.zig
+++ b/src/bun.zig
@@ -176,9 +176,9 @@ pub const fmt = struct {
pub fn size(value: anytype) SizeFormatter {
return switch (@TypeOf(value)) {
f64, f32, f128 => SizeFormatter{
- .value = @intFromFloat(u64, value),
+ .value = @as(u64, @intFromFloat(value)),
},
- else => SizeFormatter{ .value = @intCast(u64, value) },
+ else => SizeFormatter{ .value = @as(u64, @intCast(value)) },
};
}
@@ -231,7 +231,7 @@ pub const fmt = struct {
comptime var i: usize = 0;
inline while (i < buf.len) : (i += 1) {
// value relative to the current nibble
- buf[i] = table[@as(u8, @truncate(u4, value >> comptime ((buf.len - i - 1) * 4))) & 0xF];
+ buf[i] = table[@as(u8, @as(u4, @truncate(value >> comptime ((buf.len - i - 1) * 4)))) & 0xF];
}
return buf;
@@ -288,12 +288,12 @@ pub const MAX_PATH_BYTES: usize = if (Environment.isWasm) 1024 else std.fs.MAX_P
pub inline fn cast(comptime To: type, value: anytype) To {
if (comptime std.meta.trait.isIntegral(@TypeOf(value))) {
- return @ptrFromInt(To, @bitCast(usize, value));
+ return @as(To, @ptrFromInt(@as(usize, @bitCast(value))));
}
// TODO: file issue about why std.meta.Child only is necessary on Linux aarch64
// it should be necessary on all targets
- return @ptrCast(To, @alignCast(@alignOf(std.meta.Child(To)), value));
+ return @ptrCast(@alignCast(value));
}
extern fn strlen(ptr: [*c]const u8) usize;
@@ -327,7 +327,7 @@ pub fn len(value: anytype) usize {
.Many => {
const sentinel_ptr = info.sentinel orelse
@compileError("length of pointer with no sentinel");
- const sentinel = @ptrCast(*align(1) const info.child, sentinel_ptr).*;
+ const sentinel = @as(*align(1) const info.child, @ptrCast(sentinel_ptr)).*;
return indexOfSentinel(info.child, sentinel, value);
},
@@ -406,7 +406,7 @@ pub fn span(ptr: anytype) Span(@TypeOf(ptr)) {
const l = len(ptr);
const ptr_info = @typeInfo(Result).Pointer;
if (ptr_info.sentinel) |s_ptr| {
- const s = @ptrCast(*align(1) const ptr_info.child, s_ptr).*;
+ const s = @as(*align(1) const ptr_info.child, @ptrCast(s_ptr)).*;
return ptr[0..l :s];
} else {
return ptr[0..l];
@@ -572,7 +572,7 @@ pub fn hashWithSeed(seed: u64, content: []const u8) u64 {
pub fn hash32(content: []const u8) u32 {
const res = hash(content);
- return @truncate(u32, res);
+ return @as(u32, @truncate(res));
}
pub const HiveArray = @import("./hive_array.zig").HiveArray;
@@ -688,8 +688,8 @@ pub inline fn isSliceInBuffer(slice: []const u8, buffer: []const u8) bool {
pub fn rangeOfSliceInBuffer(slice: []const u8, buffer: []const u8) ?[2]u32 {
if (!isSliceInBuffer(slice, buffer)) return null;
const r = [_]u32{
- @truncate(u32, @intFromPtr(slice.ptr) -| @intFromPtr(buffer.ptr)),
- @truncate(u32, slice.len),
+ @as(u32, @truncate(@intFromPtr(slice.ptr) -| @intFromPtr(buffer.ptr))),
+ @as(u32, @truncate(slice.len)),
};
if (comptime Environment.allow_assert)
std.debug.assert(strings.eqlLong(slice, buffer[r[0]..][0..r[1]], false));
@@ -732,7 +732,7 @@ pub fn getenvZ(path_: [:0]const u8) ?[]const u8 {
// These wrappers exist to use our strings.eqlLong function
pub const StringArrayHashMapContext = struct {
pub fn hash(_: @This(), s: []const u8) u32 {
- return @truncate(u32, std.hash.Wyhash.hash(0, s));
+ return @as(u32, @truncate(std.hash.Wyhash.hash(0, s)));
}
pub fn eql(_: @This(), a: []const u8, b: []const u8, _: usize) bool {
return strings.eqlLong(a, b, true);
@@ -751,7 +751,7 @@ pub const StringArrayHashMapContext = struct {
pub fn hash(this: @This(), s: []const u8) u32 {
if (s.ptr == this.input.ptr and s.len == this.input.len)
return this.value;
- return @truncate(u32, std.hash.Wyhash.hash(0, s));
+ return @as(u32, @truncate(std.hash.Wyhash.hash(0, s)));
}
pub fn eql(_: @This(), a: []const u8, b: []const u8) bool {
@@ -882,7 +882,7 @@ pub const SignalCode = enum(u8) {
}
pub fn from(value: anytype) SignalCode {
- return @enumFromInt(SignalCode, @truncate(u7, std.mem.asBytes(&value)[0]));
+ return @as(SignalCode, @enumFromInt(@as(u7, @truncate(std.mem.asBytes(&value)[0]))));
}
pub fn format(self: SignalCode, comptime _: []const u8, _: fmt.FormatOptions, writer: anytype) !void {
@@ -965,8 +965,8 @@ pub fn ComptimeEnumMap(comptime T: type) type {
/// Ignores default struct values.
pub fn zero(comptime Type: type) Type {
var out: [@sizeOf(Type)]u8 align(@alignOf(Type)) = undefined;
- @memset(@ptrCast([*]u8, &out)[0..out.len], 0);
- return @bitCast(Type, out);
+ @memset(@as([*]u8, @ptrCast(&out))[0..out.len], 0);
+ return @as(Type, @bitCast(out));
}
pub const c_ares = @import("./deps/c_ares.zig");
pub const URL = @import("./url.zig").URL;
@@ -1016,7 +1016,7 @@ fn lenSliceTo(ptr: anytype, comptime end: meta.Elem(@TypeOf(ptr))) usize {
.One => switch (@typeInfo(ptr_info.child)) {
.Array => |array_info| {
if (array_info.sentinel) |sentinel_ptr| {
- const sentinel = @ptrCast(*align(1) const array_info.child, sentinel_ptr).*;
+ const sentinel = @as(*align(1) const array_info.child, @ptrCast(sentinel_ptr)).*;
if (sentinel == end) {
return indexOfSentinel(array_info.child, end, ptr);
}
@@ -1026,7 +1026,7 @@ fn lenSliceTo(ptr: anytype, comptime end: meta.Elem(@TypeOf(ptr))) usize {
else => {},
},
.Many => if (ptr_info.sentinel) |sentinel_ptr| {
- const sentinel = @ptrCast(*align(1) const ptr_info.child, sentinel_ptr).*;
+ const sentinel = @as(*align(1) const ptr_info.child, @ptrCast(sentinel_ptr)).*;
// We may be looking for something other than the sentinel,
// but iterating past the sentinel would be a bug so we need
// to check for both.
@@ -1040,7 +1040,7 @@ fn lenSliceTo(ptr: anytype, comptime end: meta.Elem(@TypeOf(ptr))) usize {
},
.Slice => {
if (ptr_info.sentinel) |sentinel_ptr| {
- const sentinel = @ptrCast(*align(1) const ptr_info.child, sentinel_ptr).*;
+ const sentinel = @as(*align(1) const ptr_info.child, @ptrCast(sentinel_ptr)).*;
if (sentinel == end) {
return indexOfSentinel(ptr_info.child, sentinel, ptr);
}
@@ -1070,7 +1070,7 @@ fn SliceTo(comptime T: type, comptime end: meta.Elem(T)) type {
// to find the value searched for, which is only the case if it matches
// the sentinel of the type passed.
if (array_info.sentinel) |sentinel_ptr| {
- const sentinel = @ptrCast(*align(1) const array_info.child, sentinel_ptr).*;
+ const sentinel = @as(*align(1) const array_info.child, @ptrCast(sentinel_ptr)).*;
if (end == sentinel) {
new_ptr_info.sentinel = &end;
} else {
@@ -1085,7 +1085,7 @@ fn SliceTo(comptime T: type, comptime end: meta.Elem(T)) type {
// to find the value searched for, which is only the case if it matches
// the sentinel of the type passed.
if (ptr_info.sentinel) |sentinel_ptr| {
- const sentinel = @ptrCast(*align(1) const ptr_info.child, sentinel_ptr).*;
+ const sentinel = @as(*align(1) const ptr_info.child, @ptrCast(sentinel_ptr)).*;
if (end == sentinel) {
new_ptr_info.sentinel = &end;
} else {
@@ -1123,7 +1123,7 @@ pub fn sliceTo(ptr: anytype, comptime end: meta.Elem(@TypeOf(ptr))) SliceTo(@Typ
const length = lenSliceTo(ptr, end);
const ptr_info = @typeInfo(Result).Pointer;
if (ptr_info.sentinel) |s_ptr| {
- const s = @ptrCast(*align(1) const ptr_info.child, s_ptr).*;
+ const s = @as(*align(1) const ptr_info.child, @ptrCast(s_ptr)).*;
return ptr[0..length :s];
} else {
return ptr[0..length];
@@ -1139,7 +1139,7 @@ pub fn cstring(input: []const u8) [:0]const u8 {
input.ptr[input.len] == 0,
);
}
- return @ptrCast([*:0]const u8, input.ptr)[0..input.len :0];
+ return @as([*:0]const u8, @ptrCast(input.ptr))[0..input.len :0];
}
pub const Semver = @import("./install/semver.zig");
@@ -1267,10 +1267,10 @@ pub fn reloadProcess(
const exec_path = (allocator.dupeZ(u8, std.fs.selfExePathAlloc(allocator) catch unreachable) catch unreachable).ptr;
// we clone argv so that the memory address isn't the same as the libc one
- const argv = @ptrCast([*:null]?[*:0]const u8, dupe_argv.ptr);
+ const argv = @as([*:null]?[*:0]const u8, @ptrCast(dupe_argv.ptr));
// we clone envp so that the memory address of environment variables isn't the same as the libc one
- const envp = @ptrCast([*:null]?[*:0]const u8, environ.ptr);
+ const envp = @as([*:null]?[*:0]const u8, @ptrCast(environ.ptr));
// Clear the terminal
if (clear_terminal) {
@@ -1295,7 +1295,7 @@ pub fn reloadProcess(
C.POSIX_SPAWN_SETEXEC |
C.POSIX_SPAWN_SETSIGDEF | C.POSIX_SPAWN_SETSIGMASK,
) catch unreachable;
- switch (PosixSpawn.spawnZ(exec_path, actions, attrs, @ptrCast([*:null]?[*:0]const u8, argv), @ptrCast([*:null]?[*:0]const u8, envp))) {
+ switch (PosixSpawn.spawnZ(exec_path, actions, attrs, @as([*:null]?[*:0]const u8, @ptrCast(argv)), @as([*:null]?[*:0]const u8, @ptrCast(envp)))) {
.err => |err| {
Output.panic("Unexpected error while reloading: {d} {s}", .{ err.errno, @tagName(err.getErrno()) });
},
diff --git a/src/bundler/bundle_v2.zig b/src/bundler/bundle_v2.zig
index 1fd77f5f2..b70bac229 100644
--- a/src/bundler/bundle_v2.zig
+++ b/src/bundler/bundle_v2.zig
@@ -150,7 +150,7 @@ pub const ThreadPool = struct {
if (existing_thread_pool) |pool| {
this.pool = pool;
} else {
- var cpu_count = @truncate(u32, @max(std.Thread.getCpuCount() catch 2, 2));
+ var cpu_count = @as(u32, @truncate(@max(std.Thread.getCpuCount() catch 2, 2)));
if (v2.bundler.env.map.get("GOMAXPROCS")) |max_procs| {
if (std.fmt.parseInt(u32, max_procs, 10)) |cpu_count_| {
@@ -158,7 +158,7 @@ pub const ThreadPool = struct {
} else |_| {}
}
- cpu_count = @max(@min(cpu_count, @truncate(u32, 128 - 1)), 2);
+ cpu_count = @max(@min(cpu_count, @as(u32, @truncate(128 - 1))), 2);
this.pool = try v2.graph.allocator.create(ThreadPoolLib);
this.pool.* = ThreadPoolLib.init(.{
.max_threads = cpu_count,
@@ -584,7 +584,7 @@ pub const BundleV2 = struct {
path.* = path.dupeAlloc(this.graph.allocator) catch @panic("Ran out of memory");
// We need to parse this
- const source_index = Index.init(@intCast(u32, this.graph.ast.len));
+ const source_index = Index.init(@as(u32, @intCast(this.graph.ast.len)));
entry.value_ptr.* = source_index.get();
out_source_index = source_index;
this.graph.ast.append(bun.default_allocator, JSAst.empty) catch unreachable;
@@ -795,7 +795,7 @@ pub const BundleV2 = struct {
const entry_points = try router.getEntryPoints();
try this.graph.entry_points.ensureUnusedCapacity(this.graph.allocator, entry_points.len);
try this.graph.input_files.ensureUnusedCapacity(this.graph.allocator, entry_points.len);
- try this.graph.path_to_source_index_map.ensureUnusedCapacity(this.graph.allocator, @truncate(u32, entry_points.len));
+ try this.graph.path_to_source_index_map.ensureUnusedCapacity(this.graph.allocator, @as(u32, @truncate(entry_points.len)));
for (entry_points) |entry_point| {
const resolved = this.bundler.resolveEntryPoint(entry_point) catch continue;
@@ -809,7 +809,7 @@ pub const BundleV2 = struct {
// Setup entry points
try this.graph.entry_points.ensureUnusedCapacity(this.graph.allocator, user_entry_points.len);
try this.graph.input_files.ensureUnusedCapacity(this.graph.allocator, user_entry_points.len);
- try this.graph.path_to_source_index_map.ensureUnusedCapacity(this.graph.allocator, @truncate(u32, user_entry_points.len));
+ try this.graph.path_to_source_index_map.ensureUnusedCapacity(this.graph.allocator, @as(u32, @truncate(user_entry_points.len)));
for (user_entry_points) |entry_point| {
const resolved = this.bundler.resolveEntryPoint(entry_point) catch continue;
@@ -915,7 +915,7 @@ pub const BundleV2 = struct {
all_imported_files.setIntersection(react_client_component_boundary);
if (all_imported_files.findFirstSet() == null) continue;
- const source_index = Index.init(@intCast(u32, this.graph.ast.len));
+ const source_index = Index.init(@as(u32, @intCast(this.graph.ast.len)));
var shadow = ShadowEntryPoint{
.from_source_index = entry_point_source_index.get(),
@@ -944,7 +944,7 @@ pub const BundleV2 = struct {
);
if (this.graph.shadow_entry_point_range.loc.start < 0) {
- this.graph.shadow_entry_point_range.loc.start = @intCast(i32, source_index.get());
+ this.graph.shadow_entry_point_range.loc.start = @as(i32, @intCast(source_index.get()));
}
this.graph.ast.append(bun.default_allocator, JSAst.empty) catch unreachable;
@@ -1015,7 +1015,7 @@ pub const BundleV2 = struct {
this.waitForParse();
- minify_duration.* = @intCast(u64, @divTrunc(@truncate(i64, std.time.nanoTimestamp()) - @truncate(i64, bun.CLI.start_time), @as(i64, std.time.ns_per_ms)));
+ minify_duration.* = @as(u64, @intCast(@divTrunc(@as(i64, @truncate(std.time.nanoTimestamp())) - @as(i64, @truncate(bun.CLI.start_time)), @as(i64, std.time.ns_per_ms))));
source_code_size.* = this.source_code_length;
if (this.graph.use_directive_entry_points.len > 0) {
@@ -1108,7 +1108,7 @@ pub const BundleV2 = struct {
),
) catch unreachable;
additional_files[index].push(this.graph.allocator, AdditionalFile{
- .output_file = @truncate(u32, additional_output_files.items.len - 1),
+ .output_file = @as(u32, @truncate(additional_output_files.items.len - 1)),
}) catch unreachable;
}
}
@@ -1279,7 +1279,7 @@ pub const BundleV2 = struct {
to_assign_on_sourcemap = result;
}
- output_files_js.putIndex(globalThis, @intCast(u32, i), result);
+ output_files_js.putIndex(globalThis, @as(u32, @intCast(i)), result);
}
root_obj.put(globalThis, JSC.ZigString.static("outputs"), output_files_js);
@@ -1444,7 +1444,7 @@ pub const BundleV2 = struct {
this.free_list.appendSlice(&.{ result.namespace, result.path }) catch {};
// We need to parse this
- const source_index = Index.init(@intCast(u32, this.graph.ast.len));
+ const source_index = Index.init(@as(u32, @intCast(this.graph.ast.len)));
existing.value_ptr.* = source_index.get();
out_source_index = source_index;
this.graph.ast.append(bun.default_allocator, JSAst.empty) catch unreachable;
@@ -1643,7 +1643,7 @@ pub const BundleV2 = struct {
}
defer {
- if (this.graph.pool.pool.threadpool_context == @ptrCast(?*anyopaque, this.graph.pool)) {
+ if (this.graph.pool.pool.threadpool_context == @as(?*anyopaque, @ptrCast(this.graph.pool))) {
this.graph.pool.pool.threadpool_context = null;
}
@@ -1892,7 +1892,7 @@ pub const BundleV2 = struct {
}
}
- if (this.enqueueOnResolvePluginIfNeeded(source.index.get(), import_record, source.path.text, @truncate(u32, i), ast.target)) {
+ if (this.enqueueOnResolvePluginIfNeeded(source.index.get(), import_record, source.path.text, @as(u32, @truncate(i)), ast.target)) {
continue;
}
@@ -2052,9 +2052,9 @@ pub const BundleV2 = struct {
defer {
if (diff > 0)
- _ = @atomicRmw(usize, &graph.parse_pending, .Add, @intCast(usize, diff), .Monotonic)
+ _ = @atomicRmw(usize, &graph.parse_pending, .Add, @as(usize, @intCast(diff)), .Monotonic)
else
- _ = @atomicRmw(usize, &graph.parse_pending, .Sub, @intCast(usize, -diff), .Monotonic);
+ _ = @atomicRmw(usize, &graph.parse_pending, .Sub, @as(usize, @intCast(-diff)), .Monotonic);
}
var resolve_queue = ResolveQueue.init(this.graph.allocator);
@@ -2212,7 +2212,7 @@ pub const BundleV2 = struct {
record.source_index.value = source_index;
if (getRedirectId(result.ast.redirect_import_record_index)) |compare| {
- if (compare == @truncate(u32, i)) {
+ if (compare == @as(u32, @truncate(i))) {
graph.path_to_source_index_map.put(
graph.allocator,
result.source.path.hashKey(),
@@ -3083,8 +3083,8 @@ const LinkerGraph = struct {
var source_symbols = &this.symbols.symbols_for_source.slice()[source_index];
var ref = Ref.init(
- @truncate(Ref.Int, source_symbols.len),
- @truncate(Ref.Int, source_index),
+ @as(Ref.Int, @truncate(source_symbols.len)),
+ @as(Ref.Int, @truncate(source_index)),
false,
);
ref.tag = .symbol;
@@ -3127,7 +3127,7 @@ const LinkerGraph = struct {
part: js_ast.Part,
) !u32 {
var parts: *js_ast.Part.List = &graph.ast.items(.parts)[id];
- const part_id = @truncate(u32, parts.len);
+ const part_id = @as(u32, @truncate(parts.len));
try parts.push(graph.allocator, part);
var top_level_symbol_to_parts_overlay: ?*TopLevelSymbolToParts = null;
@@ -3239,7 +3239,7 @@ const LinkerGraph = struct {
for (part_ids, new_dependencies) |part_id, *dependency| {
dependency.* = .{
.source_index = source_index_to_import_from,
- .part_index = @truncate(u32, part_id),
+ .part_index = @as(u32, @truncate(part_id)),
};
}
}
@@ -3345,7 +3345,7 @@ const LinkerGraph = struct {
// Loop #2: For each import in the entire module graph
for (this.reachable_files) |source_id| {
const use_directive = this.useDirectiveBoundary(source_id.get());
- const source_i32 = @intCast(i32, source_id.get());
+ const source_i32 = @as(i32, @intCast(source_id.get()));
const is_shadow_entrypoint = shadow_entry_point_range.contains(source_i32);
// If the reachable file has a "use client"; at the top
@@ -3421,7 +3421,7 @@ const LinkerGraph = struct {
files.items(.distance_from_entry_point),
file.distance_from_entry_point,
);
- this.stable_source_indices = @ptrCast([]const u32, stable_source_indices);
+ this.stable_source_indices = @as([]const u32, @ptrCast(stable_source_indices));
}
{
@@ -3442,7 +3442,7 @@ const LinkerGraph = struct {
}
if (count > 0) {
- try const_values.ensureTotalCapacity(this.allocator, @truncate(u32, count));
+ try const_values.ensureTotalCapacity(this.allocator, @as(u32, @truncate(count)));
for (this.ast.items(.const_values)) |const_value| {
for (const_value.keys(), const_value.values()) |key, value| {
const_values.putAssumeCapacityNoClobber(key, value);
@@ -3612,7 +3612,7 @@ const LinkerContext = struct {
source.contents,
// We don't support sourcemaps for source files with more than 2^31 lines
- @intCast(i32, @truncate(u31, approximate_line_count)),
+ @as(i32, @intCast(@as(u31, @truncate(approximate_line_count)))),
);
}
@@ -3695,8 +3695,8 @@ const LinkerContext = struct {
) void {
this.source_maps.line_offset_wait_group.init();
this.source_maps.quoted_contents_wait_group.init();
- this.source_maps.line_offset_wait_group.counter = @truncate(u32, reachable.len);
- this.source_maps.quoted_contents_wait_group.counter = @truncate(u32, reachable.len);
+ this.source_maps.line_offset_wait_group.counter = @as(u32, @truncate(reachable.len));
+ this.source_maps.quoted_contents_wait_group.counter = @as(u32, @truncate(reachable.len));
this.source_maps.line_offset_tasks = this.allocator.alloc(SourceMapData.Task, reachable.len) catch unreachable;
this.source_maps.quoted_contents_tasks = this.allocator.alloc(SourceMapData.Task, reachable.len) catch unreachable;
@@ -3724,7 +3724,7 @@ const LinkerContext = struct {
}
pub fn scheduleTasks(this: *LinkerContext, batch: ThreadPoolLib.Batch) void {
- _ = this.pending_task_count.fetchAdd(@truncate(u32, batch.len), .Monotonic);
+ _ = this.pending_task_count.fetchAdd(@as(u32, @truncate(batch.len)), .Monotonic);
this.parse_graph.pool.pool.schedule(batch);
}
@@ -3748,7 +3748,7 @@ const LinkerContext = struct {
);
if (this.options.source_maps != .none) {
- this.computeDataForSourceMap(@ptrCast([]Index.Int, reachable));
+ this.computeDataForSourceMap(@as([]Index.Int, @ptrCast(reachable)));
}
if (comptime FeatureFlags.help_catch_memory_issues) {
@@ -3815,7 +3815,7 @@ const LinkerContext = struct {
// Create chunks for entry points
for (entry_source_indices, 0..) |source_index, entry_id_| {
- const entry_bit = @truncate(Chunk.EntryPoint.ID, entry_id_);
+ const entry_bit = @as(Chunk.EntryPoint.ID, @truncate(entry_id_));
var entry_bits = &this.graph.files.items(.entry_bits)[source_index];
entry_bits.set(entry_bit);
@@ -3844,7 +3844,7 @@ const LinkerContext = struct {
allocator: std.mem.Allocator,
source_id: u32,
pub fn next(c: *@This(), chunk_id: usize) void {
- _ = c.chunks[chunk_id].files_with_parts_in_chunk.getOrPut(c.allocator, @truncate(u32, c.source_id)) catch unreachable;
+ _ = c.chunks[chunk_id].files_with_parts_in_chunk.getOrPut(c.allocator, @as(u32, @truncate(c.source_id))) catch unreachable;
}
};
@@ -3871,7 +3871,7 @@ const LinkerContext = struct {
};
}
- _ = js_chunk_entry.value_ptr.files_with_parts_in_chunk.getOrPut(this.allocator, @truncate(u32, source_index.get())) catch unreachable;
+ _ = js_chunk_entry.value_ptr.files_with_parts_in_chunk.getOrPut(this.allocator, @as(u32, @truncate(source_index.get()))) catch unreachable;
} else {
var handler = Handler{
.chunks = js_chunks.values(),
@@ -3893,7 +3893,7 @@ const LinkerContext = struct {
// to look up the path for this chunk to use with the import.
for (chunks, 0..) |*chunk, chunk_id| {
if (chunk.entry_point.is_entry_point) {
- entry_point_chunk_indices[chunk.entry_point.source_index] = @truncate(u32, chunk_id);
+ entry_point_chunk_indices[chunk.entry_point.source_index] = @as(u32, @truncate(chunk_id));
}
}
@@ -4068,7 +4068,7 @@ const LinkerContext = struct {
const records = v.import_records[source_index].slice();
for (parts, 0..) |part, part_index_| {
- const part_index = @truncate(u32, part_index_);
+ const part_index = @as(u32, @truncate(part_index_));
const is_part_in_this_chunk = is_file_in_chunk and part.is_live;
for (part.import_record_indices.slice()) |record_id| {
const record: *const ImportRecord = &records[record_id];
@@ -4109,7 +4109,7 @@ const LinkerContext = struct {
.{
.source_index = Index.init(source_index),
.part_index_begin = 0,
- .part_index_end = @truncate(u32, parts.len),
+ .part_index_end = @as(u32, @truncate(parts.len)),
},
) catch unreachable;
}
@@ -4994,7 +4994,7 @@ const LinkerContext = struct {
continue;
}
- std.debug.assert(@intCast(usize, other_id) < this.graph.meta.len);
+ std.debug.assert(@as(usize, @intCast(other_id)) < this.graph.meta.len);
const other_flags = flags[other_id];
const other_export_kind = exports_kind[other_id];
const other_source_index = other_id;
@@ -5004,7 +5004,7 @@ const LinkerContext = struct {
const wrapper_ref = wrapper_refs[other_id];
this.graph.generateSymbolImportAndUse(
source_index,
- @intCast(u32, part_index),
+ @as(u32, @intCast(part_index)),
wrapper_ref,
1,
Index.source(other_source_index),
@@ -5025,7 +5025,7 @@ const LinkerContext = struct {
if (other_flags.wrap == .esm and kind != .stmt) {
this.graph.generateSymbolImportAndUse(
source_index,
- @intCast(u32, part_index),
+ @as(u32, @intCast(part_index)),
this.graph.ast.items(.exports_ref)[other_id],
1,
Index.source(other_source_index),
@@ -5053,7 +5053,7 @@ const LinkerContext = struct {
// dynamic export fallback object doesn't end up being needed.
this.graph.generateSymbolImportAndUse(
source_index,
- @intCast(u32, part_index),
+ @as(u32, @intCast(part_index)),
this.graph.ast.items(.exports_ref)[other_id],
1,
Index.source(other_source_index),
@@ -5102,7 +5102,7 @@ const LinkerContext = struct {
if (record.source_index.isValid()) {
var other_source_index = record.source_index.get();
const other_id = other_source_index;
- std.debug.assert(@intCast(usize, other_id) < this.graph.meta.len);
+ std.debug.assert(@as(usize, @intCast(other_id)) < this.graph.meta.len);
const other_export_kind = exports_kind[other_id];
if (other_source_index != source_index and other_export_kind.isDynamic()) {
happens_at_runtime = true;
@@ -5115,7 +5115,7 @@ const LinkerContext = struct {
// in a different chunk than this export star.
this.graph.generateSymbolImportAndUse(
source_index,
- @intCast(u32, part_index),
+ @as(u32, @intCast(part_index)),
this.graph.ast.items(.exports_ref)[other_id],
1,
Index.source(other_source_index),
@@ -5127,7 +5127,7 @@ const LinkerContext = struct {
// Depend on this file's "exports" object for the first argument to "__reExport"
this.graph.generateSymbolImportAndUse(
source_index,
- @intCast(u32, part_index),
+ @as(u32, @intCast(part_index)),
this.graph.ast.items(.exports_ref)[id],
1,
Index.source(source_index),
@@ -5523,9 +5523,9 @@ const LinkerContext = struct {
const other_parts = c.topLevelSymbolsToParts(id, ref);
for (other_parts) |other_part_index| {
- var local = local_dependencies.getOrPut(@intCast(u32, other_part_index)) catch unreachable;
+ var local = local_dependencies.getOrPut(@as(u32, @intCast(other_part_index))) catch unreachable;
if (!local.found_existing or local.value_ptr.* != part_index) {
- local.value_ptr.* = @intCast(u32, part_index);
+ local.value_ptr.* = @as(u32, @intCast(part_index));
// note: if we crash on append, it is due to threadlocal heaps in mimalloc
part.dependencies.push(
allocator_,
@@ -5539,7 +5539,7 @@ const LinkerContext = struct {
// Also map from imports to parts that use them
if (named_imports.getPtr(ref)) |existing| {
- existing.local_parts_with_uses.push(allocator_, @intCast(u32, part_index)) catch unreachable;
+ existing.local_parts_with_uses.push(allocator_, @as(u32, @intCast(part_index))) catch unreachable;
}
}
}
@@ -5706,7 +5706,7 @@ const LinkerContext = struct {
// the same name should already be marked as all being in a single
// chunk. In that case this will overwrite the same value below which
// is fine.
- deps.symbols.assignChunkIndex(part.declared_symbols, @truncate(u32, chunk_index));
+ deps.symbols.assignChunkIndex(part.declared_symbols, @as(u32, @truncate(chunk_index)));
const used_refs = part.symbol_uses.keys();
@@ -5861,7 +5861,7 @@ const LinkerContext = struct {
}
_ = js.imports_from_other_chunks.getOrPutValue(
c.allocator,
- @truncate(u32, other_chunk_index),
+ @as(u32, @truncate(other_chunk_index)),
CrossChunkImport.Item.List{},
) catch unreachable;
}
@@ -5913,7 +5913,7 @@ const LinkerContext = struct {
&stable_ref_list,
);
var clause_items = BabyList(js_ast.ClauseItem).initCapacity(c.allocator, stable_ref_list.items.len) catch unreachable;
- clause_items.len = @truncate(u32, stable_ref_list.items.len);
+ clause_items.len = @as(u32, @truncate(stable_ref_list.items.len));
repr.exports_to_other_chunks.ensureUnusedCapacity(c.allocator, stable_ref_list.items.len) catch unreachable;
r.clearRetainingCapacity();
@@ -5977,7 +5977,7 @@ const LinkerContext = struct {
for (cross_chunk_imports_input) |cross_chunk_import| {
switch (c.options.output_format) {
.esm => {
- const import_record_index = @intCast(u32, cross_chunk_imports.len);
+ const import_record_index = @as(u32, @intCast(cross_chunk_imports.len));
var clauses = std.ArrayList(js_ast.ClauseItem).initCapacity(c.allocator, cross_chunk_import.sorted_import_items.len) catch unreachable;
for (cross_chunk_import.sorted_import_items.slice()) |item| {
@@ -6680,7 +6680,7 @@ const LinkerContext = struct {
chunk.intermediate_output = c.breakOutputIntoPieces(
worker.allocator,
&j,
- @truncate(u32, ctx.chunks.len),
+ @as(u32, @truncate(ctx.chunks.len)),
) catch @panic("Unhandled out of memory error in breakOutputIntoPieces()");
// TODO: meta contents
@@ -6778,7 +6778,7 @@ const LinkerContext = struct {
var res = try source_index_to_sources_index.getOrPut(current_source_index);
if (res.found_existing) continue;
res.value_ptr.* = next_source_index;
- const source_index = @intCast(i32, next_source_index);
+ const source_index = @as(i32, @intCast(next_source_index));
next_source_index += 1;
var start_state = sourcemap.SourceMapState{
@@ -8174,7 +8174,7 @@ const LinkerContext = struct {
// Add all other parts in this chunk
for (parts, 0..) |part, index_| {
- const index = part_range.part_index_begin + @truncate(u32, index_);
+ const index = part_range.part_index_begin + @as(u32, @truncate(index_));
if (!part.is_live) {
// Skip the part if it's not in this chunk
continue;
@@ -8669,7 +8669,7 @@ const LinkerContext = struct {
wait_group.deinit();
c.allocator.destroy(wait_group);
}
- wait_group.counter = @truncate(u32, chunks.len);
+ wait_group.counter = @as(u32, @truncate(chunks.len));
var ctx = GenerateChunkCtx{ .chunk = &chunks[0], .wg = wait_group, .c = c, .chunks = chunks };
try c.parse_graph.pool.pool.doPtr(c.allocator, wait_group, ctx, generateJSRenamer, chunks);
}
@@ -8708,7 +8708,7 @@ const LinkerContext = struct {
for (chunk.content.javascript.parts_in_chunk_in_order, 0..) |part_range, i| {
remaining_part_ranges[0] = .{
.part_range = part_range,
- .i = @truncate(u32, i),
+ .i = @as(u32, @truncate(i)),
.task = ThreadPoolLib.Task{
.callback = &generateCompileResultForJSChunk,
},
@@ -8719,7 +8719,7 @@ const LinkerContext = struct {
remaining_part_ranges = remaining_part_ranges[1..];
}
}
- wait_group.counter = @truncate(u32, total_count);
+ wait_group.counter = @as(u32, @truncate(total_count));
c.parse_graph.pool.pool.schedule(batch);
wait_group.wait();
}
@@ -8736,7 +8736,7 @@ const LinkerContext = struct {
debug(" START {d} postprocess chunks", .{chunks.len});
defer debug(" DONE {d} postprocess chunks", .{chunks.len});
wait_group.init();
- wait_group.counter = @truncate(u32, chunks.len);
+ wait_group.counter = @as(u32, @truncate(chunks.len));
try c.parse_graph.pool.pool.doPtr(c.allocator, wait_group, chunk_contexts[0], generateChunkJS, chunks);
}
@@ -8783,14 +8783,14 @@ const LinkerContext = struct {
defer sorted_client_component_ids.deinit();
while (react_client_components_iterator.next()) |source_index| {
if (!c.graph.files_live.isSet(source_index)) continue;
- sorted_client_component_ids.appendAssumeCapacity(@intCast(u32, source_index));
+ sorted_client_component_ids.appendAssumeCapacity(@as(u32, @intCast(source_index)));
}
var sorted_server_component_ids = std.ArrayList(u32).initCapacity(c.allocator, server_modules.capacity) catch unreachable;
defer sorted_server_component_ids.deinit();
while (react_server_components_iterator.next()) |source_index| {
if (!c.graph.files_live.isSet(source_index)) continue;
- sorted_server_component_ids.appendAssumeCapacity(@intCast(u32, source_index));
+ sorted_server_component_ids.appendAssumeCapacity(@as(u32, @intCast(source_index)));
}
const Sorter = struct {
@@ -8817,7 +8817,7 @@ const LinkerContext = struct {
var chunk: *Chunk = brk2: {
for (chunks) |*chunk_| {
if (!chunk_.entry_point.is_entry_point) continue;
- if (chunk_.entry_point.source_index == @intCast(u32, component_source_index)) {
+ if (chunk_.entry_point.source_index == @as(u32, @intCast(component_source_index))) {
break :brk2 chunk_;
}
@@ -8835,8 +8835,8 @@ const LinkerContext = struct {
const named_exports = all_named_exports[source_index_for_named_exports].keys();
try export_names.ensureUnusedCapacity(named_exports.len);
- const exports_len = @intCast(u32, named_exports.len);
- const exports_start = @intCast(u32, export_names.items.len);
+ const exports_len = @as(u32, @intCast(named_exports.len));
+ const exports_start = @as(u32, @intCast(export_names.items.len));
grow_length += chunk.final_rel_path.len;
@@ -8844,8 +8844,8 @@ const LinkerContext = struct {
for (named_exports) |export_name| {
try export_names.append(Api.StringPointer{
- .offset = @intCast(u32, bytes.items.len + grow_length),
- .length = @intCast(u32, export_name.len),
+ .offset = @as(u32, @intCast(bytes.items.len + grow_length)),
+ .length = @as(u32, @intCast(export_name.len)),
});
grow_length += export_name.len;
}
@@ -8853,15 +8853,15 @@ const LinkerContext = struct {
try bytes.ensureUnusedCapacity(grow_length);
const input_name = Api.StringPointer{
- .offset = @intCast(u32, bytes.items.len),
- .length = @intCast(u32, all_sources[component_source_index].path.pretty.len),
+ .offset = @as(u32, @intCast(bytes.items.len)),
+ .length = @as(u32, @intCast(all_sources[component_source_index].path.pretty.len)),
};
bytes.appendSliceAssumeCapacity(all_sources[component_source_index].path.pretty);
const asset_name = Api.StringPointer{
- .offset = @intCast(u32, bytes.items.len),
- .length = @intCast(u32, chunk.final_rel_path.len),
+ .offset = @as(u32, @intCast(bytes.items.len)),
+ .length = @as(u32, @intCast(chunk.final_rel_path.len)),
};
bytes.appendSliceAssumeCapacity(chunk.final_rel_path);
@@ -9010,7 +9010,7 @@ const LinkerContext = struct {
.hash = chunk.isolated_hash,
.loader = .js,
.input_path = input_path,
- .display_size = @truncate(u32, display_size),
+ .display_size = @as(u32, @truncate(display_size)),
.output_kind = if (chunk.entry_point.is_entry_point)
c.graph.files.items(.entry_point_kind)[chunk.entry_point.source_index].OutputKind()
else
@@ -9019,7 +9019,7 @@ const LinkerContext = struct {
.output_path = try bun.default_allocator.dupe(u8, chunk.final_rel_path),
.is_executable = chunk.is_executable,
.source_map_index = if (sourcemap_output_file != null)
- @truncate(u32, output_files.items.len + 1)
+ @as(u32, @truncate(output_files.items.len + 1))
else
null,
},
@@ -9163,13 +9163,13 @@ const LinkerContext = struct {
.buffer = .{
.ptr = @constCast(output_source_map.ptr),
// TODO: handle > 4 GB files
- .len = @truncate(u32, output_source_map.len),
- .byte_len = @truncate(u32, output_source_map.len),
+ .len = @as(u32, @truncate(output_source_map.len)),
+ .byte_len = @as(u32, @truncate(output_source_map.len)),
},
},
},
.encoding = .buffer,
- .dirfd = @intCast(bun.FileDescriptor, root_dir.dir.fd),
+ .dirfd = @as(bun.FileDescriptor, @intCast(root_dir.dir.fd)),
.file = .{
.path = JSC.Node.PathLike{
.string = JSC.PathString.init(source_map_final_rel_path),
@@ -9196,7 +9196,7 @@ const LinkerContext = struct {
.loader = .json,
.input_loader = .file,
.output_kind = .sourcemap,
- .size = @truncate(u32, output_source_map.len),
+ .size = @as(u32, @truncate(output_source_map.len)),
.data = .{
.saved = 0,
},
@@ -9231,15 +9231,15 @@ const LinkerContext = struct {
.buffer = .{
.ptr = @constCast(code_result.buffer.ptr),
// TODO: handle > 4 GB files
- .len = @truncate(u32, code_result.buffer.len),
- .byte_len = @truncate(u32, code_result.buffer.len),
+ .len = @as(u32, @truncate(code_result.buffer.len)),
+ .byte_len = @as(u32, @truncate(code_result.buffer.len)),
},
},
},
.encoding = .buffer,
.mode = if (chunk.is_executable) 0o755 else 0o644,
- .dirfd = @intCast(bun.FileDescriptor, root_dir.dir.fd),
+ .dirfd = @as(bun.FileDescriptor, @intCast(root_dir.dir.fd)),
.file = .{
.path = JSC.Node.PathLike{
.string = JSC.PathString.init(rel_path),
@@ -9275,11 +9275,11 @@ const LinkerContext = struct {
.chunk,
.loader = .js,
.source_map_index = if (source_map_output_file != null)
- @truncate(u32, output_files.items.len + 1)
+ @as(u32, @truncate(output_files.items.len + 1))
else
null,
- .size = @truncate(u32, code_result.buffer.len),
- .display_size = @truncate(u32, display_size),
+ .size = @as(u32, @truncate(code_result.buffer.len)),
+ .display_size = @as(u32, @truncate(display_size)),
.is_executable = chunk.is_executable,
.data = .{
.saved = 0,
@@ -9302,13 +9302,13 @@ const LinkerContext = struct {
.buffer = .{
.ptr = @constCast(react_client_components_manifest.ptr),
// TODO: handle > 4 GB files
- .len = @truncate(u32, react_client_components_manifest.len),
- .byte_len = @truncate(u32, react_client_components_manifest.len),
+ .len = @as(u32, @truncate(react_client_components_manifest.len)),
+ .byte_len = @as(u32, @truncate(react_client_components_manifest.len)),
},
},
},
.encoding = .buffer,
- .dirfd = @intCast(bun.FileDescriptor, root_dir.dir.fd),
+ .dirfd = @as(bun.FileDescriptor, @intCast(root_dir.dir.fd)),
.file = .{
.path = JSC.Node.PathLike{
.string = JSC.PathString.init(components_manifest_path),
@@ -9337,7 +9337,7 @@ const LinkerContext = struct {
.loader = .file,
.input_loader = .file,
.output_kind = .@"component-manifest",
- .size = @truncate(u32, react_client_components_manifest.len),
+ .size = @as(u32, @truncate(react_client_components_manifest.len)),
.input_path = bun.default_allocator.dupe(u8, components_manifest_path) catch unreachable,
.output_path = bun.default_allocator.dupe(u8, components_manifest_path) catch unreachable,
},
@@ -9378,13 +9378,13 @@ const LinkerContext = struct {
.buffer = .{
.ptr = @constCast(bytes.ptr),
// TODO: handle > 4 GB files
- .len = @truncate(u32, bytes.len),
- .byte_len = @truncate(u32, bytes.len),
+ .len = @as(u32, @truncate(bytes.len)),
+ .byte_len = @as(u32, @truncate(bytes.len)),
},
},
},
.encoding = .buffer,
- .dirfd = @intCast(bun.FileDescriptor, root_dir.dir.fd),
+ .dirfd = @as(bun.FileDescriptor, @intCast(root_dir.dir.fd)),
.file = .{
.path = JSC.Node.PathLike{
.string = JSC.PathString.init(src.dest_path),
@@ -9408,7 +9408,7 @@ const LinkerContext = struct {
dest.value = .{
.saved = .{},
};
- dest.size = @truncate(u32, bytes.len);
+ dest.size = @as(u32, @truncate(bytes.len));
}
}
}
@@ -9601,7 +9601,7 @@ const LinkerContext = struct {
entry_point_kinds[id].isEntryPoint()))
{
_ = c.markPartLiveForTreeShaking(
- @intCast(u32, part_index),
+ @as(u32, @intCast(part_index)),
id,
side_effects,
parts,
@@ -10504,14 +10504,14 @@ const LinkerContext = struct {
},
}
- output_piece_index.index = @intCast(u30, index);
+ output_piece_index.index = @as(u30, @intCast(index));
// If we're at the end, generate one final piece
if (boundary == invalid_boundary) {
try pieces.append(Chunk.OutputPiece{
.index = output_piece_index,
.data_ptr = output.ptr,
- .data_len = @truncate(u32, output.len),
+ .data_len = @as(u32, @truncate(output.len)),
});
break;
}
@@ -10522,7 +10522,7 @@ const LinkerContext = struct {
.data_ptr = output.ptr,
// sliced this way to panic if out of bounds
- .data_len = @truncate(u32, output[0..boundary].len),
+ .data_len = @as(u32, @truncate(output[0..boundary].len)),
});
output = output[boundary + prefix.len + 9 ..];
}
@@ -11330,12 +11330,12 @@ const ShadowEntryPoint = struct {
,
.{
path.pretty,
- ImportsFormatter{ .ctx = this.ctx, .source_index = @intCast(Index.Int, source_index), .pretty = path.pretty },
+ ImportsFormatter{ .ctx = this.ctx, .source_index = @as(Index.Int, @intCast(source_index)), .pretty = path.pretty },
bun.fmt.hexIntUpper(bun.hash(path.pretty)),
- ExportsFormatter{ .ctx = this.ctx, .source_index = @intCast(Index.Int, source_index), .pretty = path.pretty, .shadow = this.shadow },
+ ExportsFormatter{ .ctx = this.ctx, .source_index = @as(Index.Int, @intCast(source_index)), .pretty = path.pretty, .shadow = this.shadow },
},
) catch unreachable;
- this.resolved_source_indices.append(@truncate(Index.Int, source_index)) catch unreachable;
+ this.resolved_source_indices.append(@as(Index.Int, @truncate(source_index))) catch unreachable;
}
};
const ImportsFormatter = struct {
diff --git a/src/bundler/entry_points.zig b/src/bundler/entry_points.zig
index abc7eb602..cf961817a 100644
--- a/src/bundler/entry_points.zig
+++ b/src/bundler/entry_points.zig
@@ -264,13 +264,13 @@ pub const MacroEntryPoint = struct {
const fmt = bun.fmt.hexIntLower(hash);
const specifier = std.fmt.bufPrint(buf, js_ast.Macro.namespaceWithColon ++ "//{any}.js", .{fmt}) catch unreachable;
- len.* = @truncate(u32, specifier.len);
+ len.* = @as(u32, @truncate(specifier.len));
return generateIDFromSpecifier(specifier);
}
pub fn generateIDFromSpecifier(specifier: string) i32 {
- return @bitCast(i32, @truncate(u32, bun.hash(specifier)));
+ return @as(i32, @bitCast(@as(u32, @truncate(bun.hash(specifier)))));
}
pub fn generate(
diff --git a/src/c.zig b/src/c.zig
index d4d243499..8a88adddb 100644
--- a/src/c.zig
+++ b/src/c.zig
@@ -68,7 +68,7 @@ pub fn lstat_absolute(path: [:0]const u8) !Stat {
const ctime = st.ctime();
return Stat{
.inode = st.ino,
- .size = @bitCast(u64, st.size),
+ .size = @as(u64, @bitCast(st.size)),
.mode = st.mode,
.kind = switch (builtin.os.tag) {
.wasi => switch (st.filetype) {
@@ -142,16 +142,16 @@ pub fn moveFileZSlowWithHandle(in_handle: std.os.fd_t, to_dir: std.os.fd_t, dest
const out_handle = try std.os.openatZ(to_dir, destination, std.os.O.WRONLY | std.os.O.CREAT | std.os.O.CLOEXEC, 0o022);
defer std.os.close(out_handle);
if (comptime Environment.isLinux) {
- _ = std.os.system.fallocate(out_handle, 0, 0, @intCast(i64, stat_.size));
- _ = try std.os.sendfile(out_handle, in_handle, 0, @intCast(usize, stat_.size), &[_]std.os.iovec_const{}, &[_]std.os.iovec_const{}, 0);
+ _ = std.os.system.fallocate(out_handle, 0, 0, @as(i64, @intCast(stat_.size)));
+ _ = try std.os.sendfile(out_handle, in_handle, 0, @as(usize, @intCast(stat_.size)), &[_]std.os.iovec_const{}, &[_]std.os.iovec_const{}, 0);
} else {
if (comptime Environment.isMac) {
// if this fails, it doesn't matter
// we only really care about read & write succeeding
PlatformSpecific.preallocate_file(
out_handle,
- @intCast(std.os.off_t, 0),
- @intCast(std.os.off_t, stat_.size),
+ @as(std.os.off_t, @intCast(0)),
+ @as(std.os.off_t, @intCast(stat_.size)),
) catch {};
}
@@ -350,15 +350,15 @@ pub fn getSystemLoadavg() [3]f64 {
}
pub fn getProcessPriority(pid_: i32) i32 {
- const pid = @intCast(c_uint, pid_);
+ const pid = @as(c_uint, @intCast(pid_));
return get_process_priority(pid);
}
pub fn setProcessPriority(pid_: i32, priority_: i32) std.c.E {
if (pid_ < 0) return .SRCH;
- const pid = @intCast(c_uint, pid_);
- const priority = @intCast(c_int, priority_);
+ const pid = @as(c_uint, @intCast(pid_));
+ const priority = @as(c_int, @intCast(priority_));
const code: i32 = set_process_priority(pid, priority);
@@ -431,9 +431,9 @@ pub fn dlsymWithHandle(comptime Type: type, comptime name: [:0]const u8, comptim
pub fn dlsym(comptime Type: type, comptime name: [:0]const u8) ?Type {
const handle_getter = struct {
const RTLD_DEFAULT = if (bun.Environment.isMac)
- @ptrFromInt(?*anyopaque, @bitCast(usize, @as(isize, -2)))
+ @as(?*anyopaque, @ptrFromInt(@as(usize, @bitCast(@as(isize, -2)))))
else
- @ptrFromInt(?*anyopaque, @as(usize, 0));
+ @as(?*anyopaque, @ptrFromInt(@as(usize, 0)));
pub fn getter() ?*anyopaque {
return RTLD_DEFAULT;
diff --git a/src/cli.zig b/src/cli.zig
index 0c093681a..1debd9254 100644
--- a/src/cli.zig
+++ b/src/cli.zig
@@ -849,7 +849,7 @@ pub const HelpCommand = struct {
\\
;
- var rand_state = std.rand.DefaultPrng.init(@intCast(u64, @max(std.time.milliTimestamp(), 0)));
+ var rand_state = std.rand.DefaultPrng.init(@as(u64, @intCast(@max(std.time.milliTimestamp(), 0))));
const rand = rand_state.random();
const package_add_i = rand.uintAtMost(usize, packages_to_add_filler.len - 1);
const package_remove_i = rand.uintAtMost(usize, packages_to_remove_filler.len - 1);
diff --git a/src/cli/add_completions.zig b/src/cli/add_completions.zig
index 2e7d6b4ea..1267ea159 100644
--- a/src/cli/add_completions.zig
+++ b/src/cli/add_completions.zig
@@ -66,7 +66,7 @@ pub const index: Index = if (Environment.isDebug) Index.initFill(&.{"OOMWorkArou
break;
}
}
- array.set(@enumFromInt(FirstLetter, i), &record);
+ array.set(@as(FirstLetter, @enumFromInt(i)), &record);
@setEvalBranchQuota(999999);
i = next_i;
diff --git a/src/cli/build_command.zig b/src/cli/build_command.zig
index ef99f7765..bb4eb4313 100644
--- a/src/cli/build_command.zig
+++ b/src/cli/build_command.zig
@@ -345,7 +345,7 @@ pub const BuildCommand = struct {
this_bundler.options.public_path,
outfile,
);
- const compiled_elapsed = @divTrunc(@truncate(i64, std.time.nanoTimestamp() - bundled_end), @as(i64, std.time.ns_per_ms));
+ const compiled_elapsed = @divTrunc(@as(i64, @truncate(std.time.nanoTimestamp() - bundled_end)), @as(i64, std.time.ns_per_ms));
const compiled_elapsed_digit_count: isize = switch (compiled_elapsed) {
0...9 => 3,
10...99 => 2,
@@ -355,9 +355,9 @@ pub const BuildCommand = struct {
};
const padding_buf = [_]u8{' '} ** 16;
- Output.pretty("{s}", .{padding_buf[0..@intCast(usize, compiled_elapsed_digit_count)]});
+ Output.pretty("{s}", .{padding_buf[0..@as(usize, @intCast(compiled_elapsed_digit_count))]});
- Output.printElapsedStdoutTrim(@floatFromInt(f64, compiled_elapsed));
+ Output.printElapsedStdoutTrim(@as(f64, @floatFromInt(compiled_elapsed)));
Output.prettyln(" <green>compile<r> <b><blue>{s}<r>", .{
outfile,
@@ -407,14 +407,14 @@ pub const BuildCommand = struct {
.buffer = .{
.ptr = @constCast(value.bytes.ptr),
// TODO: handle > 4 GB files
- .len = @truncate(u32, value.bytes.len),
- .byte_len = @truncate(u32, value.bytes.len),
+ .len = @as(u32, @truncate(value.bytes.len)),
+ .byte_len = @as(u32, @truncate(value.bytes.len)),
},
},
},
.encoding = .buffer,
.mode = if (f.is_executable) 0o755 else 0o644,
- .dirfd = @intCast(bun.FileDescriptor, root_dir.dir.fd),
+ .dirfd = @as(bun.FileDescriptor, @intCast(root_dir.dir.fd)),
.file = .{
.path = JSC.Node.PathLike{
.string = JSC.PathString.init(rel_path),
@@ -451,7 +451,7 @@ pub const BuildCommand = struct {
try writer.writeByteNTimes(' ', 2);
try writer.writeAll(rel_path);
try writer.writeByteNTimes(' ', padding_count);
- const size = @floatFromInt(f64, f.size) / 1000.0;
+ const size = @as(f64, @floatFromInt(f.size)) / 1000.0;
try std.fmt.formatFloatDecimal(size, .{ .precision = 2 }, writer);
try writer.writeAll(" KB\n");
}
@@ -461,7 +461,7 @@ pub const BuildCommand = struct {
if (write_summary and log.errors == 0) {
Output.prettyln("\n", .{});
Output.printElapsedStdoutTrim(
- @floatFromInt(f64, (@divTrunc(@truncate(i64, std.time.nanoTimestamp() - bun.CLI.start_time), @as(i64, std.time.ns_per_ms)))),
+ @as(f64, @floatFromInt((@divTrunc(@as(i64, @truncate(std.time.nanoTimestamp() - bun.CLI.start_time)), @as(i64, std.time.ns_per_ms))))),
);
if (this_bundler.options.transform_only) {
Output.prettyln(" <green>transpile<r>", .{});
@@ -490,10 +490,10 @@ fn exitOrWatch(code: u8, watch: bool) void {
fn printSummary(bundled_end: i128, minify_duration: u64, minified: bool, input_code_length: usize, reachable_file_count: usize, output_files: []const options.OutputFile) void {
const padding_buf = [_]u8{' '} ** 16;
- const bundle_until_now = @divTrunc(@truncate(i64, bundled_end - bun.CLI.start_time), @as(i64, std.time.ns_per_ms));
+ const bundle_until_now = @divTrunc(@as(i64, @truncate(bundled_end - bun.CLI.start_time)), @as(i64, std.time.ns_per_ms));
const bundle_elapsed = if (minified)
- bundle_until_now - @intCast(i64, @truncate(u63, minify_duration))
+ bundle_until_now - @as(i64, @intCast(@as(u63, @truncate(minify_duration))))
else
bundle_until_now;
@@ -505,8 +505,8 @@ fn printSummary(bundled_end: i128, minify_duration: u64, minified: bool, input_c
else => 0,
};
if (minified) {
- Output.pretty("{s}", .{padding_buf[0..@intCast(usize, minified_digit_count)]});
- Output.printElapsedStdoutTrim(@floatFromInt(f64, minify_duration));
+ Output.pretty("{s}", .{padding_buf[0..@as(usize, @intCast(minified_digit_count))]});
+ Output.printElapsedStdoutTrim(@as(f64, @floatFromInt(minify_duration)));
const output_size = brk: {
var total_size: u64 = 0;
for (output_files) |f| {
@@ -519,19 +519,19 @@ fn printSummary(bundled_end: i128, minify_duration: u64, minified: bool, input_c
};
// this isn't an exact size
// we may inject sourcemaps or comments or import paths
- const delta: i64 = @truncate(i64, @intCast(i65, input_code_length) - @intCast(i65, output_size));
+ const delta: i64 = @as(i64, @truncate(@as(i65, @intCast(input_code_length)) - @as(i65, @intCast(output_size))));
if (delta > 1024) {
Output.prettyln(
" <green>minify<r> -{} <d>(estimate)<r>",
.{
- bun.fmt.size(@intCast(usize, delta)),
+ bun.fmt.size(@as(usize, @intCast(delta))),
},
);
} else if (-delta > 1024) {
Output.prettyln(
" <b>minify<r> +{} <d>(estimate)<r>",
.{
- bun.fmt.size(@intCast(usize, -delta)),
+ bun.fmt.size(@as(usize, @intCast(-delta))),
},
);
} else {
@@ -547,8 +547,8 @@ fn printSummary(bundled_end: i128, minify_duration: u64, minified: bool, input_c
else => 0,
};
- Output.pretty("{s}", .{padding_buf[0..@intCast(usize, bundle_elapsed_digit_count)]});
- Output.printElapsedStdoutTrim(@floatFromInt(f64, bundle_elapsed));
+ Output.pretty("{s}", .{padding_buf[0..@as(usize, @intCast(bundle_elapsed_digit_count))]});
+ Output.printElapsedStdoutTrim(@as(f64, @floatFromInt(bundle_elapsed)));
Output.prettyln(
" <green>bundle<r> {d} modules",
.{
diff --git a/src/cli/bunx_command.zig b/src/cli/bunx_command.zig
index 365f2c9ed..84c7e1bba 100644
--- a/src/cli/bunx_command.zig
+++ b/src/cli/bunx_command.zig
@@ -365,10 +365,10 @@ pub const BunxCommand = struct {
}
},
.Signal => |signal| {
- Global.exit(@truncate(u7, signal));
+ Global.exit(@as(u7, @truncate(signal)));
},
.Stopped => |signal| {
- Global.exit(@truncate(u7, signal));
+ Global.exit(@as(u7, @truncate(signal)));
},
// shouldn't happen
else => {
diff --git a/src/cli/create_command.zig b/src/cli/create_command.zig
index d536c4750..aff34e9b4 100644
--- a/src/cli/create_command.zig
+++ b/src/cli/create_command.zig
@@ -104,7 +104,7 @@ fn execTask(allocator: std.mem.Allocator, task_: string, cwd: string, _: string,
count += 1;
}
- const npm_args = 2 * @intCast(usize, @intFromBool(npm_client != null));
+ const npm_args = 2 * @as(usize, @intCast(@intFromBool(npm_client != null)));
const total = count + npm_args;
var argv = allocator.alloc(string, total) catch return;
var proc: std.ChildProcess = undefined;
@@ -491,7 +491,7 @@ pub const CreateCommand = struct {
[1]Archive.Plucker{undefined};
var archive_context = Archive.Context{
- .pluckers = pluckers[0..@intCast(usize, @intFromBool(!create_options.skip_package_json))],
+ .pluckers = pluckers[0..@as(usize, @intCast(@intFromBool(!create_options.skip_package_json)))],
.all_files = undefined,
.overwrite_list = bun.StringArrayHashMap(void).init(ctx.allocator),
};
@@ -736,7 +736,7 @@ pub const CreateCommand = struct {
if (package_json_expr.asProperty("name")) |name_expr| {
if (name_expr.expr.data == .e_string) {
var basename = std.fs.path.basename(destination);
- name_expr.expr.data.e_string.data = @ptrFromInt([*]u8, @intFromPtr(basename.ptr))[0..basename.len];
+ name_expr.expr.data.e_string.data = @as([*]u8, @ptrFromInt(@intFromPtr(basename.ptr)))[0..basename.len];
}
}
@@ -778,7 +778,7 @@ pub const CreateCommand = struct {
const key = list[i].key.?.data.e_string.data;
const do_prune = packages.has(key);
- prune_count += @intCast(u16, @intFromBool(do_prune));
+ prune_count += @as(u16, @intCast(@intFromBool(do_prune)));
if (!do_prune) {
list[out_i] = list[i];
@@ -902,14 +902,14 @@ pub const CreateCommand = struct {
var needs_to_inject_dev_dependency = needs.react_refresh or needs.bun_macro_relay;
var needs_to_inject_dependency = needs.bun_framework_next;
- const dependencies_to_inject_count = @intCast(usize, @intFromBool(needs.bun_framework_next));
+ const dependencies_to_inject_count = @as(usize, @intCast(@intFromBool(needs.bun_framework_next)));
- const dev_dependencies_to_inject_count = @intCast(usize, @intFromBool(needs.react_refresh)) +
- @intCast(usize, @intFromBool(needs.bun_macro_relay));
+ const dev_dependencies_to_inject_count = @as(usize, @intCast(@intFromBool(needs.react_refresh))) +
+ @as(usize, @intCast(@intFromBool(needs.bun_macro_relay)));
- const new_properties_count = @intCast(usize, @intFromBool(needs_to_inject_dev_dependency and dev_dependencies == null)) +
- @intCast(usize, @intFromBool(needs_to_inject_dependency and dependencies == null)) +
- @intCast(usize, @intFromBool(needs_bun_prop));
+ const new_properties_count = @as(usize, @intCast(@intFromBool(needs_to_inject_dev_dependency and dev_dependencies == null))) +
+ @as(usize, @intCast(@intFromBool(needs_to_inject_dependency and dependencies == null))) +
+ @as(usize, @intCast(@intFromBool(needs_bun_prop)));
if (new_properties_count != 0) {
try properties_list.ensureUnusedCapacity(new_properties_count);
@@ -1835,11 +1835,11 @@ pub const Example = struct {
Headers.Kv{
.name = Api.StringPointer{
.offset = 0,
- .length = @intCast(u32, "Access-Token".len),
+ .length = @as(u32, @intCast("Access-Token".len)),
},
.value = Api.StringPointer{
- .offset = @intCast(u32, "Access-Token".len),
- .length = @intCast(u32, headers_buf.len - "Access-Token".len),
+ .offset = @as(u32, @intCast("Access-Token".len)),
+ .length = @as(u32, @intCast(headers_buf.len - "Access-Token".len)),
},
},
);
diff --git a/src/cli/package_manager_command.zig b/src/cli/package_manager_command.zig
index 0d92c4232..4408568e0 100644
--- a/src/cli/package_manager_command.zig
+++ b/src/cli/package_manager_command.zig
@@ -222,7 +222,7 @@ pub const PackageManagerCommand = struct {
const sorted_dependencies = try ctx.allocator.alloc(DependencyID, root_deps.len);
defer ctx.allocator.free(sorted_dependencies);
for (sorted_dependencies, 0..) |*dep, i| {
- dep.* = @truncate(DependencyID, root_deps.off + i);
+ dep.* = @as(DependencyID, @truncate(root_deps.off + i));
}
std.sort.block(DependencyID, sorted_dependencies, ByName{
.dependencies = dependencies,
diff --git a/src/cli/run_command.zig b/src/cli/run_command.zig
index 271d9ecba..44b3935a3 100644
--- a/src/cli/run_command.zig
+++ b/src/cli/run_command.zig
@@ -414,7 +414,7 @@ pub const RunCommand = struct {
var retried = false;
if (!strings.endsWithComptime(std.mem.span(std.os.argv[0]), "node")) {
- var argv0 = @ptrCast([*:0]const u8, optional_bun_path.ptr);
+ var argv0 = @as([*:0]const u8, @ptrCast(optional_bun_path.ptr));
// if we are already an absolute path, use that
// if the user started the application via a shebang, it's likely that the path is absolute already
@@ -426,7 +426,7 @@ pub const RunCommand = struct {
var self = std.fs.selfExePath(&self_exe_bin_path_buf) catch unreachable;
if (self.len > 0) {
self.ptr[self.len] = 0;
- argv0 = @ptrCast([*:0]const u8, self.ptr);
+ argv0 = @as([*:0]const u8, @ptrCast(self.ptr));
optional_bun_path.* = self;
}
}
@@ -589,7 +589,7 @@ pub const RunCommand = struct {
try new_path.appendSlice(package_json_dir);
}
- var bin_dir_i: i32 = @intCast(i32, bin_dirs.len) - 1;
+ var bin_dir_i: i32 = @as(i32, @intCast(bin_dirs.len)) - 1;
// Iterate in reverse order
// Directories are added to bin_dirs in top-down order
// That means the parent-most node_modules/.bin will be first
@@ -598,7 +598,7 @@ pub const RunCommand = struct {
if (needs_colon) {
try new_path.append(':');
}
- try new_path.appendSlice(bin_dirs[@intCast(usize, bin_dir_i)]);
+ try new_path.appendSlice(bin_dirs[@as(usize, @intCast(bin_dir_i))]);
}
if (needs_colon) {
diff --git a/src/cli/test_command.zig b/src/cli/test_command.zig
index 5314c6e52..75ca900df 100644
--- a/src/cli/test_command.zig
+++ b/src/cli/test_command.zig
@@ -766,7 +766,7 @@ pub const TestCommand = struct {
// https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#grouping-log-lines
const file_prefix = if (Output.is_github_action) "::group::" else "";
- vm.main_hash = @truncate(u32, bun.hash(file_path));
+ vm.main_hash = @as(u32, @truncate(bun.hash(file_path)));
var repeat_count = reporter.repeat_count;
var repeat_index: u32 = 0;
while (repeat_index < repeat_count) : (repeat_index += 1) {
diff --git a/src/cli/upgrade_command.zig b/src/cli/upgrade_command.zig
index e9d16999d..b8bfd3f73 100644
--- a/src/cli/upgrade_command.zig
+++ b/src/cli/upgrade_command.zig
@@ -116,7 +116,7 @@ pub const UpgradeCheckerThread = struct {
}
fn _run(env_loader: *DotEnv.Loader) anyerror!void {
- var rand = std.rand.DefaultPrng.init(@intCast(u64, @max(std.time.milliTimestamp(), 0)));
+ var rand = std.rand.DefaultPrng.init(@as(u64, @intCast(@max(std.time.milliTimestamp(), 0))));
const delay = rand.random().intRangeAtMost(u64, 100, 10000);
std.time.sleep(std.time.ns_per_ms * delay);
@@ -174,8 +174,8 @@ pub const UpgradeCommand = struct {
var header_entries: Headers.Entries = .{};
const accept = Headers.Kv{
- .name = Api.StringPointer{ .offset = 0, .length = @intCast(u32, "Accept".len) },
- .value = Api.StringPointer{ .offset = @intCast(u32, "Accept".len), .length = @intCast(u32, "application/vnd.github.v3+json".len) },
+ .name = Api.StringPointer{ .offset = 0, .length = @as(u32, @intCast("Accept".len)) },
+ .value = Api.StringPointer{ .offset = @as(u32, @intCast("Accept".len)), .length = @as(u32, @intCast("application/vnd.github.v3+json".len)) },
};
try header_entries.append(allocator, accept);
defer if (comptime silent) header_entries.deinit(allocator);
@@ -206,11 +206,11 @@ pub const UpgradeCommand = struct {
Headers.Kv{
.name = Api.StringPointer{
.offset = accept.value.length + accept.value.offset,
- .length = @intCast(u32, "Access-Token".len),
+ .length = @as(u32, @intCast("Access-Token".len)),
},
.value = Api.StringPointer{
- .offset = @intCast(u32, accept.value.length + accept.value.offset + "Access-Token".len),
- .length = @intCast(u32, access_token.len),
+ .offset = @as(u32, @intCast(accept.value.length + accept.value.offset + "Access-Token".len)),
+ .length = @as(u32, @intCast(access_token.len)),
},
},
);
@@ -344,7 +344,7 @@ pub const UpgradeCommand = struct {
if (asset.asProperty("size")) |size_| {
if (size_.expr.data == .e_number) {
- version.size = @intCast(u32, @max(@intFromFloat(i32, std.math.ceil(size_.expr.data.e_number.value)), 0));
+ version.size = @as(u32, @intCast(@max(@as(i32, @intFromFloat(std.math.ceil(size_.expr.data.e_number.value))), 0)));
}
}
return version;
diff --git a/src/comptime_string_map.zig b/src/comptime_string_map.zig
index 87881263b..3690abbe1 100644
--- a/src/comptime_string_map.zig
+++ b/src/comptime_string_map.zig
@@ -26,7 +26,7 @@ pub fn ComptimeStringMapWithKeyType(comptime KeyType: type, comptime V: type, co
return a.key.len < b.key.len;
}
// https://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-processing-an-unsorted-array
- @setEvalBranchQuota(99999);
+ @setEvalBranchQuota(999999);
return std.mem.order(KeyType, a.key, b.key) == .lt;
}
}).lenAsc;
diff --git a/src/copy_file.zig b/src/copy_file.zig
index 7c68791b2..093c7d91d 100644
--- a/src/copy_file.zig
+++ b/src/copy_file.zig
@@ -88,12 +88,12 @@ fn canUseCopyFileRangeSyscall() bool {
const fd_t = std.os.fd_t;
pub fn copyFileRange(fd_in: fd_t, off_in: u64, fd_out: fd_t, off_out: u64, len: usize, flags: u32) CopyFileRangeError!usize {
if (canUseCopyFileRangeSyscall()) {
- var off_in_copy = @bitCast(i64, off_in);
- var off_out_copy = @bitCast(i64, off_out);
+ var off_in_copy = @as(i64, @bitCast(off_in));
+ var off_out_copy = @as(i64, @bitCast(off_out));
const rc = std.os.linux.copy_file_range(fd_in, &off_in_copy, fd_out, &off_out_copy, len, flags);
switch (std.os.linux.getErrno(rc)) {
- .SUCCESS => return @intCast(usize, rc),
+ .SUCCESS => return @as(usize, @intCast(rc)),
.BADF => return error.FilesOpenedWithWrongFlags,
.FBIG => return error.FileTooBig,
.IO => return error.InputOutput,
diff --git a/src/css_scanner.zig b/src/css_scanner.zig
index 6edf8b310..e464a6d9f 100644
--- a/src/css_scanner.zig
+++ b/src/css_scanner.zig
@@ -34,7 +34,7 @@ pub const Chunk = struct {
};
pub fn raw(chunk: *const Chunk, source: *const logger.Source) string {
- return source.contents[@intCast(usize, chunk.range.loc.start)..][0..@intCast(usize, chunk.range.len)];
+ return source.contents[@as(usize, @intCast(chunk.range.loc.start))..][0..@as(usize, @intCast(chunk.range.len))];
}
// pub fn string(chunk: *const Chunk, source: *const logger.Source) string {
@@ -132,8 +132,8 @@ pub const Scanner = struct {
pub fn range(scanner: *Scanner) logger.Range {
return logger.Range{
- .loc = .{ .start = @intCast(i32, scanner.start) },
- .len = @intCast(i32, scanner.end - scanner.start),
+ .loc = .{ .start = @as(i32, @intCast(scanner.start)) },
+ .len = @as(i32, @intCast(scanner.end - scanner.start)),
};
}
@@ -251,7 +251,7 @@ pub const Scanner = struct {
return text;
},
-1 => {
- const loc = logger.Loc{ .start = @intCast(i32, scanner.end) };
+ const loc = logger.Loc{ .start = @as(i32, @intCast(scanner.end)) };
scanner.log.addError(scanner.source, loc, "Expected \")\" to end URL token") catch {};
return text;
},
@@ -264,7 +264,7 @@ pub const Scanner = struct {
text.utf8 = scanner.source.contents[start..scanner.end];
if (scanner.codepoint != ')') {
- const loc = logger.Loc{ .start = @intCast(i32, scanner.end) };
+ const loc = logger.Loc{ .start = @as(i32, @intCast(scanner.end)) };
scanner.log.addError(scanner.source, loc, "Expected \")\" to end URL token") catch {};
break :validURL;
}
@@ -273,7 +273,7 @@ pub const Scanner = struct {
return text;
},
'"', '\'', '(' => {
- const r = logger.Range{ .loc = logger.Loc{ .start = @intCast(i32, start) }, .len = @intCast(i32, scanner.end - start) };
+ const r = logger.Range{ .loc = logger.Loc{ .start = @as(i32, @intCast(start)) }, .len = @as(i32, @intCast(scanner.end - start)) };
scanner.log.addRangeError(scanner.source, r, "Expected \")\" to end URL token") catch {};
break :validURL;
@@ -282,7 +282,7 @@ pub const Scanner = struct {
text.needs_decode_escape = true;
if (!scanner.isValidEscape()) {
var loc = logger.Loc{
- .start = @intCast(i32, scanner.end),
+ .start = @as(i32, @intCast(scanner.end)),
};
scanner.log.addError(scanner.source, loc, "Expected \")\" to end URL token") catch {};
break :validURL;
@@ -293,7 +293,7 @@ pub const Scanner = struct {
if (isNonPrintable(scanner.codepoint)) {
const r = logger.Range{
.loc = logger.Loc{
- .start = @intCast(i32, start),
+ .start = @as(i32, @intCast(start)),
},
.len = 1,
};
@@ -354,7 +354,7 @@ pub const Scanner = struct {
restart: while (true) {
var chunk = Chunk{
.range = logger.Range{
- .loc = .{ .start = @intCast(i32, scanner.end) },
+ .loc = .{ .start = @as(i32, @intCast(scanner.end)) },
.len = 0,
},
.content = .{
@@ -372,7 +372,7 @@ pub const Scanner = struct {
// We also need to parse strings and comments, or else we risk resolving comments like this /* url(hi.jpg) */
switch (scanner.codepoint) {
-1 => {
- chunk.range.len = @intCast(i32, scanner.end) - chunk.range.loc.start;
+ chunk.range.len = @as(i32, @intCast(scanner.end)) - chunk.range.loc.start;
chunk.content.t_verbatim = .{};
try writeChunk(writer, chunk);
return;
@@ -457,13 +457,13 @@ pub const Scanner = struct {
},
}
- chunk.range.len = @intCast(i32, url_start) - chunk.range.loc.start;
+ chunk.range.len = @as(i32, @intCast(url_start)) - chunk.range.loc.start;
chunk.content = .{ .t_verbatim = .{} };
// flush the pending chunk
try writeChunk(writer, chunk);
- chunk.range.loc.start = @intCast(i32, url_start);
- chunk.range.len = @intCast(i32, scanner.end) - chunk.range.loc.start;
+ chunk.range.loc.start = @as(i32, @intCast(url_start));
+ chunk.range.len = @as(i32, @intCast(scanner.end)) - chunk.range.loc.start;
chunk.content = .{ .t_url = url_text };
try writeChunk(writer, chunk);
scanner.has_delimiter_before = false;
@@ -559,7 +559,7 @@ pub const Scanner = struct {
if (scanner.codepoint != ' ') continue :toplevel;
// Now that we know to expect an import url, we flush the chunk
- chunk.range.len = @intCast(i32, start) - chunk.range.loc.start;
+ chunk.range.len = @as(i32, @intCast(start)) - chunk.range.loc.start;
chunk.content = .{ .t_verbatim = .{} };
// flush the pending chunk
try writeChunk(writer, chunk);
@@ -597,7 +597,7 @@ pub const Scanner = struct {
else => {
scanner.log.addError(
scanner.source,
- logger.Loc{ .start = @intCast(i32, scanner.end) },
+ logger.Loc{ .start = @as(i32, @intCast(scanner.end)) },
"Expected @import to start with a string or url()",
) catch {};
return error.SyntaxError;
@@ -609,7 +609,7 @@ pub const Scanner = struct {
else => {
scanner.log.addError(
scanner.source,
- logger.Loc{ .start = @intCast(i32, scanner.end) },
+ logger.Loc{ .start = @as(i32, @intCast(scanner.end)) },
"Expected @import to start with a \", ' or url()",
) catch {};
return error.SyntaxError;
@@ -619,7 +619,7 @@ pub const Scanner = struct {
if (scanner.codepoint != '(') {
scanner.log.addError(
scanner.source,
- logger.Loc{ .start = @intCast(i32, scanner.end) },
+ logger.Loc{ .start = @as(i32, @intCast(scanner.end)) },
"Expected \"(\" in @import url",
) catch {};
return error.SyntaxError;
@@ -688,7 +688,7 @@ pub const Scanner = struct {
-1 => {
scanner.log.addError(
scanner.source,
- logger.Loc{ .start = @intCast(i32, scanner.end) },
+ logger.Loc{ .start = @as(i32, @intCast(scanner.end)) },
"Expected \";\" at end of @import",
) catch {};
return;
@@ -698,7 +698,7 @@ pub const Scanner = struct {
scanner.step();
}
if (import_behavior == .scan or import_behavior == .keep) {
- chunk.range.len = @intCast(i32, scanner.end) - @max(chunk.range.loc.start, 0);
+ chunk.range.len = @as(i32, @intCast(scanner.end)) - @max(chunk.range.loc.start, 0);
chunk.content = .{ .t_import = import };
try writeChunk(writer, chunk);
}
@@ -725,7 +725,7 @@ pub const Scanner = struct {
switch (scanner.codepoint) {
'*' => {
scanner.step();
- chunk.range.len = @intCast(i32, scanner.end);
+ chunk.range.len = @as(i32, @intCast(scanner.end));
scanner.consumeToEndOfMultiLineComment(chunk.range);
},
'/' => {
@@ -824,10 +824,10 @@ pub const Scanner = struct {
return switch (slice.len) {
0 => -1,
- 1 => @intCast(CodePoint, slice[0]),
- 2 => @intCast(CodePoint, std.unicode.utf8Decode2(slice) catch unreachable),
- 3 => @intCast(CodePoint, std.unicode.utf8Decode3(slice) catch unreachable),
- 4 => @intCast(CodePoint, std.unicode.utf8Decode4(slice) catch unreachable),
+ 1 => @as(CodePoint, @intCast(slice[0])),
+ 2 => @as(CodePoint, @intCast(std.unicode.utf8Decode2(slice) catch unreachable)),
+ 3 => @as(CodePoint, @intCast(std.unicode.utf8Decode3(slice) catch unreachable)),
+ 4 => @as(CodePoint, @intCast(std.unicode.utf8Decode4(slice) catch unreachable)),
else => unreachable,
};
}
@@ -1091,20 +1091,20 @@ pub fn NewWriter(
.t_verbatim => {
if (comptime std.meta.trait.hasFn("copyFileRange")(WriterType)) {
try writer.ctx.copyFileRange(
- @intCast(usize, chunk.range.loc.start),
- @intCast(
+ @as(usize, @intCast(chunk.range.loc.start)),
+ @as(
usize,
- @intCast(
+ @intCast(@as(
usize,
- chunk.range.len,
- ),
+ @intCast(chunk.range.len),
+ )),
),
);
} else {
try writer.ctx.writeAll(
- writer.source.contents[@intCast(usize, chunk.range.loc.start)..][0..@intCast(
+ writer.source.contents[@as(usize, @intCast(chunk.range.loc.start))..][0..@as(
usize,
- chunk.range.len,
+ @intCast(chunk.range.len),
)],
);
}
@@ -1219,9 +1219,9 @@ pub fn NewBundler(
var lines_of_code: usize = 0;
// We LIFO
- var i: i32 = @intCast(i32, this.bundle_queue.items.len - 1);
+ var i: i32 = @as(i32, @intCast(this.bundle_queue.items.len - 1));
while (i >= 0) : (i -= 1) {
- const item = this.bundle_queue.items[@intCast(usize, i)];
+ const item = this.bundle_queue.items[@as(usize, @intCast(i))];
const watcher_id = this.watcher.indexOf(item) orelse unreachable;
const watch_item = this.watcher.watchlist.get(watcher_id);
const source = try this.getSource(watch_item.file_path, if (watch_item.fd > 0) watch_item.fd else null);
@@ -1248,7 +1248,7 @@ pub fn NewBundler(
try this.writer.done();
return CodeCount{
- .written = @intCast(usize, @max(this.writer.written - start_count, 0)),
+ .written = @as(usize, @intCast(@max(this.writer.written - start_count, 0))),
.approximate_newline_count = lines_of_code,
};
}
diff --git a/src/darwin_c.zig b/src/darwin_c.zig
index 2d7e98e58..88fd4f8bd 100644
--- a/src/darwin_c.zig
+++ b/src/darwin_c.zig
@@ -294,7 +294,7 @@ pub const SystemErrno = enum(u8) {
}
if (code >= max) return null;
- return @enumFromInt(SystemErrno, code);
+ return @as(SystemErrno, @enumFromInt(code));
}
pub fn label(this: SystemErrno) ?[]const u8 {
@@ -460,9 +460,9 @@ pub const io_object_t = c_uint;
pub const io_service_t = c_uint;
pub const io_registry_entry_t = c_uint;
pub const FSEventStreamCallback = ?*const fn (FSEventStreamRef, ?*anyopaque, c_int, ?*anyopaque, [*c]const FSEventStreamEventFlags, [*c]const FSEventStreamEventId) callconv(.C) void;
-pub const kCFStringEncodingUTF8: CFStringEncoding = @bitCast(CFStringEncoding, @as(c_int, 134217984));
+pub const kCFStringEncodingUTF8: CFStringEncoding = @as(CFStringEncoding, @bitCast(@as(c_int, 134217984)));
pub const noErr: OSStatus = 0;
-pub const kFSEventStreamEventIdSinceNow: FSEventStreamEventId = @bitCast(FSEventStreamEventId, @as(c_longlong, -@as(c_int, 1)));
+pub const kFSEventStreamEventIdSinceNow: FSEventStreamEventId = @as(FSEventStreamEventId, @bitCast(@as(c_longlong, -@as(c_int, 1))));
pub const kFSEventStreamCreateFlagNoDefer: c_int = 2;
pub const kFSEventStreamCreateFlagFileEvents: c_int = 16;
pub const kFSEventStreamEventFlagEventIdsWrapped: c_int = 8;
@@ -521,7 +521,7 @@ pub fn get_system_uptime() u64 {
else => return 0,
};
- return @bitCast(u64, std.time.timestamp() - uptime_[0].sec);
+ return @as(u64, @bitCast(std.time.timestamp() - uptime_[0].sec));
}
pub const struct_LoadAvg = struct {
@@ -543,11 +543,11 @@ pub fn get_system_loadavg() [3]f64 {
};
const loadavg = loadavg_[0];
- const scale = @floatFromInt(f64, loadavg.fscale);
+ const scale = @as(f64, @floatFromInt(loadavg.fscale));
return [3]f64{
- @floatFromInt(f64, loadavg.ldavg[0]) / scale,
- @floatFromInt(f64, loadavg.ldavg[1]) / scale,
- @floatFromInt(f64, loadavg.ldavg[2]) / scale,
+ @as(f64, @floatFromInt(loadavg.ldavg[0])) / scale,
+ @as(f64, @floatFromInt(loadavg.ldavg[1])) / scale,
+ @as(f64, @floatFromInt(loadavg.ldavg[2])) / scale,
};
}
diff --git a/src/defines.zig b/src/defines.zig
index ca6edf3a4..210d301ed 100644
--- a/src/defines.zig
+++ b/src/defines.zig
@@ -66,7 +66,7 @@ pub const DefineData = struct {
}
pub fn from_mergable_input(defines: RawDefines, user_defines: *UserDefines, log: *logger.Log, allocator: std.mem.Allocator) !void {
- try user_defines.ensureUnusedCapacity(@truncate(u32, defines.count()));
+ try user_defines.ensureUnusedCapacity(@as(u32, @truncate(defines.count())));
var iter = defines.iterator();
while (iter.next()) |entry| {
var splitter = std.mem.split(u8, entry.key_ptr.*, ".");
diff --git a/src/deps/boringssl.translated.zig b/src/deps/boringssl.translated.zig
index 27c3d621f..68d4215b4 100644
--- a/src/deps/boringssl.translated.zig
+++ b/src/deps/boringssl.translated.zig
@@ -98,8 +98,9 @@ pub const struct_BASIC_CONSTRAINTS_st = opaque {};
pub const BASIC_CONSTRAINTS = struct_BASIC_CONSTRAINTS_st;
pub const struct_DIST_POINT_st = opaque {};
pub const DIST_POINT = struct_DIST_POINT_st;
+pub const BN_ULONG = u64;
pub const struct_bignum_st = extern struct {
- d: [*c]u64,
+ d: [*c]BN_ULONG,
width: c_int,
dmax: c_int,
neg: c_int,
@@ -133,32 +134,8 @@ pub const struct_Netscape_spki_st = extern struct {
signature: [*c]ASN1_BIT_STRING,
};
pub const NETSCAPE_SPKI = struct_Netscape_spki_st;
-
-pub const struct_RIPEMD160state_st = extern struct {
- h: [5]u32,
- Nl: u32,
- Nh: u32,
- data: [64]u8,
- num: c_uint,
-};
+pub const struct_RIPEMD160state_st = opaque {};
pub const RIPEMD160_CTX = struct_RIPEMD160state_st;
-pub const RIPEMD160_CBLOCK = @as(c_int, 64);
-pub const RIPEMD160_LBLOCK = @import("std").zig.c_translation.MacroArithmetic.div(RIPEMD160_CBLOCK, @as(c_int, 4));
-pub const RIPEMD160_DIGEST_LENGTH = @as(c_int, 20);
-pub extern fn RIPEMD160_Init(ctx: [*c]RIPEMD160_CTX) c_int;
-pub extern fn RIPEMD160_Update(ctx: [*c]RIPEMD160_CTX, data: ?*const anyopaque, len: usize) c_int;
-pub extern fn RIPEMD160_Final(out: [*c]u8, ctx: [*c]RIPEMD160_CTX) c_int;
-pub extern fn RIPEMD160(data: [*c]const u8, len: usize, out: [*c]u8) [*c]u8;
-pub extern fn RIPEMD160_Transform(ctx: [*c]RIPEMD160_CTX, block: [*c]const u8) void;
-
-pub const struct_X509_POLICY_CACHE_st = opaque {};
-pub const X509_POLICY_CACHE = struct_X509_POLICY_CACHE_st;
-pub const struct_X509_POLICY_LEVEL_st = opaque {};
-pub const X509_POLICY_LEVEL = struct_X509_POLICY_LEVEL_st;
-pub const struct_X509_POLICY_NODE_st = opaque {};
-pub const X509_POLICY_NODE = struct_X509_POLICY_NODE_st;
-pub const struct_X509_POLICY_TREE_st = opaque {};
-pub const X509_POLICY_TREE = struct_X509_POLICY_TREE_st;
pub const struct_X509_VERIFY_PARAM_st = opaque {};
pub const X509_VERIFY_PARAM = struct_X509_VERIFY_PARAM_st;
pub const struct_X509_crl_st = opaque {};
@@ -194,11 +171,11 @@ pub const CRYPTO_MUTEX = pthread_rwlock_t;
pub const struct_bn_mont_ctx_st = extern struct {
RR: BIGNUM,
N: BIGNUM,
- n0: [2]u64,
+ n0: [2]BN_ULONG,
};
pub const BN_MONT_CTX = struct_bn_mont_ctx_st;
pub const struct_bn_blinding_st = opaque {};
-pub const BN_BLINDING = struct_bn_blinding_st; // /Users/jarred/Code/bun/src/deps/boringssl/include/openssl/rsa.h:785:12: warning: struct demoted to opaque type - has bitfield
+pub const BN_BLINDING = struct_bn_blinding_st; // src/deps/boringssl/include/openssl/rsa.h:788:12: warning: struct demoted to opaque type - has bitfield
pub const struct_rsa_st = opaque {};
pub const RSA = struct_rsa_st;
pub const struct_dsa_st = extern struct {
@@ -216,22 +193,7 @@ pub const struct_dsa_st = extern struct {
ex_data: CRYPTO_EX_DATA,
};
pub const DSA = struct_dsa_st;
-pub const struct_dh_st = extern struct {
- p: [*c]BIGNUM,
- g: [*c]BIGNUM,
- pub_key: [*c]BIGNUM,
- priv_key: [*c]BIGNUM,
- priv_length: c_uint,
- method_mont_p_lock: CRYPTO_MUTEX,
- method_mont_p: [*c]BN_MONT_CTX,
- q: [*c]BIGNUM,
- j: [*c]BIGNUM,
- seed: [*c]u8,
- seedlen: c_int,
- counter: [*c]BIGNUM,
- flags: c_int,
- references: CRYPTO_refcount_t,
-};
+pub const struct_dh_st = opaque {};
pub const DH = struct_dh_st;
pub const struct_ec_key_st = opaque {};
pub const EC_KEY = struct_ec_key_st;
@@ -239,7 +201,7 @@ const union_unnamed_2 = extern union {
ptr: ?*anyopaque,
rsa: ?*RSA,
dsa: [*c]DSA,
- dh: [*c]DH,
+ dh: ?*DH,
ec: ?*EC_KEY,
};
pub const struct_evp_pkey_asn1_method_st = opaque {};
@@ -251,38 +213,10 @@ pub const struct_evp_pkey_st = extern struct {
ameth: ?*const EVP_PKEY_ASN1_METHOD,
};
pub const EVP_PKEY = struct_evp_pkey_st;
-pub const struct_evp_cipher_ctx_st = extern struct {
- cipher: [*c]const EVP_CIPHER,
- app_data: ?*anyopaque,
- cipher_data: ?*anyopaque,
- key_len: c_uint,
- encrypt: c_int,
- flags: u32,
- oiv: [16]u8,
- iv: [16]u8,
- buf: [32]u8,
- buf_len: c_int,
- num: c_uint,
- final_used: c_int,
- final: [32]u8,
-};
-pub const EVP_CIPHER_CTX = struct_evp_cipher_ctx_st;
-pub const struct_evp_cipher_st = extern struct {
- nid: c_int,
- block_size: c_uint,
- key_len: c_uint,
- iv_len: c_uint,
- ctx_size: c_uint,
- flags: u32,
- app_data: ?*anyopaque,
- init: ?*const fn ([*c]EVP_CIPHER_CTX, [*c]const u8, [*c]const u8, c_int) callconv(.C) c_int,
- cipher: ?*const fn ([*c]EVP_CIPHER_CTX, [*c]u8, [*c]const u8, usize) callconv(.C) c_int,
- cleanup: ?*const fn ([*c]EVP_CIPHER_CTX) callconv(.C) void,
- ctrl: ?*const fn ([*c]EVP_CIPHER_CTX, c_int, c_int, ?*anyopaque) callconv(.C) c_int,
-};
+pub const struct_evp_cipher_st = opaque {};
pub const EVP_CIPHER = struct_evp_cipher_st;
pub const struct_evp_cipher_info_st = extern struct {
- cipher: [*c]const EVP_CIPHER,
+ cipher: ?*const EVP_CIPHER,
iv: [16]u8,
};
pub const EVP_CIPHER_INFO = struct_evp_cipher_info_st;
@@ -317,6 +251,19 @@ pub const X509_SIG = struct_X509_sig_st;
pub const struct_bignum_ctx = opaque {};
pub const BN_CTX = struct_bignum_ctx;
pub const BIO_METHOD = struct_bio_method_st;
+// pub const struct_bio_st = extern struct {
+// method: [*c]const BIO_METHOD,
+// init: c_int,
+// shutdown: c_int,
+// flags: c_int,
+// retry_reason: c_int,
+// num: c_int,
+// references: CRYPTO_refcount_t,
+// ptr: ?*anyopaque,
+// next_bio: [*c]BIO,
+// num_read: usize,
+// num_write: usize,
+// };
pub const BIO = struct_bio_st;
pub const bio_info_cb = ?*const fn ([*c]BIO, c_int, [*c]const u8, c_int, c_long, c_long) callconv(.C) c_long;
pub const struct_bio_method_st = extern struct {
@@ -344,21 +291,17 @@ pub const struct_buf_mem_st = extern struct {
max: usize,
};
pub const BUF_MEM = struct_buf_mem_st;
-pub const struct_cbb_buffer_st = extern struct {
- buf: [*c]u8,
- len: usize,
- cap: usize,
- can_resize: u8,
- @"error": u8,
+pub const CBB = struct_cbb_st; // src/deps/boringssl/include/openssl/bytestring.h:403:12: warning: struct demoted to opaque type - has bitfield
+pub const struct_cbb_buffer_st = opaque {}; // src/deps/boringssl/include/openssl/bytestring.h:418:12: warning: struct demoted to opaque type - has bitfield
+pub const struct_cbb_child_st = opaque {};
+const union_unnamed_3 = extern union {
+ base: struct_cbb_buffer_st,
+ child: struct_cbb_child_st,
};
-pub const CBB = struct_cbb_st;
pub const struct_cbb_st = extern struct {
- base: [*c]struct_cbb_buffer_st,
child: [*c]CBB,
- offset: usize,
- pending_len_len: u8,
- pending_is_asn1: u8,
is_child: u8,
+ u: union_unnamed_3,
};
pub const struct_cbs_st = extern struct {
data: [*c]const u8,
@@ -375,6 +318,8 @@ pub const struct_crypto_buffer_pool_st = opaque {};
pub const CRYPTO_BUFFER_POOL = struct_crypto_buffer_pool_st;
pub const struct_crypto_buffer_st = opaque {};
pub const CRYPTO_BUFFER = struct_crypto_buffer_st;
+pub const struct_ctr_drbg_state_st = opaque {};
+pub const CTR_DRBG_STATE = struct_ctr_drbg_state_st;
pub const struct_ec_group_st = opaque {};
pub const EC_GROUP = struct_ec_group_st;
pub const struct_ec_point_st = opaque {};
@@ -410,6 +355,33 @@ pub const struct_env_md_ctx_st = extern struct {
pub const EVP_MD_CTX = struct_env_md_ctx_st;
pub const struct_evp_aead_st = opaque {};
pub const EVP_AEAD = struct_evp_aead_st;
+pub const union_evp_aead_ctx_st_state = extern union {
+ @"opaque": [580]u8,
+ alignment: u64,
+};
+pub const struct_evp_aead_ctx_st = extern struct {
+ aead: ?*const EVP_AEAD,
+ state: union_evp_aead_ctx_st_state,
+ tag_len: u8,
+};
+pub const EVP_AEAD_CTX = struct_evp_aead_ctx_st;
+pub const struct_evp_cipher_ctx_st = extern struct {
+ cipher: ?*const EVP_CIPHER,
+ app_data: ?*anyopaque,
+ cipher_data: ?*anyopaque,
+ key_len: c_uint,
+ encrypt: c_int,
+ flags: u32,
+ oiv: [16]u8,
+ iv: [16]u8,
+ buf: [32]u8,
+ buf_len: c_int,
+ num: c_uint,
+ final_used: c_int,
+ final: [32]u8,
+ poisoned: c_int,
+};
+pub const EVP_CIPHER_CTX = struct_evp_cipher_ctx_st;
pub const struct_evp_encode_ctx_st = extern struct {
data_used: c_uint,
data: [48]u8,
@@ -476,19 +448,19 @@ pub const struct_sha512_state_st = extern struct {
md_len: c_uint,
};
pub const SHA512_CTX = struct_sha512_state_st;
-const struct_unnamed_4 = extern struct {
+const struct_unnamed_5 = extern struct {
h0: u32,
h1: u32,
h2: u32,
h3: u32,
h4: u32,
};
-const union_unnamed_3 = extern union {
+const union_unnamed_4 = extern union {
h: [5]u32,
- unnamed_0: struct_unnamed_4,
+ unnamed_0: struct_unnamed_5,
};
pub const struct_sha_state_st = extern struct {
- unnamed_0: union_unnamed_3,
+ unnamed_0: union_unnamed_4,
Nl: u32,
Nh: u32,
data: [64]u8,
@@ -504,7 +476,10 @@ pub const struct_srtp_protection_profile_st = extern struct {
pub const SRTP_PROTECTION_PROFILE = struct_srtp_protection_profile_st;
pub const struct_ssl_cipher_st = opaque {};
pub const SSL_CIPHER = struct_ssl_cipher_st;
-
+// pub const struct_ssl_ctx_st = opaque {};
+// pub const SSL_CTX = struct_ssl_ctx_st;
+// pub const struct_ssl_st = opaque {};
+// pub const SSL = struct_ssl_st;
pub const struct_ssl_early_callback_ctx = extern struct {
ssl: ?*SSL,
client_hello: [*c]const u8,
@@ -576,27 +551,13 @@ pub const struct_v3_ext_ctx = opaque {};
pub const X509V3_CTX = struct_v3_ext_ctx;
pub const struct_x509_attributes_st = opaque {};
pub const X509_ATTRIBUTE = struct_x509_attributes_st;
-pub const struct_x509_cert_aux_st = opaque {};
-pub const X509_CERT_AUX = struct_x509_cert_aux_st;
-pub const struct_x509_crl_method_st = opaque {};
-pub const X509_CRL_METHOD = struct_x509_crl_method_st;
pub const struct_x509_lookup_st = opaque {};
pub const X509_LOOKUP = struct_x509_lookup_st;
pub const struct_x509_lookup_method_st = opaque {};
pub const X509_LOOKUP_METHOD = struct_x509_lookup_method_st;
pub const struct_x509_object_st = opaque {};
pub const X509_OBJECT = struct_x509_object_st;
-pub const struct_stack_st_X509_EXTENSION = opaque {};
-pub const struct_stack_st_v3_ext_method = opaque {};
-pub const struct_stack_st_GENERAL_NAME = opaque {};
-pub const struct_x509_revoked_st = extern struct {
- serialNumber: [*c]ASN1_INTEGER,
- revocationDate: [*c]ASN1_TIME,
- extensions: ?*struct_stack_st_X509_EXTENSION,
- issuer: ?*struct_stack_st_GENERAL_NAME,
- reason: c_int,
- sequence: c_int,
-};
+pub const struct_x509_revoked_st = opaque {};
pub const X509_REVOKED = struct_x509_revoked_st;
pub const struct_x509_store_ctx_st = opaque {};
pub const X509_STORE_CTX = struct_x509_store_ctx_st;
@@ -612,37 +573,10 @@ pub const struct_x509_trust_st = extern struct {
};
pub const X509_TRUST = struct_x509_trust_st;
pub const OPENSSL_BLOCK = ?*anyopaque;
-pub const fpos_t = isize;
pub const struct___sbuf = extern struct {
_base: [*c]u8,
_size: c_int,
};
-pub const struct___sFILEX = opaque {};
-pub const struct___sFILE = extern struct {
- _p: [*c]u8,
- _r: c_int,
- _w: c_int,
- _flags: c_short,
- _file: c_short,
- _bf: struct___sbuf,
- _lbfsize: c_int,
- _cookie: ?*anyopaque,
- _close: ?*const fn (?*anyopaque) callconv(.C) c_int,
- _read: ?*const fn (?*anyopaque, [*c]u8, c_int) callconv(.C) c_int,
- _seek: ?*const fn (?*anyopaque, fpos_t, c_int) callconv(.C) fpos_t,
- _write: ?*const fn (?*anyopaque, [*c]const u8, c_int) callconv(.C) c_int,
- _ub: struct___sbuf,
- _extra: ?*struct___sFILEX,
- _ur: c_int,
- _ubuf: [3]u8,
- _nbuf: [1]u8,
- _lb: struct___sbuf,
- _blksize: c_int,
- _offset: fpos_t,
-};
-pub const FILE = struct___sFILE;
-pub extern const sys_nerr: c_int;
-pub extern const sys_errlist: [*c]const [*c]const u8;
pub extern fn BUF_MEM_new() [*c]BUF_MEM;
pub extern fn BUF_MEM_free(buf: [*c]BUF_MEM) void;
pub extern fn BUF_MEM_reserve(buf: [*c]BUF_MEM, cap: usize) c_int;
@@ -652,7 +586,7 @@ pub extern fn BUF_MEM_append(buf: [*c]BUF_MEM, in: ?*const anyopaque, len: usize
pub extern fn BUF_strdup(str: [*c]const u8) [*c]u8;
pub extern fn BUF_strnlen(str: [*c]const u8, max_len: usize) usize;
pub extern fn BUF_strndup(str: [*c]const u8, size: usize) [*c]u8;
-pub extern fn BUF_memdup(data: ?[*]const u8, size: usize) ?*anyopaque;
+pub extern fn BUF_memdup(data: ?*const anyopaque, size: usize) ?*anyopaque;
pub extern fn BUF_strlcpy(dst: [*c]u8, src: [*c]const u8, dst_size: usize) usize;
pub extern fn BUF_strlcat(dst: [*c]u8, src: [*c]const u8, dst_size: usize) usize;
pub extern fn ERR_load_BIO_strings() void;
@@ -661,24 +595,18 @@ pub extern fn ERR_load_crypto_strings() void;
pub extern fn ERR_load_RAND_strings() void;
pub extern fn ERR_free_strings() void;
pub extern fn ERR_get_error() u32;
-pub extern fn ERR_get_error_line(file: [*c][*c]const u8, line: [*c]c_int) u32;
-pub extern fn ERR_get_error_line_data(file: [*c][*c]const u8, line: [*c]c_int, data: [*c][*c]const u8, flags: [*c]c_int) u32;
+// pub extern fn ERR_get_error_line(file: [*c][*c]const u8, line: [*c]c_int) u32;
+// pub extern fn ERR_get_error_line_data(file: [*c][*c]const u8, line: [*c]c_int, data: [*c][*c]const u8, flags: [*c]c_int) u32;
pub extern fn ERR_peek_error() u32;
-pub extern fn ERR_peek_error_line(file: [*c][*c]const u8, line: [*c]c_int) u32;
-pub extern fn ERR_peek_error_line_data(file: [*c][*c]const u8, line: [*c]c_int, data: [*c][*c]const u8, flags: [*c]c_int) u32;
+// pub extern fn ERR_peek_error_line(file: [*c][*c]const u8, line: [*c]c_int) u32;
+// pub extern fn ERR_peek_error_line_data(file: [*c][*c]const u8, line: [*c]c_int, data: [*c][*c]const u8, flags: [*c]c_int) u32;
pub extern fn ERR_peek_last_error() u32;
-pub extern fn ERR_peek_last_error_line(file: [*c][*c]const u8, line: [*c]c_int) u32;
-pub extern fn ERR_peek_last_error_line_data(file: [*c][*c]const u8, line: [*c]c_int, data: [*c][*c]const u8, flags: [*c]c_int) u32;
+// pub extern fn ERR_peek_last_error_line(file: [*c][*c]const u8, line: [*c]c_int) u32;
+// pub extern fn ERR_peek_last_error_line_data(file: [*c][*c]const u8, line: [*c]c_int, data: [*c][*c]const u8, flags: [*c]c_int) u32;
pub extern fn ERR_error_string_n(packed_error: u32, buf: [*c]u8, len: usize) [*c]u8;
pub extern fn ERR_lib_error_string(packed_error: u32) [*c]const u8;
pub extern fn ERR_reason_error_string(packed_error: u32) [*c]const u8;
pub const ERR_print_errors_callback_t = ?*const fn ([*c]const u8, usize, ?*anyopaque) callconv(.C) c_int;
-pub extern fn ERR_print_errors_cb(callback: ERR_print_errors_callback_t, ctx: ?*anyopaque) void;
-pub extern fn ERR_print_errors_fp(file: [*c]FILE) void;
-pub extern fn ERR_clear_error() void;
-pub extern fn ERR_set_mark() c_int;
-pub extern fn ERR_pop_to_mark() c_int;
-pub extern fn ERR_get_next_error_library() c_int;
pub const ERR_LIB_NONE: c_int = 1;
pub const ERR_LIB_SYS: c_int = 2;
pub const ERR_LIB_BN: c_int = 3;
@@ -713,278 +641,284 @@ pub const ERR_LIB_HKDF: c_int = 31;
pub const ERR_LIB_TRUST_TOKEN: c_int = 32;
pub const ERR_LIB_USER: c_int = 33;
pub const ERR_NUM_LIBS: c_int = 34;
-const enum_unnamed_5 = c_uint;
+const enum_unnamed_6 = c_uint;
pub extern fn ERR_remove_state(pid: c_ulong) void;
pub extern fn ERR_remove_thread_state(tid: [*c]const CRYPTO_THREADID) void;
pub extern fn ERR_func_error_string(packed_error: u32) [*c]const u8;
pub extern fn ERR_error_string(packed_error: u32, buf: [*c]u8) [*c]u8;
pub extern fn ERR_clear_system_error() void;
-pub extern fn ERR_put_error(library: c_int, unused: c_int, reason: c_int, file: [*c]const u8, line: c_uint) void;
+// pub extern fn ERR_put_error(library: c_int, unused: c_int, reason: c_int, file: [*c]const u8, line: c_uint) void;
pub extern fn ERR_add_error_data(count: c_uint, ...) void;
pub extern fn ERR_add_error_dataf(format: [*c]const u8, ...) void;
-pub const stack_free_func = ?*const fn (?*anyopaque) callconv(.C) void;
-pub const stack_copy_func = ?*const fn (?*anyopaque) callconv(.C) ?*anyopaque;
-pub const stack_cmp_func = ?*const fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int;
+pub extern fn ERR_set_error_data(data: [*c]u8, flags: c_int) void;
+pub const OPENSSL_sk_free_func = ?*const fn (?*anyopaque) callconv(.C) void;
+pub const OPENSSL_sk_copy_func = ?*const fn (?*anyopaque) callconv(.C) ?*anyopaque;
+pub const OPENSSL_sk_cmp_func = ?*const fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int;
+pub const OPENSSL_sk_call_free_func = ?*const fn (OPENSSL_sk_free_func, ?*anyopaque) callconv(.C) void;
+pub const OPENSSL_sk_call_copy_func = ?*const fn (OPENSSL_sk_copy_func, ?*anyopaque) callconv(.C) ?*anyopaque;
+pub const OPENSSL_sk_call_cmp_func = ?*const fn (OPENSSL_sk_cmp_func, [*c]const ?*const anyopaque, [*c]const ?*const anyopaque) callconv(.C) c_int;
pub const struct_stack_st = extern struct {
num: usize,
data: [*c]?*anyopaque,
sorted: c_int,
num_alloc: usize,
- comp: stack_cmp_func,
+ comp: OPENSSL_sk_cmp_func,
};
pub const _STACK = struct_stack_st;
-pub extern fn sk_new(comp: stack_cmp_func) [*c]_STACK;
+pub extern fn sk_new(comp: OPENSSL_sk_cmp_func) [*c]_STACK;
pub extern fn sk_new_null() [*c]_STACK;
pub extern fn sk_num(sk: [*c]const _STACK) usize;
pub extern fn sk_zero(sk: [*c]_STACK) void;
pub extern fn sk_value(sk: [*c]const _STACK, i: usize) ?*anyopaque;
pub extern fn sk_set(sk: [*c]_STACK, i: usize, p: ?*anyopaque) ?*anyopaque;
pub extern fn sk_free(sk: [*c]_STACK) void;
-pub extern fn sk_pop_free_ex(sk: [*c]_STACK, call_free_func: ?*const fn (stack_free_func, ?*anyopaque) callconv(.C) void, free_func: stack_free_func) void;
+pub extern fn sk_pop_free_ex(sk: [*c]_STACK, call_free_func: OPENSSL_sk_call_free_func, free_func: OPENSSL_sk_free_func) void;
pub extern fn sk_insert(sk: [*c]_STACK, p: ?*anyopaque, where: usize) usize;
pub extern fn sk_delete(sk: [*c]_STACK, where: usize) ?*anyopaque;
pub extern fn sk_delete_ptr(sk: [*c]_STACK, p: ?*const anyopaque) ?*anyopaque;
-pub extern fn sk_find(sk: [*c]const _STACK, out_index: [*c]usize, p: ?*const anyopaque, call_cmp_func: ?*const fn (stack_cmp_func, [*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int) c_int;
+pub extern fn sk_find(sk: [*c]const _STACK, out_index: [*c]usize, p: ?*const anyopaque, call_cmp_func: OPENSSL_sk_call_cmp_func) c_int;
pub extern fn sk_shift(sk: [*c]_STACK) ?*anyopaque;
pub extern fn sk_push(sk: [*c]_STACK, p: ?*anyopaque) usize;
pub extern fn sk_pop(sk: [*c]_STACK) ?*anyopaque;
pub extern fn sk_dup(sk: [*c]const _STACK) [*c]_STACK;
-pub extern fn sk_sort(sk: [*c]_STACK) void;
+pub extern fn sk_sort(sk: [*c]_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func) void;
pub extern fn sk_is_sorted(sk: [*c]const _STACK) c_int;
-pub extern fn sk_set_cmp_func(sk: [*c]_STACK, comp: stack_cmp_func) stack_cmp_func;
-pub extern fn sk_deep_copy(sk: [*c]const _STACK, call_copy_func: ?*const fn (stack_copy_func, ?*anyopaque) callconv(.C) ?*anyopaque, copy_func: stack_copy_func, call_free_func: ?*const fn (stack_free_func, ?*anyopaque) callconv(.C) void, free_func: stack_free_func) [*c]_STACK;
-pub extern fn sk_pop_free(sk: [*c]_STACK, free_func: stack_free_func) void;
+pub extern fn sk_set_cmp_func(sk: [*c]_STACK, comp: OPENSSL_sk_cmp_func) OPENSSL_sk_cmp_func;
+pub extern fn sk_deep_copy(sk: [*c]const _STACK, call_copy_func: OPENSSL_sk_call_copy_func, copy_func: OPENSSL_sk_copy_func, call_free_func: OPENSSL_sk_call_free_func, free_func: OPENSSL_sk_free_func) [*c]_STACK;
+pub extern fn sk_pop_free(sk: [*c]_STACK, free_func: OPENSSL_sk_free_func) void;
pub const OPENSSL_STRING = [*c]u8;
-pub const stack_void_free_func = ?*const fn (?*anyopaque) callconv(.C) void;
-pub const stack_void_copy_func = ?*const fn (?*anyopaque) callconv(.C) ?*anyopaque;
-pub const stack_void_cmp_func = ?*const fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int;
-pub fn sk_void_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_void_free_func = ?*const fn (?*anyopaque) callconv(.C) void;
+pub const sk_void_copy_func = ?*const fn (?*anyopaque) callconv(.C) ?*anyopaque;
+pub const sk_void_cmp_func = ?*const fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int;
+pub fn sk_void_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_void_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)).?(ptr);
+ @as(sk_void_free_func, @ptrCast(@alignCast(free_func))).?(ptr);
}
-pub fn sk_void_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_void_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(stack_void_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)).?(ptr);
+ return @as(sk_void_copy_func, @ptrCast(@alignCast(copy_func))).?(ptr);
}
-pub fn sk_void_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_void_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
var a_ptr: ?*const anyopaque = a.*;
var b_ptr: ?*const anyopaque = b.*;
- return @ptrCast(stack_void_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ return @as(sk_void_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_void_new(arg_comp: stack_void_cmp_func) callconv(.C) ?*struct_stack_st_void {
+pub fn sk_void_new(arg_comp: sk_void_cmp_func) callconv(.C) ?*struct_stack_st_void {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_void, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_void, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_void_new_null() callconv(.C) ?*struct_stack_st_void {
- return @ptrCast(?*struct_stack_st_void, sk_new_null());
+ return @as(?*struct_stack_st_void, @ptrCast(sk_new_null()));
}
pub fn sk_void_num(arg_sk: ?*const struct_stack_st_void) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_void_zero(arg_sk: ?*struct_stack_st_void) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_void_value(arg_sk: ?*const struct_stack_st_void, arg_i: usize) callconv(.C) ?*anyopaque {
var sk = arg_sk;
var i = arg_i;
- return sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i);
+ return @alignCast(@ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
pub fn sk_void_set(arg_sk: ?*struct_stack_st_void, arg_i: usize, arg_p: ?*anyopaque) callconv(.C) ?*anyopaque {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, p);
+ return sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, p);
}
pub fn sk_void_free(arg_sk: ?*struct_stack_st_void) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_void_pop_free(arg_sk: ?*struct_stack_st_void, arg_free_func: stack_void_free_func) callconv(.C) void {
+pub fn sk_void_pop_free(arg_sk: ?*struct_stack_st_void, arg_free_func: sk_void_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_void_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_void_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_void_insert(arg_sk: ?*struct_stack_st_void, arg_p: ?*anyopaque, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), p, where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), p, where);
}
pub fn sk_void_delete(arg_sk: ?*struct_stack_st_void, arg_where: usize) callconv(.C) ?*anyopaque {
var sk = arg_sk;
var where = arg_where;
- return sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where);
+ return sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where);
}
pub fn sk_void_delete_ptr(arg_sk: ?*struct_stack_st_void, arg_p: ?*const anyopaque) callconv(.C) ?*anyopaque {
var sk = arg_sk;
var p = arg_p;
- return sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), p);
+ return sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), p);
}
pub fn sk_void_find(arg_sk: ?*const struct_stack_st_void, arg_out_index: [*c]usize, arg_p: ?*const anyopaque) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, p, sk_void_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, p, &sk_void_call_cmp_func);
}
pub fn sk_void_shift(arg_sk: ?*struct_stack_st_void) callconv(.C) ?*anyopaque {
var sk = arg_sk;
- return sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_void_push(arg_sk: ?*struct_stack_st_void, arg_p: ?*anyopaque) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), p);
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), p);
}
pub fn sk_void_pop(arg_sk: ?*struct_stack_st_void) callconv(.C) ?*anyopaque {
var sk = arg_sk;
- return sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_void_dup(arg_sk: ?*const struct_stack_st_void) callconv(.C) ?*struct_stack_st_void {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_void, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_void, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_void_sort(arg_sk: ?*struct_stack_st_void) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_void_call_cmp_func);
}
pub fn sk_void_is_sorted(arg_sk: ?*const struct_stack_st_void) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_void_set_cmp_func(arg_sk: ?*struct_stack_st_void, arg_comp: stack_void_cmp_func) callconv(.C) stack_void_cmp_func {
+pub fn sk_void_set_cmp_func(arg_sk: ?*struct_stack_st_void, arg_comp: sk_void_cmp_func) callconv(.C) sk_void_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_void_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_void_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_void_deep_copy(arg_sk: ?*const struct_stack_st_void, arg_copy_func: ?*const fn (?*anyopaque) callconv(.C) ?*anyopaque, arg_free_func: ?*const fn (?*anyopaque) callconv(.C) void) callconv(.C) ?*struct_stack_st_void {
+pub fn sk_void_deep_copy(arg_sk: ?*const struct_stack_st_void, arg_copy_func: sk_void_copy_func, arg_free_func: sk_void_free_func) callconv(.C) ?*struct_stack_st_void {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_void, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_void_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_void_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
-} // /Users/jarred/Code/bun/src/deps/boringssl/include/openssl/type_check.h:75:42: warning: ignoring StaticAssert declaration
+ return @as(?*struct_stack_st_void, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_void_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_void_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
+}
pub const struct_stack_st_OPENSSL_STRING = opaque {};
-pub const stack_OPENSSL_STRING_free_func = ?*const fn (OPENSSL_STRING) callconv(.C) void;
-pub const stack_OPENSSL_STRING_copy_func = ?*const fn (OPENSSL_STRING) callconv(.C) OPENSSL_STRING;
-pub const stack_OPENSSL_STRING_cmp_func = ?*const fn ([*c]const OPENSSL_STRING, [*c]const OPENSSL_STRING) callconv(.C) c_int;
-pub fn sk_OPENSSL_STRING_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_OPENSSL_STRING_free_func = ?*const fn ([*c]u8) callconv(.C) void;
+pub const sk_OPENSSL_STRING_copy_func = ?*const fn ([*c]u8) callconv(.C) [*c]u8;
+pub const sk_OPENSSL_STRING_cmp_func = ?*const fn ([*c][*c]const u8, [*c][*c]const u8) callconv(.C) c_int;
+pub fn sk_OPENSSL_STRING_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_OPENSSL_STRING_free_func, @alignCast(@import("std").meta.alignment(fn (OPENSSL_STRING) callconv(.C) void), free_func)).?(@ptrCast(OPENSSL_STRING, @alignCast(@import("std").meta.alignment(u8), ptr)));
+ @as(sk_OPENSSL_STRING_free_func, @ptrCast(@alignCast(free_func))).?(@as([*c]u8, @ptrCast(@alignCast(ptr))));
}
-pub fn sk_OPENSSL_STRING_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_OPENSSL_STRING_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_OPENSSL_STRING_copy_func, @alignCast(@import("std").meta.alignment(fn (OPENSSL_STRING) callconv(.C) OPENSSL_STRING), copy_func)).?(@ptrCast(OPENSSL_STRING, @alignCast(@import("std").meta.alignment(u8), ptr))));
+ return @as(?*anyopaque, @ptrCast(@as(sk_OPENSSL_STRING_copy_func, @ptrCast(@alignCast(copy_func))).?(@as([*c]u8, @ptrCast(@alignCast(ptr))))));
}
-pub fn sk_OPENSSL_STRING_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_OPENSSL_STRING_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- const a_ptr: OPENSSL_STRING = @ptrFromInt(OPENSSL_STRING, @intFromPtr(a.*));
- const b_ptr: OPENSSL_STRING = @ptrFromInt(OPENSSL_STRING, @intFromPtr(b.*));
- return @ptrCast(stack_OPENSSL_STRING_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]const OPENSSL_STRING, [*c]const OPENSSL_STRING) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: [*c]const u8 = @as([*c]const u8, @ptrCast(@alignCast(a.*)));
+ var b_ptr: [*c]const u8 = @as([*c]const u8, @ptrCast(@alignCast(b.*)));
+ return @as(sk_OPENSSL_STRING_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_OPENSSL_STRING_new(arg_comp: stack_OPENSSL_STRING_cmp_func) callconv(.C) ?*struct_stack_st_OPENSSL_STRING {
+pub fn sk_OPENSSL_STRING_new(arg_comp: sk_OPENSSL_STRING_cmp_func) callconv(.C) ?*struct_stack_st_OPENSSL_STRING {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_OPENSSL_STRING, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_OPENSSL_STRING, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_OPENSSL_STRING_new_null() callconv(.C) ?*struct_stack_st_OPENSSL_STRING {
- return @ptrCast(?*struct_stack_st_OPENSSL_STRING, sk_new_null());
+ return @as(?*struct_stack_st_OPENSSL_STRING, @ptrCast(sk_new_null()));
}
pub fn sk_OPENSSL_STRING_num(arg_sk: ?*const struct_stack_st_OPENSSL_STRING) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_OPENSSL_STRING_zero(arg_sk: ?*struct_stack_st_OPENSSL_STRING) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_OPENSSL_STRING_value(arg_sk: ?*const struct_stack_st_OPENSSL_STRING, arg_i: usize) callconv(.C) OPENSSL_STRING {
+pub fn sk_OPENSSL_STRING_value(arg_sk: ?*const struct_stack_st_OPENSSL_STRING, arg_i: usize) callconv(.C) [*c]u8 {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(OPENSSL_STRING, @alignCast(@import("std").meta.alignment(u8), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
+ return @as([*c]u8, @ptrCast(@alignCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i))));
}
-pub fn sk_OPENSSL_STRING_set(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_i: usize, arg_p: OPENSSL_STRING) callconv(.C) OPENSSL_STRING {
+pub fn sk_OPENSSL_STRING_set(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_i: usize, arg_p: [*c]u8) callconv(.C) [*c]u8 {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(OPENSSL_STRING, @alignCast(@import("std").meta.alignment(u8), sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p))));
+ return @as([*c]u8, @ptrCast(@alignCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p))))));
}
pub fn sk_OPENSSL_STRING_free(arg_sk: ?*struct_stack_st_OPENSSL_STRING) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_OPENSSL_STRING_pop_free(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_free_func: stack_OPENSSL_STRING_free_func) callconv(.C) void {
+pub fn sk_OPENSSL_STRING_pop_free(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_free_func: sk_OPENSSL_STRING_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_OPENSSL_STRING_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_OPENSSL_STRING_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
-pub fn sk_OPENSSL_STRING_insert(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_p: OPENSSL_STRING, arg_where: usize) callconv(.C) usize {
+pub fn sk_OPENSSL_STRING_insert(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_p: [*c]u8, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
-pub fn sk_OPENSSL_STRING_delete(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_where: usize) callconv(.C) OPENSSL_STRING {
+pub fn sk_OPENSSL_STRING_delete(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_where: usize) callconv(.C) [*c]u8 {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(OPENSSL_STRING, @alignCast(@import("std").meta.alignment(u8), sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where)));
+ return @as([*c]u8, @ptrCast(@alignCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where))));
}
-pub fn sk_OPENSSL_STRING_delete_ptr(arg_sk: ?*struct_stack_st_OPENSSL_STRING, p: OPENSSL_STRING) callconv(.C) OPENSSL_STRING {
+pub fn sk_OPENSSL_STRING_delete_ptr(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_p: [*c]const u8) callconv(.C) [*c]u8 {
var sk = arg_sk;
- return @ptrCast(OPENSSL_STRING, @alignCast(@import("std").meta.alignment(u8), sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p))));
+ var p = arg_p;
+ return @as([*c]u8, @ptrCast(@alignCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p))))));
}
-pub fn sk_OPENSSL_STRING_find(arg_sk: ?*const struct_stack_st_OPENSSL_STRING, arg_out_index: [*c]usize, p: OPENSSL_STRING) callconv(.C) c_int {
+pub fn sk_OPENSSL_STRING_find(arg_sk: ?*const struct_stack_st_OPENSSL_STRING, arg_out_index: [*c]usize, arg_p: [*c]const u8) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_OPENSSL_STRING_call_cmp_func);
+ var p = arg_p;
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_OPENSSL_STRING_call_cmp_func);
}
-pub fn sk_OPENSSL_STRING_shift(arg_sk: ?*struct_stack_st_OPENSSL_STRING) callconv(.C) OPENSSL_STRING {
+pub fn sk_OPENSSL_STRING_shift(arg_sk: ?*struct_stack_st_OPENSSL_STRING) callconv(.C) [*c]u8 {
var sk = arg_sk;
- return @ptrCast(OPENSSL_STRING, @alignCast(@import("std").meta.alignment(u8), sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]u8, @ptrCast(@alignCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
-pub fn sk_OPENSSL_STRING_push(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_p: OPENSSL_STRING) callconv(.C) usize {
+pub fn sk_OPENSSL_STRING_push(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_p: [*c]u8) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
-pub fn sk_OPENSSL_STRING_pop(arg_sk: ?*struct_stack_st_OPENSSL_STRING) callconv(.C) OPENSSL_STRING {
+pub fn sk_OPENSSL_STRING_pop(arg_sk: ?*struct_stack_st_OPENSSL_STRING) callconv(.C) [*c]u8 {
var sk = arg_sk;
- return @ptrCast(OPENSSL_STRING, @alignCast(@import("std").meta.alignment(u8), sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]u8, @ptrCast(@alignCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_OPENSSL_STRING_dup(arg_sk: ?*const struct_stack_st_OPENSSL_STRING) callconv(.C) ?*struct_stack_st_OPENSSL_STRING {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_OPENSSL_STRING, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_OPENSSL_STRING, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_OPENSSL_STRING_sort(arg_sk: ?*struct_stack_st_OPENSSL_STRING) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_OPENSSL_STRING_call_cmp_func);
}
pub fn sk_OPENSSL_STRING_is_sorted(arg_sk: ?*const struct_stack_st_OPENSSL_STRING) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_OPENSSL_STRING_set_cmp_func(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_comp: stack_OPENSSL_STRING_cmp_func) callconv(.C) stack_OPENSSL_STRING_cmp_func {
+pub fn sk_OPENSSL_STRING_set_cmp_func(arg_sk: ?*struct_stack_st_OPENSSL_STRING, arg_comp: sk_OPENSSL_STRING_cmp_func) callconv(.C) sk_OPENSSL_STRING_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_OPENSSL_STRING_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]const OPENSSL_STRING, [*c]const OPENSSL_STRING) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_OPENSSL_STRING_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_OPENSSL_STRING_deep_copy(arg_sk: ?*const struct_stack_st_OPENSSL_STRING, arg_copy_func: ?*const fn (OPENSSL_STRING) callconv(.C) OPENSSL_STRING, arg_free_func: ?*const fn (OPENSSL_STRING) callconv(.C) void) callconv(.C) ?*struct_stack_st_OPENSSL_STRING {
+pub fn sk_OPENSSL_STRING_deep_copy(arg_sk: ?*const struct_stack_st_OPENSSL_STRING, arg_copy_func: sk_OPENSSL_STRING_copy_func, arg_free_func: sk_OPENSSL_STRING_free_func) callconv(.C) ?*struct_stack_st_OPENSSL_STRING {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_OPENSSL_STRING, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_OPENSSL_STRING_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_OPENSSL_STRING_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_OPENSSL_STRING, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_OPENSSL_STRING_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_OPENSSL_STRING_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
-pub const CRYPTO_EX_free = *const fn (?*anyopaque, ?*anyopaque, [*c]CRYPTO_EX_DATA, c_int, c_long, ?*anyopaque) callconv(.C) void;
+pub const CRYPTO_EX_free = fn (?*anyopaque, ?*anyopaque, [*c]CRYPTO_EX_DATA, c_int, c_long, ?*anyopaque) callconv(.C) void;
pub extern fn CRYPTO_cleanup_all_ex_data() void;
-pub const CRYPTO_EX_dup = *const fn ([*c]CRYPTO_EX_DATA, [*c]const CRYPTO_EX_DATA, [*c]?*anyopaque, c_int, c_long, ?*anyopaque) callconv(.C) c_int;
+pub const CRYPTO_EX_dup = fn ([*c]CRYPTO_EX_DATA, [*c]const CRYPTO_EX_DATA, [*c]?*anyopaque, c_int, c_long, ?*anyopaque) callconv(.C) c_int;
pub const CRYPTO_EX_unused = c_int;
pub extern fn CRYPTO_num_locks() c_int;
pub extern fn CRYPTO_set_locking_callback(func: ?*const fn (c_int, c_int, [*c]const u8, c_int) callconv(.C) void) void;
@@ -1008,159 +942,159 @@ pub extern fn CRYPTO_get_dynlock_create_callback() ?*const fn ([*c]const u8, c_i
pub extern fn CRYPTO_get_dynlock_lock_callback() ?*const fn (c_int, ?*struct_CRYPTO_dynlock_value, [*c]const u8, c_int) callconv(.C) void;
pub extern fn CRYPTO_get_dynlock_destroy_callback() ?*const fn (?*struct_CRYPTO_dynlock_value, [*c]const u8, c_int) callconv(.C) void;
pub const struct_stack_st_BIO = opaque {};
-pub const stack_BIO_free_func = ?*const fn ([*c]BIO) callconv(.C) void;
-pub const stack_BIO_copy_func = ?*const fn ([*c]BIO) callconv(.C) [*c]BIO;
-pub const stack_BIO_cmp_func = ?*const fn ([*c][*c]const BIO, [*c][*c]const BIO) callconv(.C) c_int;
-pub fn sk_BIO_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_BIO_free_func = ?*const fn ([*c]BIO) callconv(.C) void;
+pub const sk_BIO_copy_func = ?*const fn ([*c]BIO) callconv(.C) [*c]BIO;
+pub const sk_BIO_cmp_func = ?*const fn ([*c][*c]const BIO, [*c][*c]const BIO) callconv(.C) c_int;
+pub fn sk_BIO_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_BIO_free_func, @alignCast(@import("std").meta.alignment(fn ([*c]BIO) callconv(.C) void), free_func)).?(@ptrCast([*c]BIO, @alignCast(@import("std").meta.alignment(BIO), ptr)));
+ @as(sk_BIO_free_func, @ptrCast(@alignCast(free_func))).?(@as([*c]BIO, @ptrCast(@alignCast(ptr))));
}
-pub fn sk_BIO_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_BIO_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_BIO_copy_func, @alignCast(@import("std").meta.alignment(fn ([*c]BIO) callconv(.C) [*c]BIO), copy_func)).?(@ptrCast([*c]BIO, @alignCast(@import("std").meta.alignment(BIO), ptr))));
+ return @as(?*anyopaque, @ptrCast(@as(sk_BIO_copy_func, @ptrCast(@alignCast(copy_func))).?(@as([*c]BIO, @ptrCast(@alignCast(ptr))))));
}
-pub fn sk_BIO_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_BIO_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: [*c]const BIO = @ptrCast([*c]const BIO, @alignCast(@import("std").meta.alignment(BIO), a.*));
- var b_ptr: [*c]const BIO = @ptrCast([*c]const BIO, @alignCast(@import("std").meta.alignment(BIO), b.*));
- return @ptrCast(stack_BIO_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const BIO, [*c][*c]const BIO) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: [*c]const BIO = @as([*c]const BIO, @ptrCast(@alignCast(a.*)));
+ var b_ptr: [*c]const BIO = @as([*c]const BIO, @ptrCast(@alignCast(b.*)));
+ return @as(sk_BIO_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_BIO_new(arg_comp: stack_BIO_cmp_func) callconv(.C) ?*struct_stack_st_BIO {
+pub fn sk_BIO_new(arg_comp: sk_BIO_cmp_func) callconv(.C) ?*struct_stack_st_BIO {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_BIO, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_BIO, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_BIO_new_null() callconv(.C) ?*struct_stack_st_BIO {
- return @ptrCast(?*struct_stack_st_BIO, sk_new_null());
+ return @as(?*struct_stack_st_BIO, @ptrCast(sk_new_null()));
}
pub fn sk_BIO_num(arg_sk: ?*const struct_stack_st_BIO) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_BIO_zero(arg_sk: ?*struct_stack_st_BIO) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_BIO_value(arg_sk: ?*const struct_stack_st_BIO, arg_i: usize) callconv(.C) [*c]BIO {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast([*c]BIO, @alignCast(@import("std").meta.alignment(BIO), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
+ return @as([*c]BIO, @ptrCast(@alignCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i))));
}
pub fn sk_BIO_set(arg_sk: ?*struct_stack_st_BIO, arg_i: usize, arg_p: [*c]BIO) callconv(.C) [*c]BIO {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast([*c]BIO, @alignCast(@import("std").meta.alignment(BIO), sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p))));
+ return @as([*c]BIO, @ptrCast(@alignCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p))))));
}
pub fn sk_BIO_free(arg_sk: ?*struct_stack_st_BIO) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_BIO_pop_free(arg_sk: ?*struct_stack_st_BIO, arg_free_func: stack_BIO_free_func) callconv(.C) void {
+pub fn sk_BIO_pop_free(arg_sk: ?*struct_stack_st_BIO, arg_free_func: sk_BIO_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_BIO_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_BIO_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_BIO_insert(arg_sk: ?*struct_stack_st_BIO, arg_p: [*c]BIO, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_BIO_delete(arg_sk: ?*struct_stack_st_BIO, arg_where: usize) callconv(.C) [*c]BIO {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast([*c]BIO, @alignCast(@import("std").meta.alignment(BIO), sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where)));
+ return @as([*c]BIO, @ptrCast(@alignCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where))));
}
pub fn sk_BIO_delete_ptr(arg_sk: ?*struct_stack_st_BIO, arg_p: [*c]const BIO) callconv(.C) [*c]BIO {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast([*c]BIO, @alignCast(@import("std").meta.alignment(BIO), sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p))));
+ return @as([*c]BIO, @ptrCast(@alignCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p))))));
}
pub fn sk_BIO_find(arg_sk: ?*const struct_stack_st_BIO, arg_out_index: [*c]usize, arg_p: [*c]const BIO) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_BIO_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_BIO_call_cmp_func);
}
pub fn sk_BIO_shift(arg_sk: ?*struct_stack_st_BIO) callconv(.C) [*c]BIO {
var sk = arg_sk;
- return @ptrCast([*c]BIO, @alignCast(@import("std").meta.alignment(BIO), sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]BIO, @ptrCast(@alignCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_BIO_push(arg_sk: ?*struct_stack_st_BIO, arg_p: [*c]BIO) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_BIO_pop(arg_sk: ?*struct_stack_st_BIO) callconv(.C) [*c]BIO {
var sk = arg_sk;
- return @ptrCast([*c]BIO, @alignCast(@import("std").meta.alignment(BIO), sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]BIO, @ptrCast(@alignCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_BIO_dup(arg_sk: ?*const struct_stack_st_BIO) callconv(.C) ?*struct_stack_st_BIO {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_BIO, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_BIO, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_BIO_sort(arg_sk: ?*struct_stack_st_BIO) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_BIO_call_cmp_func);
}
pub fn sk_BIO_is_sorted(arg_sk: ?*const struct_stack_st_BIO) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_BIO_set_cmp_func(arg_sk: ?*struct_stack_st_BIO, arg_comp: stack_BIO_cmp_func) callconv(.C) stack_BIO_cmp_func {
+pub fn sk_BIO_set_cmp_func(arg_sk: ?*struct_stack_st_BIO, arg_comp: sk_BIO_cmp_func) callconv(.C) sk_BIO_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_BIO_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const BIO, [*c][*c]const BIO) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_BIO_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_BIO_deep_copy(arg_sk: ?*const struct_stack_st_BIO, arg_copy_func: ?*const fn ([*c]BIO) callconv(.C) [*c]BIO, arg_free_func: ?*const fn ([*c]BIO) callconv(.C) void) callconv(.C) ?*struct_stack_st_BIO {
+pub fn sk_BIO_deep_copy(arg_sk: ?*const struct_stack_st_BIO, arg_copy_func: sk_BIO_copy_func, arg_free_func: sk_BIO_free_func) callconv(.C) ?*struct_stack_st_BIO {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_BIO, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_BIO_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_BIO_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
-}
-pub extern fn BIO_new(method: *const BIO_METHOD) ?*BIO;
-pub extern fn BIO_free(bio: *BIO) c_int;
-pub extern fn BIO_vfree(bio: *BIO) void;
-pub extern fn BIO_up_ref(bio: *BIO) c_int;
-pub extern fn BIO_read(bio: *BIO, data: ?*anyopaque, len: c_int) c_int;
-pub extern fn BIO_gets(bio: *BIO, buf: [*c]u8, size: c_int) c_int;
-pub extern fn BIO_write(bio: *BIO, data: ?[*]const u8, len: c_int) c_int;
-pub extern fn BIO_write_all(bio: *BIO, data: ?[*]const u8, len: usize) c_int;
-pub extern fn BIO_puts(bio: *BIO, buf: [*c]const u8) c_int;
-pub extern fn BIO_flush(bio: *BIO) c_int;
-pub extern fn BIO_ctrl(bio: *BIO, cmd: c_int, larg: c_long, parg: ?*anyopaque) c_long;
-pub extern fn BIO_ptr_ctrl(bp: *BIO, cmd: c_int, larg: c_long) [*c]u8;
-pub extern fn BIO_int_ctrl(bp: *BIO, cmd: c_int, larg: c_long, iarg: c_int) c_long;
-pub extern fn BIO_reset(bio: *BIO) c_int;
-pub extern fn BIO_eof(bio: *BIO) c_int;
-pub extern fn BIO_set_flags(bio: *BIO, flags: c_int) void;
-pub extern fn BIO_test_flags(bio: *const BIO, flags: c_int) c_int;
-pub extern fn BIO_should_read(bio: *const BIO) c_int;
-pub extern fn BIO_should_write(bio: *const BIO) c_int;
-pub extern fn BIO_should_retry(bio: *const BIO) c_int;
-pub extern fn BIO_should_io_special(bio: *const BIO) c_int;
-pub extern fn BIO_get_retry_reason(bio: *const BIO) c_int;
-pub extern fn BIO_set_retry_reason(bio: *BIO, reason: c_int) void;
-pub extern fn BIO_clear_flags(bio: *BIO, flags: c_int) void;
-pub extern fn BIO_set_retry_read(bio: *BIO) void;
-pub extern fn BIO_set_retry_write(bio: *BIO) void;
-pub extern fn BIO_get_retry_flags(bio: *BIO) c_int;
-pub extern fn BIO_clear_retry_flags(bio: *BIO) void;
-pub extern fn BIO_method_type(bio: *const BIO) c_int;
-pub extern fn BIO_callback_ctrl(bio: *BIO, cmd: c_int, fp: bio_info_cb) c_long;
-pub extern fn BIO_pending(bio: *const BIO) usize;
-pub extern fn BIO_ctrl_pending(bio: *const BIO) usize;
-pub extern fn BIO_wpending(bio: *const BIO) usize;
-pub extern fn BIO_set_close(bio: *BIO, close_flag: c_int) c_int;
-pub extern fn BIO_number_read(bio: *const BIO) usize;
-pub extern fn BIO_number_written(bio: *const BIO) usize;
-pub extern fn BIO_push(bio: *BIO, appended_bio: [*c]BIO) [*c]BIO;
-pub extern fn BIO_pop(bio: *BIO) [*c]BIO;
-pub extern fn BIO_next(bio: *BIO) [*c]BIO;
+ return @as(?*struct_stack_st_BIO, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_BIO_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_BIO_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
+}
+pub extern fn BIO_new(method: [*c]const BIO_METHOD) ?*BIO;
+pub extern fn BIO_free(bio: [*c]BIO) c_int;
+pub extern fn BIO_vfree(bio: [*c]BIO) void;
+pub extern fn BIO_up_ref(bio: [*c]BIO) c_int;
+pub extern fn BIO_read(bio: [*c]BIO, data: ?*anyopaque, len: c_int) c_int;
+pub extern fn BIO_gets(bio: [*c]BIO, buf: [*c]u8, size: c_int) c_int;
+pub extern fn BIO_write(bio: [*c]BIO, data: ?*const anyopaque, len: c_int) c_int;
+pub extern fn BIO_write_all(bio: [*c]BIO, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn BIO_puts(bio: [*c]BIO, buf: [*c]const u8) c_int;
+pub extern fn BIO_flush(bio: [*c]BIO) c_int;
+pub extern fn BIO_ctrl(bio: [*c]BIO, cmd: c_int, larg: c_long, parg: ?*anyopaque) c_long;
+pub extern fn BIO_ptr_ctrl(bp: [*c]BIO, cmd: c_int, larg: c_long) [*c]u8;
+pub extern fn BIO_int_ctrl(bp: [*c]BIO, cmd: c_int, larg: c_long, iarg: c_int) c_long;
+pub extern fn BIO_reset(bio: [*c]BIO) c_int;
+pub extern fn BIO_eof(bio: [*c]BIO) c_int;
+pub extern fn BIO_set_flags(bio: [*c]BIO, flags: c_int) void;
+pub extern fn BIO_test_flags(bio: [*c]const BIO, flags: c_int) c_int;
+pub extern fn BIO_should_read(bio: [*c]const BIO) c_int;
+pub extern fn BIO_should_write(bio: [*c]const BIO) c_int;
+pub extern fn BIO_should_retry(bio: [*c]const BIO) c_int;
+pub extern fn BIO_should_io_special(bio: [*c]const BIO) c_int;
+pub extern fn BIO_get_retry_reason(bio: [*c]const BIO) c_int;
+pub extern fn BIO_set_retry_reason(bio: [*c]BIO, reason: c_int) void;
+pub extern fn BIO_clear_flags(bio: [*c]BIO, flags: c_int) void;
+pub extern fn BIO_set_retry_read(bio: [*c]BIO) void;
+pub extern fn BIO_set_retry_write(bio: [*c]BIO) void;
+pub extern fn BIO_get_retry_flags(bio: [*c]BIO) c_int;
+pub extern fn BIO_clear_retry_flags(bio: [*c]BIO) void;
+pub extern fn BIO_method_type(bio: [*c]const BIO) c_int;
+pub extern fn BIO_callback_ctrl(bio: [*c]BIO, cmd: c_int, fp: bio_info_cb) c_long;
+pub extern fn BIO_pending(bio: [*c]const BIO) usize;
+pub extern fn BIO_ctrl_pending(bio: [*c]const BIO) usize;
+pub extern fn BIO_wpending(bio: [*c]const BIO) usize;
+pub extern fn BIO_set_close(bio: [*c]BIO, close_flag: c_int) c_int;
+pub extern fn BIO_number_read(bio: [*c]const BIO) usize;
+pub extern fn BIO_number_written(bio: [*c]const BIO) usize;
+pub extern fn BIO_push(bio: [*c]BIO, appended_bio: [*c]BIO) [*c]BIO;
+pub extern fn BIO_pop(bio: [*c]BIO) [*c]BIO;
+pub extern fn BIO_next(bio: [*c]BIO) [*c]BIO;
pub extern fn BIO_free_all(bio: [*c]BIO) void;
pub extern fn BIO_find_type(bio: [*c]BIO, @"type": c_int) [*c]BIO;
pub extern fn BIO_copy_next_retry(bio: [*c]BIO) void;
@@ -1169,9 +1103,9 @@ pub extern fn BIO_indent(bio: [*c]BIO, indent: c_uint, max_indent: c_uint) c_int
pub extern fn BIO_hexdump(bio: [*c]BIO, data: [*c]const u8, len: usize, indent: c_uint) c_int;
pub extern fn ERR_print_errors(bio: [*c]BIO) void;
pub extern fn BIO_read_asn1(bio: [*c]BIO, out: [*c][*c]u8, out_len: [*c]usize, max_len: usize) c_int;
-pub extern fn BIO_s_mem() [*c]const BIO_METHOD;
-pub extern fn BIO_new_mem_buf(buf: ?*const anyopaque, len: c_int) *BIO;
-pub extern fn BIO_mem_contents(bio: [*c]const BIO, out_contents: [*c][*c]const u8, out_len: [*c]usize) c_int;
+pub extern fn BIO_s_mem() ?*const BIO_METHOD;
+// pub extern fn BIO_new_mem_buf(buf: ?*const anyopaque, len: ossl_ssize_t) [*c]BIO;
+// pub extern fn BIO_mem_contents(bio: [*c]const BIO, out_contents: [*c][*c]const u8, out_len: [*c]usize) c_int;
pub extern fn BIO_get_mem_data(bio: [*c]BIO, contents: [*c][*c]u8) c_long;
pub extern fn BIO_get_mem_ptr(bio: [*c]BIO, out: [*c][*c]BUF_MEM) c_int;
pub extern fn BIO_set_mem_buf(bio: [*c]BIO, b: [*c]BUF_MEM, take_ownership: c_int) c_int;
@@ -1180,37 +1114,39 @@ pub extern fn BIO_s_fd() [*c]const BIO_METHOD;
pub extern fn BIO_new_fd(fd: c_int, close_flag: c_int) [*c]BIO;
pub extern fn BIO_set_fd(bio: [*c]BIO, fd: c_int, close_flag: c_int) c_int;
pub extern fn BIO_get_fd(bio: [*c]BIO, out_fd: [*c]c_int) c_int;
-pub extern fn BIO_s_file() [*c]const BIO_METHOD;
+// pub extern fn BIO_s_file() [*c]const BIO_METHOD;
pub extern fn BIO_new_file(filename: [*c]const u8, mode: [*c]const u8) [*c]BIO;
-pub extern fn BIO_new_fp(stream: [*c]FILE, close_flag: c_int) [*c]BIO;
-pub extern fn BIO_get_fp(bio: [*c]BIO, out_file: [*c][*c]FILE) c_int;
-pub extern fn BIO_set_fp(bio: [*c]BIO, file: [*c]FILE, close_flag: c_int) c_int;
+// pub extern fn BIO_new_fp(stream: [*c]FILE, close_flag: c_int) [*c]BIO;
+// pub extern fn BIO_get_fp(bio: [*c]BIO, out_file: [*c][*c]FILE) c_int;
+// pub extern fn BIO_set_fp(bio: [*c]BIO, file: [*c]FILE, close_flag: c_int) c_int;
pub extern fn BIO_read_filename(bio: [*c]BIO, filename: [*c]const u8) c_int;
pub extern fn BIO_write_filename(bio: [*c]BIO, filename: [*c]const u8) c_int;
pub extern fn BIO_append_filename(bio: [*c]BIO, filename: [*c]const u8) c_int;
pub extern fn BIO_rw_filename(bio: [*c]BIO, filename: [*c]const u8) c_int;
-pub extern fn BIO_s_socket() [*c]const BIO_METHOD;
-pub extern fn BIO_new_socket(fd: c_int, close_flag: c_int) [*c]BIO;
-pub extern fn BIO_s_connect() [*c]const BIO_METHOD;
-pub extern fn BIO_new_connect(host_and_optional_port: [*c]const u8) [*c]BIO;
-pub extern fn BIO_set_conn_hostname(bio: [*c]BIO, host_and_optional_port: [*c]const u8) c_int;
-pub extern fn BIO_set_conn_port(bio: [*c]BIO, port_str: [*c]const u8) c_int;
-pub extern fn BIO_set_conn_int_port(bio: [*c]BIO, port: [*c]const c_int) c_int;
-pub extern fn BIO_set_nbio(bio: [*c]BIO, on: c_int) c_int;
-pub extern fn BIO_do_connect(bio: [*c]BIO) c_int;
-pub extern fn BIO_new_bio_pair(out1: [*c][*c]BIO, writebuf1: usize, out2: [*c][*c]BIO, writebuf2: usize) c_int;
-pub extern fn BIO_ctrl_get_read_request(bio: [*c]BIO) usize;
-pub extern fn BIO_ctrl_get_write_guarantee(bio: [*c]BIO) usize;
-pub extern fn BIO_shutdown_wr(bio: [*c]BIO) c_int;
+// pub extern fn BIO_tell(bio: [*c]BIO) c_long;
+// pub extern fn BIO_seek(bio: [*c]BIO, offset: c_long) c_long;
+// pub extern fn BIO_s_socket() [*c]const BIO_METHOD;
+// pub extern fn BIO_new_socket(fd: c_int, close_flag: c_int) [*c]BIO;
+// pub extern fn BIO_s_connect() [*c]const BIO_METHOD;
+// pub extern fn BIO_new_connect(host_and_optional_port: [*c]const u8) [*c]BIO;
+// pub extern fn BIO_set_conn_hostname(bio: [*c]BIO, host_and_optional_port: [*c]const u8) c_int;
+// pub extern fn BIO_set_conn_port(bio: [*c]BIO, port_str: [*c]const u8) c_int;
+// pub extern fn BIO_set_conn_int_port(bio: [*c]BIO, port: [*c]const c_int) c_int;
+// pub extern fn BIO_set_nbio(bio: [*c]BIO, on: c_int) c_int;
+// pub extern fn BIO_do_connect(bio: [*c]BIO) c_int;
+// pub extern fn BIO_new_bio_pair(out1: [*c][*c]BIO, writebuf1: usize, out2: [*c][*c]BIO, writebuf2: usize) c_int;
+// pub extern fn BIO_ctrl_get_read_request(bio: [*c]BIO) usize;
+// pub extern fn BIO_ctrl_get_write_guarantee(bio: [*c]BIO) usize;
+// pub extern fn BIO_shutdown_wr(bio: [*c]BIO) c_int;
pub extern fn BIO_get_new_index() c_int;
-pub extern fn BIO_meth_new(@"type": c_int, name: [*c]const u8) *BIO_METHOD;
-pub extern fn BIO_meth_free(method: *BIO_METHOD) void;
-pub extern fn BIO_meth_set_create(method: *BIO_METHOD, create: ?BIOMethod.create) c_int;
-pub extern fn BIO_meth_set_destroy(method: *BIO_METHOD, destroy: ?BIOMethod.destroy) c_int;
-pub extern fn BIO_meth_set_write(method: *BIO_METHOD, write: ?BIOMethod.write) c_int;
-pub extern fn BIO_meth_set_read(method: *BIO_METHOD, read: ?BIOMethod.read) c_int;
-pub extern fn BIO_meth_set_gets(method: *BIO_METHOD, gets: ?BIOMethod.gets) c_int;
-pub extern fn BIO_meth_set_ctrl(method: *BIO_METHOD, ctrl: ?BIOMethod.ctrl) c_int;
+pub extern fn BIO_meth_new(@"type": c_int, name: [*c]const u8) [*c]BIO_METHOD;
+pub extern fn BIO_meth_free(method: [*c]BIO_METHOD) void;
+pub extern fn BIO_meth_set_create(method: [*c]BIO_METHOD, create: ?*const fn ([*c]BIO) callconv(.C) c_int) c_int;
+pub extern fn BIO_meth_set_destroy(method: [*c]BIO_METHOD, destroy: ?*const fn ([*c]BIO) callconv(.C) c_int) c_int;
+pub extern fn BIO_meth_set_write(method: [*c]BIO_METHOD, write: ?*const fn ([*c]BIO, [*c]const u8, c_int) callconv(.C) c_int) c_int;
+pub extern fn BIO_meth_set_read(method: [*c]BIO_METHOD, read: ?*const fn ([*c]BIO, [*c]u8, c_int) callconv(.C) c_int) c_int;
+pub extern fn BIO_meth_set_gets(method: [*c]BIO_METHOD, gets: ?*const fn ([*c]BIO, [*c]u8, c_int) callconv(.C) c_int) c_int;
+pub extern fn BIO_meth_set_ctrl(method: [*c]BIO_METHOD, ctrl: ?*const fn ([*c]BIO, c_int, c_long, ?*anyopaque) callconv(.C) c_long) c_int;
pub extern fn BIO_set_data(bio: [*c]BIO, ptr: ?*anyopaque) void;
pub extern fn BIO_get_data(bio: [*c]BIO) ?*anyopaque;
pub extern fn BIO_set_init(bio: [*c]BIO, init: c_int) void;
@@ -1220,7 +1156,7 @@ pub extern fn BIO_set_retry_special(bio: [*c]BIO) void;
pub extern fn BIO_set_write_buffer_size(bio: [*c]BIO, buffer_size: c_int) c_int;
pub extern fn BIO_set_shutdown(bio: [*c]BIO, shutdown: c_int) void;
pub extern fn BIO_get_shutdown(bio: [*c]BIO) c_int;
-pub extern fn BIO_meth_set_puts(method: *BIO_METHOD, puts: ?*const fn ([*c]BIO, [*c]const u8) callconv(.C) c_int) c_int;
+pub extern fn BIO_meth_set_puts(method: [*c]BIO_METHOD, puts: ?*const fn ([*c]BIO, [*c]const u8) callconv(.C) c_int) c_int;
pub extern fn EVP_EncodeBlock(dst: [*c]u8, src: [*c]const u8, src_len: usize) usize;
pub extern fn EVP_EncodedLength(out_len: [*c]usize, len: usize) c_int;
pub extern fn EVP_DecodedLength(out_len: [*c]usize, len: usize) c_int;
@@ -1234,43 +1170,42 @@ pub extern fn EVP_DecodeInit(ctx: [*c]EVP_ENCODE_CTX) void;
pub extern fn EVP_DecodeUpdate(ctx: [*c]EVP_ENCODE_CTX, out: [*c]u8, out_len: [*c]c_int, in: [*c]const u8, in_len: usize) c_int;
pub extern fn EVP_DecodeFinal(ctx: [*c]EVP_ENCODE_CTX, out: [*c]u8, out_len: [*c]c_int) c_int;
pub extern fn EVP_DecodeBlock(dst: [*c]u8, src: [*c]const u8, src_len: usize) c_int;
-pub extern fn EVP_rc4() [*c]const EVP_CIPHER;
-pub extern fn EVP_des_cbc() [*c]const EVP_CIPHER;
-pub extern fn EVP_des_ecb() [*c]const EVP_CIPHER;
-pub extern fn EVP_des_ede() [*c]const EVP_CIPHER;
-pub extern fn EVP_des_ede3() [*c]const EVP_CIPHER;
-pub extern fn EVP_des_ede_cbc() [*c]const EVP_CIPHER;
-pub extern fn EVP_des_ede3_cbc() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_128_ecb() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_128_cbc() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_128_ctr() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_128_ofb() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_256_ecb() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_256_cbc() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_256_ctr() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_256_ofb() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_256_xts() [*c]const EVP_CIPHER;
-pub extern fn EVP_enc_null() [*c]const EVP_CIPHER;
-pub extern fn EVP_rc2_cbc() [*c]const EVP_CIPHER;
-pub extern fn EVP_rc2_40_cbc() [*c]const EVP_CIPHER;
-pub extern fn EVP_get_cipherbynid(nid: c_int) [*c]const EVP_CIPHER;
+pub extern fn EVP_rc4() ?*const EVP_CIPHER;
+pub extern fn EVP_des_cbc() ?*const EVP_CIPHER;
+pub extern fn EVP_des_ecb() ?*const EVP_CIPHER;
+pub extern fn EVP_des_ede() ?*const EVP_CIPHER;
+pub extern fn EVP_des_ede3() ?*const EVP_CIPHER;
+pub extern fn EVP_des_ede_cbc() ?*const EVP_CIPHER;
+pub extern fn EVP_des_ede3_cbc() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_128_ecb() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_128_cbc() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_128_ctr() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_128_ofb() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_256_ecb() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_256_cbc() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_256_ctr() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_256_ofb() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_256_xts() ?*const EVP_CIPHER;
+pub extern fn EVP_enc_null() ?*const EVP_CIPHER;
+pub extern fn EVP_rc2_cbc() ?*const EVP_CIPHER;
+pub extern fn EVP_rc2_40_cbc() ?*const EVP_CIPHER;
+pub extern fn EVP_get_cipherbynid(nid: c_int) ?*const EVP_CIPHER;
pub extern fn EVP_CIPHER_CTX_init(ctx: [*c]EVP_CIPHER_CTX) void;
pub extern fn EVP_CIPHER_CTX_new() [*c]EVP_CIPHER_CTX;
pub extern fn EVP_CIPHER_CTX_cleanup(ctx: [*c]EVP_CIPHER_CTX) c_int;
pub extern fn EVP_CIPHER_CTX_free(ctx: [*c]EVP_CIPHER_CTX) void;
pub extern fn EVP_CIPHER_CTX_copy(out: [*c]EVP_CIPHER_CTX, in: [*c]const EVP_CIPHER_CTX) c_int;
pub extern fn EVP_CIPHER_CTX_reset(ctx: [*c]EVP_CIPHER_CTX) c_int;
-pub extern fn EVP_CipherInit_ex(ctx: [*c]EVP_CIPHER_CTX, cipher: [*c]const EVP_CIPHER, engine: ?*ENGINE, key: [*c]const u8, iv: [*c]const u8, enc: c_int) c_int;
-pub extern fn EVP_EncryptInit_ex(ctx: [*c]EVP_CIPHER_CTX, cipher: [*c]const EVP_CIPHER, impl: ?*ENGINE, key: [*c]const u8, iv: [*c]const u8) c_int;
-pub extern fn EVP_DecryptInit_ex(ctx: [*c]EVP_CIPHER_CTX, cipher: [*c]const EVP_CIPHER, impl: ?*ENGINE, key: [*c]const u8, iv: [*c]const u8) c_int;
+pub extern fn EVP_CipherInit_ex(ctx: [*c]EVP_CIPHER_CTX, cipher: ?*const EVP_CIPHER, engine: ?*ENGINE, key: [*c]const u8, iv: [*c]const u8, enc: c_int) c_int;
+pub extern fn EVP_EncryptInit_ex(ctx: [*c]EVP_CIPHER_CTX, cipher: ?*const EVP_CIPHER, impl: ?*ENGINE, key: [*c]const u8, iv: [*c]const u8) c_int;
+pub extern fn EVP_DecryptInit_ex(ctx: [*c]EVP_CIPHER_CTX, cipher: ?*const EVP_CIPHER, impl: ?*ENGINE, key: [*c]const u8, iv: [*c]const u8) c_int;
pub extern fn EVP_EncryptUpdate(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, out_len: [*c]c_int, in: [*c]const u8, in_len: c_int) c_int;
pub extern fn EVP_EncryptFinal_ex(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, out_len: [*c]c_int) c_int;
pub extern fn EVP_DecryptUpdate(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, out_len: [*c]c_int, in: [*c]const u8, in_len: c_int) c_int;
pub extern fn EVP_DecryptFinal_ex(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, out_len: [*c]c_int) c_int;
-pub extern fn EVP_Cipher(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, in: [*c]const u8, in_len: usize) c_int;
pub extern fn EVP_CipherUpdate(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, out_len: [*c]c_int, in: [*c]const u8, in_len: c_int) c_int;
pub extern fn EVP_CipherFinal_ex(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, out_len: [*c]c_int) c_int;
-pub extern fn EVP_CIPHER_CTX_cipher(ctx: [*c]const EVP_CIPHER_CTX) [*c]const EVP_CIPHER;
+pub extern fn EVP_CIPHER_CTX_cipher(ctx: [*c]const EVP_CIPHER_CTX) ?*const EVP_CIPHER;
pub extern fn EVP_CIPHER_CTX_nid(ctx: [*c]const EVP_CIPHER_CTX) c_int;
pub extern fn EVP_CIPHER_CTX_encrypting(ctx: [*c]const EVP_CIPHER_CTX) c_int;
pub extern fn EVP_CIPHER_CTX_block_size(ctx: [*c]const EVP_CIPHER_CTX) c_uint;
@@ -1283,79 +1218,60 @@ pub extern fn EVP_CIPHER_CTX_mode(ctx: [*c]const EVP_CIPHER_CTX) u32;
pub extern fn EVP_CIPHER_CTX_ctrl(ctx: [*c]EVP_CIPHER_CTX, command: c_int, arg: c_int, ptr: ?*anyopaque) c_int;
pub extern fn EVP_CIPHER_CTX_set_padding(ctx: [*c]EVP_CIPHER_CTX, pad: c_int) c_int;
pub extern fn EVP_CIPHER_CTX_set_key_length(ctx: [*c]EVP_CIPHER_CTX, key_len: c_uint) c_int;
-pub extern fn EVP_CIPHER_nid(cipher: [*c]const EVP_CIPHER) c_int;
-pub extern fn EVP_CIPHER_block_size(cipher: [*c]const EVP_CIPHER) c_uint;
-pub extern fn EVP_CIPHER_key_length(cipher: [*c]const EVP_CIPHER) c_uint;
-pub extern fn EVP_CIPHER_iv_length(cipher: [*c]const EVP_CIPHER) c_uint;
-pub extern fn EVP_CIPHER_flags(cipher: [*c]const EVP_CIPHER) u32;
-pub extern fn EVP_CIPHER_mode(cipher: [*c]const EVP_CIPHER) u32;
-pub extern fn EVP_BytesToKey(@"type": [*c]const EVP_CIPHER, md: ?*const EVP_MD, salt: [*c]const u8, data: [*c]const u8, data_len: usize, count: c_uint, key: [*c]u8, iv: [*c]u8) c_int;
-pub extern fn EVP_CipherInit(ctx: [*c]EVP_CIPHER_CTX, cipher: [*c]const EVP_CIPHER, key: [*c]const u8, iv: [*c]const u8, enc: c_int) c_int;
-pub extern fn EVP_EncryptInit(ctx: [*c]EVP_CIPHER_CTX, cipher: [*c]const EVP_CIPHER, key: [*c]const u8, iv: [*c]const u8) c_int;
-pub extern fn EVP_DecryptInit(ctx: [*c]EVP_CIPHER_CTX, cipher: [*c]const EVP_CIPHER, key: [*c]const u8, iv: [*c]const u8) c_int;
+pub extern fn EVP_CIPHER_nid(cipher: ?*const EVP_CIPHER) c_int;
+pub extern fn EVP_CIPHER_block_size(cipher: ?*const EVP_CIPHER) c_uint;
+pub extern fn EVP_CIPHER_key_length(cipher: ?*const EVP_CIPHER) c_uint;
+pub extern fn EVP_CIPHER_iv_length(cipher: ?*const EVP_CIPHER) c_uint;
+pub extern fn EVP_CIPHER_flags(cipher: ?*const EVP_CIPHER) u32;
+pub extern fn EVP_CIPHER_mode(cipher: ?*const EVP_CIPHER) u32;
+pub extern fn EVP_BytesToKey(@"type": ?*const EVP_CIPHER, md: ?*const EVP_MD, salt: [*c]const u8, data: [*c]const u8, data_len: usize, count: c_uint, key: [*c]u8, iv: [*c]u8) c_int;
+pub extern fn EVP_CipherInit(ctx: [*c]EVP_CIPHER_CTX, cipher: ?*const EVP_CIPHER, key: [*c]const u8, iv: [*c]const u8, enc: c_int) c_int;
+pub extern fn EVP_EncryptInit(ctx: [*c]EVP_CIPHER_CTX, cipher: ?*const EVP_CIPHER, key: [*c]const u8, iv: [*c]const u8) c_int;
+pub extern fn EVP_DecryptInit(ctx: [*c]EVP_CIPHER_CTX, cipher: ?*const EVP_CIPHER, key: [*c]const u8, iv: [*c]const u8) c_int;
pub extern fn EVP_CipherFinal(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, out_len: [*c]c_int) c_int;
pub extern fn EVP_EncryptFinal(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, out_len: [*c]c_int) c_int;
pub extern fn EVP_DecryptFinal(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, out_len: [*c]c_int) c_int;
+pub extern fn EVP_Cipher(ctx: [*c]EVP_CIPHER_CTX, out: [*c]u8, in: [*c]const u8, in_len: usize) c_int;
pub extern fn EVP_add_cipher_alias(a: [*c]const u8, b: [*c]const u8) c_int;
-pub extern fn EVP_get_cipherbyname(name: [*c]const u8) [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_128_gcm() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_256_gcm() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_192_ecb() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_192_cbc() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_192_ctr() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_192_gcm() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_192_ofb() [*c]const EVP_CIPHER;
-pub extern fn EVP_des_ede3_ecb() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_128_cfb128() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_128_cfb() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_192_cfb128() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_192_cfb() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_256_cfb128() [*c]const EVP_CIPHER;
-pub extern fn EVP_aes_256_cfb() [*c]const EVP_CIPHER;
-pub extern fn EVP_bf_ecb() [*c]const EVP_CIPHER;
-pub extern fn EVP_bf_cbc() [*c]const EVP_CIPHER;
-pub extern fn EVP_bf_cfb() [*c]const EVP_CIPHER;
-pub extern fn EVP_cast5_ecb() [*c]const EVP_CIPHER;
-pub extern fn EVP_cast5_cbc() [*c]const EVP_CIPHER;
+pub extern fn EVP_get_cipherbyname(name: [*c]const u8) ?*const EVP_CIPHER;
+pub extern fn EVP_aes_128_gcm() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_256_gcm() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_192_ecb() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_192_cbc() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_192_ctr() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_192_gcm() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_192_ofb() ?*const EVP_CIPHER;
+pub extern fn EVP_des_ede3_ecb() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_128_cfb128() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_256_cfb128() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_128_cfb() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_192_cfb128() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_192_cfb() ?*const EVP_CIPHER;
+pub extern fn EVP_aes_256_cfb() ?*const EVP_CIPHER;
+pub extern fn EVP_bf_ecb() ?*const EVP_CIPHER;
+pub extern fn EVP_bf_cbc() ?*const EVP_CIPHER;
+pub extern fn EVP_bf_cfb() ?*const EVP_CIPHER;
+pub extern fn EVP_cast5_ecb() ?*const EVP_CIPHER;
+pub extern fn EVP_cast5_cbc() ?*const EVP_CIPHER;
pub extern fn EVP_CIPHER_CTX_set_flags(ctx: [*c]const EVP_CIPHER_CTX, flags: u32) void;
-pub extern fn EVP_md4() *const EVP_MD;
-pub extern fn EVP_md5() *const EVP_MD;
-pub extern fn EVP_sha1() *const EVP_MD;
-pub extern fn EVP_sha224() *const EVP_MD;
-pub extern fn EVP_sha256() *const EVP_MD;
-pub extern fn EVP_sha384() *const EVP_MD;
-pub extern fn EVP_sha512() *const EVP_MD;
-pub extern fn EVP_sha512_256() *const EVP_MD;
-pub extern fn EVP_blake2b256() *const EVP_MD;
-pub extern fn EVP_md5_sha1() *const EVP_MD;
+pub extern fn EVP_md5_sha1() ?*const EVP_MD;
+pub extern fn EVP_ripemd160() ?*const EVP_MD;
pub extern fn EVP_get_digestbynid(nid: c_int) ?*const EVP_MD;
pub extern fn EVP_get_digestbyobj(obj: ?*const ASN1_OBJECT) ?*const EVP_MD;
-pub extern fn EVP_MD_CTX_init(ctx: *EVP_MD_CTX) void;
-pub extern fn EVP_MD_CTX_new() *EVP_MD_CTX;
-pub extern fn EVP_MD_CTX_cleanup(ctx: *EVP_MD_CTX) c_int;
-pub extern fn EVP_MD_CTX_free(ctx: *EVP_MD_CTX) void;
+pub extern fn EVP_MD_CTX_init(ctx: [*c]EVP_MD_CTX) void;
+pub extern fn EVP_MD_CTX_new() [*c]EVP_MD_CTX;
+pub extern fn EVP_MD_CTX_cleanup(ctx: [*c]EVP_MD_CTX) c_int;
+pub extern fn EVP_MD_CTX_cleanse(ctx: [*c]EVP_MD_CTX) void;
+pub extern fn EVP_MD_CTX_free(ctx: [*c]EVP_MD_CTX) void;
pub extern fn EVP_MD_CTX_copy_ex(out: [*c]EVP_MD_CTX, in: [*c]const EVP_MD_CTX) c_int;
pub extern fn EVP_MD_CTX_move(out: [*c]EVP_MD_CTX, in: [*c]EVP_MD_CTX) void;
-pub extern fn EVP_MD_CTX_reset(ctx: *EVP_MD_CTX) c_int;
-pub extern fn EVP_DigestInit_ex(ctx: *EVP_MD_CTX, @"type": ?*const EVP_MD, engine: ?*ENGINE) c_int;
-pub extern fn EVP_DigestInit(ctx: *EVP_MD_CTX, @"type": ?*const EVP_MD) c_int;
-/// EVP_DigestUpdate hashes |len| bytes from |data| into the hashing operation
-/// in |ctx|. It returns one.
-pub extern fn EVP_DigestUpdate(ctx: *EVP_MD_CTX, data: ?[*]const u8, len: usize) c_int;
-/// EVP_DigestFinal_ex finishes the digest in |ctx| and writes the output to
-/// |md_out|. |EVP_MD_CTX_size| bytes are written, which is at most
-/// |EVP_MAX_MD_SIZE|. If |out_size| is not NULL then |*out_size| is set to the
-/// number of bytes written. It returns one. After this call, the hash cannot be
-/// updated or finished again until |EVP_DigestInit_ex| is called to start
-/// another hashing operation.
-pub extern fn EVP_DigestFinal_ex(ctx: *EVP_MD_CTX, md_out: [*]u8, out_size: ?*u32) c_int;
-pub extern fn EVP_DigestFinal(ctx: *EVP_MD_CTX, md_out: [*]u8, out_size: ?*u32) c_int;
-/// EVP_Digest performs a complete hashing operation in one call. It hashes |len|
-/// bytes from |data| and writes the digest to |md_out|. |EVP_MD_CTX_size| bytes
-/// are written, which is at most |EVP_MAX_MD_SIZE|. If |out_size| is not NULL
-/// then |*out_size| is set to the number of bytes written. It returns one on
-/// success and zero otherwise.
-pub extern fn EVP_Digest(data: ?[*]const u8, len: usize, md_out: [*c]u8, md_out_size: [*c]c_uint, @"type": ?*const EVP_MD, impl: ?*ENGINE) c_int;
+pub extern fn EVP_MD_CTX_reset(ctx: [*c]EVP_MD_CTX) c_int;
+pub extern fn EVP_DigestInit_ex(ctx: [*c]EVP_MD_CTX, @"type": ?*const EVP_MD, engine: ?*ENGINE) c_int;
+pub extern fn EVP_DigestInit(ctx: [*c]EVP_MD_CTX, @"type": ?*const EVP_MD) c_int;
+pub extern fn EVP_DigestUpdate(ctx: [*c]EVP_MD_CTX, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn EVP_DigestFinal_ex(ctx: [*c]EVP_MD_CTX, md_out: [*c]u8, out_size: [*c]c_uint) c_int;
+pub extern fn EVP_DigestFinal(ctx: [*c]EVP_MD_CTX, md_out: [*c]u8, out_size: [*c]c_uint) c_int;
+pub extern fn EVP_Digest(data: ?*const anyopaque, len: usize, md_out: [*c]u8, md_out_size: [*c]c_uint, @"type": ?*const EVP_MD, impl: ?*ENGINE) c_int;
pub extern fn EVP_MD_type(md: ?*const EVP_MD) c_int;
pub extern fn EVP_MD_flags(md: ?*const EVP_MD) u32;
pub extern fn EVP_MD_size(md: ?*const EVP_MD) usize;
@@ -1365,16 +1281,16 @@ pub extern fn EVP_MD_CTX_size(ctx: [*c]const EVP_MD_CTX) usize;
pub extern fn EVP_MD_CTX_block_size(ctx: [*c]const EVP_MD_CTX) usize;
pub extern fn EVP_MD_CTX_type(ctx: [*c]const EVP_MD_CTX) c_int;
pub extern fn EVP_parse_digest_algorithm(cbs: [*c]CBS) ?*const EVP_MD;
-pub extern fn EVP_marshal_digest_algorithm(cbb: [*c]CBB, md: ?*const EVP_MD) c_int;
+pub extern fn EVP_marshal_digest_algorithm(cbb: ?*CBB, md: ?*const EVP_MD) c_int;
pub extern fn EVP_MD_CTX_copy(out: [*c]EVP_MD_CTX, in: [*c]const EVP_MD_CTX) c_int;
pub extern fn EVP_add_digest(digest: ?*const EVP_MD) c_int;
pub extern fn EVP_get_digestbyname([*c]const u8) ?*const EVP_MD;
pub extern fn EVP_dss1() ?*const EVP_MD;
-pub extern fn EVP_MD_CTX_create() ?*EVP_MD_CTX;
-pub extern fn EVP_MD_CTX_destroy(ctx: *EVP_MD_CTX) void;
-pub extern fn EVP_DigestFinalXOF(ctx: *EVP_MD_CTX, out: [*c]u8, len: usize) c_int;
+pub extern fn EVP_MD_CTX_create() [*c]EVP_MD_CTX;
+pub extern fn EVP_MD_CTX_destroy(ctx: [*c]EVP_MD_CTX) void;
+pub extern fn EVP_DigestFinalXOF(ctx: [*c]EVP_MD_CTX, out: [*c]u8, len: usize) c_int;
pub extern fn EVP_MD_meth_get_flags(md: ?*const EVP_MD) u32;
-pub extern fn EVP_MD_CTX_set_flags(ctx: *EVP_MD_CTX, flags: c_int) void;
+pub extern fn EVP_MD_CTX_set_flags(ctx: [*c]EVP_MD_CTX, flags: c_int) void;
pub extern fn EVP_MD_nid(md: ?*const EVP_MD) c_int;
pub extern fn EVP_aead_aes_128_gcm() ?*const EVP_AEAD;
pub extern fn EVP_aead_aes_192_gcm() ?*const EVP_AEAD;
@@ -1389,21 +1305,12 @@ pub extern fn EVP_aead_aes_128_gcm_randnonce() ?*const EVP_AEAD;
pub extern fn EVP_aead_aes_256_gcm_randnonce() ?*const EVP_AEAD;
pub extern fn EVP_aead_aes_128_ccm_bluetooth() ?*const EVP_AEAD;
pub extern fn EVP_aead_aes_128_ccm_bluetooth_8() ?*const EVP_AEAD;
+pub extern fn EVP_aead_aes_128_ccm_matter() ?*const EVP_AEAD;
pub extern fn EVP_has_aes_hardware() c_int;
pub extern fn EVP_AEAD_key_length(aead: ?*const EVP_AEAD) usize;
pub extern fn EVP_AEAD_nonce_length(aead: ?*const EVP_AEAD) usize;
pub extern fn EVP_AEAD_max_overhead(aead: ?*const EVP_AEAD) usize;
pub extern fn EVP_AEAD_max_tag_len(aead: ?*const EVP_AEAD) usize;
-pub const union_evp_aead_ctx_st_state = extern union {
- @"opaque": [580]u8,
- alignment: u64,
-};
-pub const struct_evp_aead_ctx_st = extern struct {
- aead: ?*const EVP_AEAD,
- state: union_evp_aead_ctx_st_state,
- tag_len: u8,
-};
-pub const EVP_AEAD_CTX = struct_evp_aead_ctx_st;
pub extern fn EVP_AEAD_CTX_zero(ctx: [*c]EVP_AEAD_CTX) void;
pub extern fn EVP_AEAD_CTX_new(aead: ?*const EVP_AEAD, key: [*c]const u8, key_len: usize, tag_len: usize) [*c]EVP_AEAD_CTX;
pub extern fn EVP_AEAD_CTX_free(ctx: [*c]EVP_AEAD_CTX) void;
@@ -1458,62 +1365,35 @@ pub extern fn EVP_PKEY_assign(pkey: [*c]EVP_PKEY, @"type": c_int, key: ?*anyopaq
pub extern fn EVP_PKEY_set_type(pkey: [*c]EVP_PKEY, @"type": c_int) c_int;
pub extern fn EVP_PKEY_cmp_parameters(a: [*c]const EVP_PKEY, b: [*c]const EVP_PKEY) c_int;
pub extern fn EVP_parse_public_key(cbs: [*c]CBS) [*c]EVP_PKEY;
-pub extern fn EVP_marshal_public_key(cbb: [*c]CBB, key: [*c]const EVP_PKEY) c_int;
+pub extern fn EVP_marshal_public_key(cbb: ?*CBB, key: [*c]const EVP_PKEY) c_int;
pub extern fn EVP_parse_private_key(cbs: [*c]CBS) [*c]EVP_PKEY;
-pub extern fn EVP_marshal_private_key(cbb: [*c]CBB, key: [*c]const EVP_PKEY) c_int;
+pub extern fn EVP_marshal_private_key(cbb: ?*CBB, key: [*c]const EVP_PKEY) c_int;
pub extern fn EVP_PKEY_new_raw_private_key(@"type": c_int, unused: ?*ENGINE, in: [*c]const u8, len: usize) [*c]EVP_PKEY;
pub extern fn EVP_PKEY_new_raw_public_key(@"type": c_int, unused: ?*ENGINE, in: [*c]const u8, len: usize) [*c]EVP_PKEY;
pub extern fn EVP_PKEY_get_raw_private_key(pkey: [*c]const EVP_PKEY, out: [*c]u8, out_len: [*c]usize) c_int;
pub extern fn EVP_PKEY_get_raw_public_key(pkey: [*c]const EVP_PKEY, out: [*c]u8, out_len: [*c]usize) c_int;
-pub extern fn EVP_DigestSignInit(ctx: *EVP_MD_CTX, pctx: [*c]?*EVP_PKEY_CTX, @"type": ?*const EVP_MD, e: ?*ENGINE, pkey: [*c]EVP_PKEY) c_int;
-pub extern fn EVP_DigestSignUpdate(ctx: *EVP_MD_CTX, data: ?[*]const u8, len: usize) c_int;
-pub extern fn EVP_DigestSignFinal(ctx: *EVP_MD_CTX, out_sig: [*c]u8, out_sig_len: [*c]usize) c_int;
-pub extern fn EVP_DigestSign(ctx: *EVP_MD_CTX, out_sig: [*c]u8, out_sig_len: [*c]usize, data: [*c]const u8, data_len: usize) c_int;
-pub extern fn EVP_DigestVerifyInit(ctx: *EVP_MD_CTX, pctx: [*c]?*EVP_PKEY_CTX, @"type": ?*const EVP_MD, e: ?*ENGINE, pkey: [*c]EVP_PKEY) c_int;
-pub extern fn EVP_DigestVerifyUpdate(ctx: *EVP_MD_CTX, data: ?[*]const u8, len: usize) c_int;
-pub extern fn EVP_DigestVerifyFinal(ctx: *EVP_MD_CTX, sig: [*c]const u8, sig_len: usize) c_int;
-pub extern fn EVP_DigestVerify(ctx: *EVP_MD_CTX, sig: [*c]const u8, sig_len: usize, data: [*c]const u8, len: usize) c_int;
-pub extern fn EVP_SignInit_ex(ctx: *EVP_MD_CTX, @"type": ?*const EVP_MD, impl: ?*ENGINE) c_int;
-pub extern fn EVP_SignInit(ctx: *EVP_MD_CTX, @"type": ?*const EVP_MD) c_int;
-pub extern fn EVP_SignUpdate(ctx: *EVP_MD_CTX, data: ?[*]const u8, len: usize) c_int;
+pub extern fn EVP_DigestSignInit(ctx: [*c]EVP_MD_CTX, pctx: [*c]?*EVP_PKEY_CTX, @"type": ?*const EVP_MD, e: ?*ENGINE, pkey: [*c]EVP_PKEY) c_int;
+pub extern fn EVP_DigestSignUpdate(ctx: [*c]EVP_MD_CTX, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn EVP_DigestSignFinal(ctx: [*c]EVP_MD_CTX, out_sig: [*c]u8, out_sig_len: [*c]usize) c_int;
+pub extern fn EVP_DigestSign(ctx: [*c]EVP_MD_CTX, out_sig: [*c]u8, out_sig_len: [*c]usize, data: [*c]const u8, data_len: usize) c_int;
+pub extern fn EVP_DigestVerifyInit(ctx: [*c]EVP_MD_CTX, pctx: [*c]?*EVP_PKEY_CTX, @"type": ?*const EVP_MD, e: ?*ENGINE, pkey: [*c]EVP_PKEY) c_int;
+pub extern fn EVP_DigestVerifyUpdate(ctx: [*c]EVP_MD_CTX, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn EVP_DigestVerifyFinal(ctx: [*c]EVP_MD_CTX, sig: [*c]const u8, sig_len: usize) c_int;
+pub extern fn EVP_DigestVerify(ctx: [*c]EVP_MD_CTX, sig: [*c]const u8, sig_len: usize, data: [*c]const u8, len: usize) c_int;
+pub extern fn EVP_SignInit_ex(ctx: [*c]EVP_MD_CTX, @"type": ?*const EVP_MD, impl: ?*ENGINE) c_int;
+pub extern fn EVP_SignInit(ctx: [*c]EVP_MD_CTX, @"type": ?*const EVP_MD) c_int;
+pub extern fn EVP_SignUpdate(ctx: [*c]EVP_MD_CTX, data: ?*const anyopaque, len: usize) c_int;
pub extern fn EVP_SignFinal(ctx: [*c]const EVP_MD_CTX, sig: [*c]u8, out_sig_len: [*c]c_uint, pkey: [*c]EVP_PKEY) c_int;
-pub extern fn EVP_VerifyInit_ex(ctx: *EVP_MD_CTX, @"type": ?*const EVP_MD, impl: ?*ENGINE) c_int;
-pub extern fn EVP_VerifyInit(ctx: *EVP_MD_CTX, @"type": ?*const EVP_MD) c_int;
-pub extern fn EVP_VerifyUpdate(ctx: *EVP_MD_CTX, data: ?[*]const u8, len: usize) c_int;
-pub extern fn EVP_VerifyFinal(ctx: *EVP_MD_CTX, sig: [*c]const u8, sig_len: usize, pkey: [*c]EVP_PKEY) c_int;
+pub extern fn EVP_VerifyInit_ex(ctx: [*c]EVP_MD_CTX, @"type": ?*const EVP_MD, impl: ?*ENGINE) c_int;
+pub extern fn EVP_VerifyInit(ctx: [*c]EVP_MD_CTX, @"type": ?*const EVP_MD) c_int;
+pub extern fn EVP_VerifyUpdate(ctx: [*c]EVP_MD_CTX, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn EVP_VerifyFinal(ctx: [*c]EVP_MD_CTX, sig: [*c]const u8, sig_len: usize, pkey: [*c]EVP_PKEY) c_int;
pub extern fn EVP_PKEY_print_public(out: [*c]BIO, pkey: [*c]const EVP_PKEY, indent: c_int, pctx: ?*ASN1_PCTX) c_int;
pub extern fn EVP_PKEY_print_private(out: [*c]BIO, pkey: [*c]const EVP_PKEY, indent: c_int, pctx: ?*ASN1_PCTX) c_int;
pub extern fn EVP_PKEY_print_params(out: [*c]BIO, pkey: [*c]const EVP_PKEY, indent: c_int, pctx: ?*ASN1_PCTX) c_int;
pub extern fn PKCS5_PBKDF2_HMAC(password: [*c]const u8, password_len: usize, salt: [*c]const u8, salt_len: usize, iterations: c_uint, digest: ?*const EVP_MD, key_len: usize, out_key: [*c]u8) c_int;
pub extern fn PKCS5_PBKDF2_HMAC_SHA1(password: [*c]const u8, password_len: usize, salt: [*c]const u8, salt_len: usize, iterations: c_uint, key_len: usize, out_key: [*c]u8) c_int;
-/// EVP_PBE_scrypt expands |password| into a secret key of length |key_len| using
-/// scrypt, as described in RFC 7914, and writes the result to |out_key|. It
-/// returns one on success and zero on allocation failure, if the memory required
-/// for the operation exceeds |max_mem|, or if any of the parameters are invalid
-/// as described below.
-///
-/// |N|, |r|, and |p| are as described in RFC 7914 section 6. They determine the
-/// cost of the operation. If |max_mem| is zero, a defult limit of 32MiB will be
-/// used.
-///
-/// The parameters are considered invalid under any of the following conditions:
-/// - |r| or |p| are zero
-/// - |p| > (2^30 - 1) / |r|
-/// - |N| is not a power of two
-/// - |N| > 2^32
-/// - |N| > 2^(128 * |r| / 8)
-pub extern fn EVP_PBE_scrypt(
- password: [*c]const u8,
- password_len: usize,
- salt: [*c]const u8,
- salt_len: usize,
- N: u64,
- r: u64,
- p: u64,
- max_mem: usize,
- out_key: [*c]u8,
- key_len: usize,
-) c_int;
+pub extern fn EVP_PBE_scrypt(password: [*c]const u8, password_len: usize, salt: [*c]const u8, salt_len: usize, N: u64, r: u64, p: u64, max_mem: usize, out_key: [*c]u8, key_len: usize) c_int;
pub extern fn EVP_PKEY_CTX_new(pkey: [*c]EVP_PKEY, e: ?*ENGINE) ?*EVP_PKEY_CTX;
pub extern fn EVP_PKEY_CTX_new_id(id: c_int, e: ?*ENGINE) ?*EVP_PKEY_CTX;
pub extern fn EVP_PKEY_CTX_free(ctx: ?*EVP_PKEY_CTX) void;
@@ -1557,7 +1437,7 @@ pub extern fn OPENSSL_add_all_algorithms_conf() void;
pub extern fn OpenSSL_add_all_ciphers() void;
pub extern fn OpenSSL_add_all_digests() void;
pub extern fn EVP_cleanup() void;
-pub extern fn EVP_CIPHER_do_all_sorted(callback: ?*const fn ([*c]const EVP_CIPHER, [*c]const u8, [*c]const u8, ?*anyopaque) callconv(.C) void, arg: ?*anyopaque) void;
+pub extern fn EVP_CIPHER_do_all_sorted(callback: ?*const fn (?*const EVP_CIPHER, [*c]const u8, [*c]const u8, ?*anyopaque) callconv(.C) void, arg: ?*anyopaque) void;
pub extern fn EVP_MD_do_all_sorted(callback: ?*const fn (?*const EVP_MD, [*c]const u8, [*c]const u8, ?*anyopaque) callconv(.C) void, arg: ?*anyopaque) void;
pub extern fn EVP_MD_do_all(callback: ?*const fn (?*const EVP_MD, [*c]const u8, [*c]const u8, ?*anyopaque) callconv(.C) void, arg: ?*anyopaque) void;
pub extern fn i2d_PrivateKey(key: [*c]const EVP_PKEY, outp: [*c][*c]u8) c_int;
@@ -1565,8 +1445,8 @@ pub extern fn i2d_PublicKey(key: [*c]const EVP_PKEY, outp: [*c][*c]u8) c_int;
pub extern fn d2i_PrivateKey(@"type": c_int, out: [*c][*c]EVP_PKEY, inp: [*c][*c]const u8, len: c_long) [*c]EVP_PKEY;
pub extern fn d2i_AutoPrivateKey(out: [*c][*c]EVP_PKEY, inp: [*c][*c]const u8, len: c_long) [*c]EVP_PKEY;
pub extern fn d2i_PublicKey(@"type": c_int, out: [*c][*c]EVP_PKEY, inp: [*c][*c]const u8, len: c_long) [*c]EVP_PKEY;
-pub extern fn EVP_PKEY_get0_DH(pkey: [*c]const EVP_PKEY) [*c]DH;
-pub extern fn EVP_PKEY_get1_DH(pkey: [*c]const EVP_PKEY) [*c]DH;
+pub extern fn EVP_PKEY_get0_DH(pkey: [*c]const EVP_PKEY) ?*DH;
+pub extern fn EVP_PKEY_get1_DH(pkey: [*c]const EVP_PKEY) ?*DH;
pub extern fn EVP_PKEY_CTX_set_ec_param_enc(ctx: ?*EVP_PKEY_CTX, encoding: c_int) c_int;
pub extern fn EVP_PKEY_set1_tls_encodedpoint(pkey: [*c]EVP_PKEY, in: [*c]const u8, len: usize) c_int;
pub extern fn EVP_PKEY_get1_tls_encodedpoint(pkey: [*c]const EVP_PKEY, out_ptr: [*c][*c]u8) usize;
@@ -1582,15 +1462,17 @@ pub extern fn i2d_DSA_PUBKEY(dsa: [*c]const DSA, outp: [*c][*c]u8) c_int;
pub extern fn d2i_DSA_PUBKEY(out: [*c][*c]DSA, inp: [*c][*c]const u8, len: c_long) [*c]DSA;
pub extern fn i2d_EC_PUBKEY(ec_key: ?*const EC_KEY, outp: [*c][*c]u8) c_int;
pub extern fn d2i_EC_PUBKEY(out: [*c]?*EC_KEY, inp: [*c][*c]const u8, len: c_long) ?*EC_KEY;
+pub extern fn EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx: ?*EVP_PKEY_CTX, nbits: c_int) c_int;
+pub extern fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx: ?*EVP_PKEY_CTX, qbits: c_int) c_int;
pub const struct_stack_st_CRYPTO_BUFFER = opaque {};
pub const struct_stack_st_X509 = opaque {};
pub const struct_stack_st_X509_CRL = opaque {};
pub extern fn PKCS7_get_raw_certificates(out_certs: ?*struct_stack_st_CRYPTO_BUFFER, cbs: [*c]CBS, pool: ?*CRYPTO_BUFFER_POOL) c_int;
pub extern fn PKCS7_get_certificates(out_certs: ?*struct_stack_st_X509, cbs: [*c]CBS) c_int;
-pub extern fn PKCS7_bundle_raw_certificates(out: [*c]CBB, certs: ?*const struct_stack_st_CRYPTO_BUFFER) c_int;
-pub extern fn PKCS7_bundle_certificates(out: [*c]CBB, certs: ?*const struct_stack_st_X509) c_int;
+pub extern fn PKCS7_bundle_raw_certificates(out: ?*CBB, certs: ?*const struct_stack_st_CRYPTO_BUFFER) c_int;
+pub extern fn PKCS7_bundle_certificates(out: ?*CBB, certs: ?*const struct_stack_st_X509) c_int;
pub extern fn PKCS7_get_CRLs(out_crls: ?*struct_stack_st_X509_CRL, cbs: [*c]CBS) c_int;
-pub extern fn PKCS7_bundle_CRLs(out: [*c]CBB, crls: ?*const struct_stack_st_X509_CRL) c_int;
+pub extern fn PKCS7_bundle_CRLs(out: ?*CBB, crls: ?*const struct_stack_st_X509_CRL) c_int;
pub extern fn PKCS7_get_PEM_certificates(out_certs: ?*struct_stack_st_X509, pem_bio: [*c]BIO) c_int;
pub extern fn PKCS7_get_PEM_CRLs(out_crls: ?*struct_stack_st_X509_CRL, pem_bio: [*c]BIO) c_int;
pub const PKCS7_SIGNED = extern struct {
@@ -1605,7 +1487,7 @@ pub const PKCS7_ENVELOPE = anyopaque;
pub const PKCS7_DIGEST = anyopaque;
pub const PKCS7_ENCRYPT = anyopaque;
pub const PKCS7_SIGNER_INFO = anyopaque;
-const union_unnamed_6 = extern union {
+const union_unnamed_7 = extern union {
ptr: [*c]u8,
data: [*c]ASN1_OCTET_STRING,
sign: [*c]PKCS7_SIGNED,
@@ -1619,7 +1501,7 @@ pub const PKCS7 = extern struct {
ber_bytes: [*c]u8,
ber_len: usize,
type: ?*ASN1_OBJECT,
- d: union_unnamed_6,
+ d: union_unnamed_7,
};
pub extern fn d2i_PKCS7(out: [*c][*c]PKCS7, inp: [*c][*c]const u8, len: usize) [*c]PKCS7;
pub extern fn d2i_PKCS7_bio(bio: [*c]BIO, out: [*c][*c]PKCS7) [*c]PKCS7;
@@ -1645,7 +1527,7 @@ pub extern fn BN_num_bits(bn: [*c]const BIGNUM) c_uint;
pub extern fn BN_num_bytes(bn: [*c]const BIGNUM) c_uint;
pub extern fn BN_zero(bn: [*c]BIGNUM) void;
pub extern fn BN_one(bn: [*c]BIGNUM) c_int;
-pub extern fn BN_set_word(bn: [*c]BIGNUM, value: u64) c_int;
+pub extern fn BN_set_word(bn: [*c]BIGNUM, value: BN_ULONG) c_int;
pub extern fn BN_set_u64(bn: [*c]BIGNUM, value: u64) c_int;
pub extern fn BN_set_negative(bn: [*c]BIGNUM, sign: c_int) void;
pub extern fn BN_is_negative(bn: [*c]const BIGNUM) c_int;
@@ -1654,18 +1536,17 @@ pub extern fn BN_bn2bin(in: [*c]const BIGNUM, out: [*c]u8) usize;
pub extern fn BN_le2bn(in: [*c]const u8, len: usize, ret: [*c]BIGNUM) [*c]BIGNUM;
pub extern fn BN_bn2le_padded(out: [*c]u8, len: usize, in: [*c]const BIGNUM) c_int;
pub extern fn BN_bn2bin_padded(out: [*c]u8, len: usize, in: [*c]const BIGNUM) c_int;
-pub extern fn BN_bn2cbb_padded(out: [*c]CBB, len: usize, in: [*c]const BIGNUM) c_int;
+pub extern fn BN_bn2cbb_padded(out: ?*CBB, len: usize, in: [*c]const BIGNUM) c_int;
pub extern fn BN_bn2hex(bn: [*c]const BIGNUM) [*c]u8;
pub extern fn BN_hex2bn(outp: [*c][*c]BIGNUM, in: [*c]const u8) c_int;
pub extern fn BN_bn2dec(a: [*c]const BIGNUM) [*c]u8;
pub extern fn BN_dec2bn(outp: [*c][*c]BIGNUM, in: [*c]const u8) c_int;
pub extern fn BN_asc2bn(outp: [*c][*c]BIGNUM, in: [*c]const u8) c_int;
pub extern fn BN_print(bio: [*c]BIO, a: [*c]const BIGNUM) c_int;
-pub extern fn BN_print_fp(fp: [*c]FILE, a: [*c]const BIGNUM) c_int;
-pub extern fn BN_get_word(bn: [*c]const BIGNUM) u64;
+pub extern fn BN_get_word(bn: [*c]const BIGNUM) BN_ULONG;
pub extern fn BN_get_u64(bn: [*c]const BIGNUM, out: [*c]u64) c_int;
pub extern fn BN_parse_asn1_unsigned(cbs: [*c]CBS, ret: [*c]BIGNUM) c_int;
-pub extern fn BN_marshal_asn1(cbb: [*c]CBB, bn: [*c]const BIGNUM) c_int;
+pub extern fn BN_marshal_asn1(cbb: ?*CBB, bn: [*c]const BIGNUM) c_int;
pub extern fn BN_CTX_new() ?*BN_CTX;
pub extern fn BN_CTX_free(ctx: ?*BN_CTX) void;
pub extern fn BN_CTX_start(ctx: ?*BN_CTX) void;
@@ -1673,24 +1554,24 @@ pub extern fn BN_CTX_get(ctx: ?*BN_CTX) [*c]BIGNUM;
pub extern fn BN_CTX_end(ctx: ?*BN_CTX) void;
pub extern fn BN_add(r: [*c]BIGNUM, a: [*c]const BIGNUM, b: [*c]const BIGNUM) c_int;
pub extern fn BN_uadd(r: [*c]BIGNUM, a: [*c]const BIGNUM, b: [*c]const BIGNUM) c_int;
-pub extern fn BN_add_word(a: [*c]BIGNUM, w: u64) c_int;
+pub extern fn BN_add_word(a: [*c]BIGNUM, w: BN_ULONG) c_int;
pub extern fn BN_sub(r: [*c]BIGNUM, a: [*c]const BIGNUM, b: [*c]const BIGNUM) c_int;
pub extern fn BN_usub(r: [*c]BIGNUM, a: [*c]const BIGNUM, b: [*c]const BIGNUM) c_int;
-pub extern fn BN_sub_word(a: [*c]BIGNUM, w: u64) c_int;
+pub extern fn BN_sub_word(a: [*c]BIGNUM, w: BN_ULONG) c_int;
pub extern fn BN_mul(r: [*c]BIGNUM, a: [*c]const BIGNUM, b: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_mul_word(bn: [*c]BIGNUM, w: u64) c_int;
+pub extern fn BN_mul_word(bn: [*c]BIGNUM, w: BN_ULONG) c_int;
pub extern fn BN_sqr(r: [*c]BIGNUM, a: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
pub extern fn BN_div(quotient: [*c]BIGNUM, rem: [*c]BIGNUM, numerator: [*c]const BIGNUM, divisor: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_div_word(numerator: [*c]BIGNUM, divisor: u64) u64;
+pub extern fn BN_div_word(numerator: [*c]BIGNUM, divisor: BN_ULONG) BN_ULONG;
pub extern fn BN_sqrt(out_sqrt: [*c]BIGNUM, in: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
pub extern fn BN_cmp(a: [*c]const BIGNUM, b: [*c]const BIGNUM) c_int;
-pub extern fn BN_cmp_word(a: [*c]const BIGNUM, b: u64) c_int;
+pub extern fn BN_cmp_word(a: [*c]const BIGNUM, b: BN_ULONG) c_int;
pub extern fn BN_ucmp(a: [*c]const BIGNUM, b: [*c]const BIGNUM) c_int;
pub extern fn BN_equal_consttime(a: [*c]const BIGNUM, b: [*c]const BIGNUM) c_int;
-pub extern fn BN_abs_is_word(bn: [*c]const BIGNUM, w: u64) c_int;
+pub extern fn BN_abs_is_word(bn: [*c]const BIGNUM, w: BN_ULONG) c_int;
pub extern fn BN_is_zero(bn: [*c]const BIGNUM) c_int;
pub extern fn BN_is_one(bn: [*c]const BIGNUM) c_int;
-pub extern fn BN_is_word(bn: [*c]const BIGNUM, w: u64) c_int;
+pub extern fn BN_is_word(bn: [*c]const BIGNUM, w: BN_ULONG) c_int;
pub extern fn BN_is_odd(bn: [*c]const BIGNUM) c_int;
pub extern fn BN_is_pow2(a: [*c]const BIGNUM) c_int;
pub extern fn BN_lshift(r: [*c]BIGNUM, a: [*c]const BIGNUM, n: c_int) c_int;
@@ -1702,7 +1583,7 @@ pub extern fn BN_clear_bit(a: [*c]BIGNUM, n: c_int) c_int;
pub extern fn BN_is_bit_set(a: [*c]const BIGNUM, n: c_int) c_int;
pub extern fn BN_mask_bits(a: [*c]BIGNUM, n: c_int) c_int;
pub extern fn BN_count_low_zero_bits(bn: [*c]const BIGNUM) c_int;
-pub extern fn BN_mod_word(a: [*c]const BIGNUM, w: u64) u64;
+pub extern fn BN_mod_word(a: [*c]const BIGNUM, w: BN_ULONG) BN_ULONG;
pub extern fn BN_mod_pow2(r: [*c]BIGNUM, a: [*c]const BIGNUM, e: usize) c_int;
pub extern fn BN_nnmod_pow2(r: [*c]BIGNUM, a: [*c]const BIGNUM, e: usize) c_int;
pub extern fn BN_nnmod(rem: [*c]BIGNUM, numerator: [*c]const BIGNUM, divisor: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
@@ -1720,56 +1601,31 @@ pub extern fn BN_mod_sqrt(in: [*c]BIGNUM, a: [*c]const BIGNUM, p: [*c]const BIGN
pub extern fn BN_rand(rnd: [*c]BIGNUM, bits: c_int, top: c_int, bottom: c_int) c_int;
pub extern fn BN_pseudo_rand(rnd: [*c]BIGNUM, bits: c_int, top: c_int, bottom: c_int) c_int;
pub extern fn BN_rand_range(rnd: [*c]BIGNUM, range: [*c]const BIGNUM) c_int;
-pub extern fn BN_rand_range_ex(r: [*c]BIGNUM, min_inclusive: u64, max_exclusive: [*c]const BIGNUM) c_int;
+pub extern fn BN_rand_range_ex(r: [*c]BIGNUM, min_inclusive: BN_ULONG, max_exclusive: [*c]const BIGNUM) c_int;
pub extern fn BN_pseudo_rand_range(rnd: [*c]BIGNUM, range: [*c]const BIGNUM) c_int;
+pub extern fn BN_GENCB_new() [*c]BN_GENCB;
+pub extern fn BN_GENCB_free(callback: [*c]BN_GENCB) void;
pub extern fn BN_GENCB_set(callback: [*c]BN_GENCB, f: ?*const fn (c_int, c_int, [*c]BN_GENCB) callconv(.C) c_int, arg: ?*anyopaque) void;
pub extern fn BN_GENCB_call(callback: [*c]BN_GENCB, event: c_int, n: c_int) c_int;
+pub extern fn BN_GENCB_get_arg(callback: [*c]const BN_GENCB) ?*anyopaque;
pub extern fn BN_generate_prime_ex(ret: [*c]BIGNUM, bits: c_int, safe: c_int, add: [*c]const BIGNUM, rem: [*c]const BIGNUM, cb: [*c]BN_GENCB) c_int;
pub const bn_probably_prime: c_int = 0;
pub const bn_composite: c_int = 1;
pub const bn_non_prime_power_composite: c_int = 2;
pub const enum_bn_primality_result_t = c_uint;
-pub extern fn BN_enhanced_miller_rabin_primality_test(out_result: [*c]enum_bn_primality_result_t, w: [*c]const BIGNUM, checks: c_int, ctx: ?*BN_CTX, cb: [*c]BN_GENCB) c_int;
-pub extern fn BN_primality_test(is_probably_prime: [*c]c_int, candidate: [*c]const BIGNUM, checks: c_int, ctx: ?*BN_CTX, do_trial_division: c_int, cb: [*c]BN_GENCB) c_int;
-pub extern fn BN_is_prime_fasttest_ex(candidate: [*c]const BIGNUM, checks: c_int, ctx: ?*BN_CTX, do_trial_division: c_int, cb: [*c]BN_GENCB) c_int;
-pub extern fn BN_is_prime_ex(candidate: [*c]const BIGNUM, checks: c_int, ctx: ?*BN_CTX, cb: [*c]BN_GENCB) c_int;
-pub extern fn BN_gcd(r: [*c]BIGNUM, a: [*c]const BIGNUM, b: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_mod_inverse(out: [*c]BIGNUM, a: [*c]const BIGNUM, n: [*c]const BIGNUM, ctx: ?*BN_CTX) [*c]BIGNUM;
-pub extern fn BN_mod_inverse_blinded(out: [*c]BIGNUM, out_no_inverse: [*c]c_int, a: [*c]const BIGNUM, mont: [*c]const BN_MONT_CTX, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_mod_inverse_odd(out: [*c]BIGNUM, out_no_inverse: [*c]c_int, a: [*c]const BIGNUM, n: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_MONT_CTX_new_for_modulus(mod: [*c]const BIGNUM, ctx: ?*BN_CTX) [*c]BN_MONT_CTX;
-pub extern fn BN_MONT_CTX_new_consttime(mod: [*c]const BIGNUM, ctx: ?*BN_CTX) [*c]BN_MONT_CTX;
-pub extern fn BN_MONT_CTX_free(mont: [*c]BN_MONT_CTX) void;
-pub extern fn BN_MONT_CTX_copy(to: [*c]BN_MONT_CTX, from: [*c]const BN_MONT_CTX) [*c]BN_MONT_CTX;
-pub extern fn BN_MONT_CTX_set_locked(pmont: [*c][*c]BN_MONT_CTX, lock: [*c]CRYPTO_MUTEX, mod: [*c]const BIGNUM, bn_ctx: ?*BN_CTX) c_int;
-pub extern fn BN_to_montgomery(ret: [*c]BIGNUM, a: [*c]const BIGNUM, mont: [*c]const BN_MONT_CTX, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_from_montgomery(ret: [*c]BIGNUM, a: [*c]const BIGNUM, mont: [*c]const BN_MONT_CTX, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_mod_mul_montgomery(r: [*c]BIGNUM, a: [*c]const BIGNUM, b: [*c]const BIGNUM, mont: [*c]const BN_MONT_CTX, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_exp(r: [*c]BIGNUM, a: [*c]const BIGNUM, p: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_mod_exp(r: [*c]BIGNUM, a: [*c]const BIGNUM, p: [*c]const BIGNUM, m: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_mod_exp_mont(r: [*c]BIGNUM, a: [*c]const BIGNUM, p: [*c]const BIGNUM, m: [*c]const BIGNUM, ctx: ?*BN_CTX, mont: [*c]const BN_MONT_CTX) c_int;
-pub extern fn BN_mod_exp_mont_consttime(rr: [*c]BIGNUM, a: [*c]const BIGNUM, p: [*c]const BIGNUM, m: [*c]const BIGNUM, ctx: ?*BN_CTX, mont: [*c]const BN_MONT_CTX) c_int;
-pub extern fn BN_bn2mpi(in: [*c]const BIGNUM, out: [*c]u8) usize;
-pub extern fn BN_mpi2bn(in: [*c]const u8, len: usize, out: [*c]BIGNUM) [*c]BIGNUM;
-pub extern fn BN_mod_exp_mont_word(r: [*c]BIGNUM, a: u64, p: [*c]const BIGNUM, m: [*c]const BIGNUM, ctx: ?*BN_CTX, mont: [*c]const BN_MONT_CTX) c_int;
-pub extern fn BN_mod_exp2_mont(r: [*c]BIGNUM, a1: [*c]const BIGNUM, p1: [*c]const BIGNUM, a2: [*c]const BIGNUM, p2: [*c]const BIGNUM, m: [*c]const BIGNUM, ctx: ?*BN_CTX, mont: [*c]const BN_MONT_CTX) c_int;
-pub extern fn BN_MONT_CTX_new() [*c]BN_MONT_CTX;
-pub extern fn BN_MONT_CTX_set(mont: [*c]BN_MONT_CTX, mod: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
-pub extern fn BN_bn2binpad(in: [*c]const BIGNUM, out: [*c]u8, len: c_int) c_int;
-pub extern fn BN_num_bits_word(l: u64) c_uint;
pub extern fn ASN1_tag2bit(tag: c_int) c_ulong;
pub extern fn ASN1_tag2str(tag: c_int) [*c]const u8;
-pub const d2i_of_void = *const fn ([*c]?*anyopaque, [*c][*c]const u8, c_long) callconv(.C) ?*anyopaque;
-pub const i2d_of_void = *const fn (?*const anyopaque, [*c][*c]u8) callconv(.C) c_int;
+pub const d2i_of_void = fn ([*c]?*anyopaque, [*c][*c]const u8, c_long) callconv(.C) ?*anyopaque;
+pub const i2d_of_void = fn (?*const anyopaque, [*c][*c]u8) callconv(.C) c_int;
pub const ASN1_ITEM_EXP = ASN1_ITEM;
pub extern fn ASN1_item_new(it: ?*const ASN1_ITEM) ?*ASN1_VALUE;
pub extern fn ASN1_item_free(val: ?*ASN1_VALUE, it: ?*const ASN1_ITEM) void;
pub extern fn ASN1_item_d2i(out: [*c]?*ASN1_VALUE, inp: [*c][*c]const u8, len: c_long, it: ?*const ASN1_ITEM) ?*ASN1_VALUE;
pub extern fn ASN1_item_i2d(val: ?*ASN1_VALUE, outp: [*c][*c]u8, it: ?*const ASN1_ITEM) c_int;
pub extern fn ASN1_item_dup(it: ?*const ASN1_ITEM, x: ?*anyopaque) ?*anyopaque;
-pub extern fn ASN1_item_d2i_fp(it: ?*const ASN1_ITEM, in: [*c]FILE, out: ?*anyopaque) ?*anyopaque;
+// pub extern fn ASN1_item_d2i_fp(it: ?*const ASN1_ITEM, in: [*c]FILE, out: ?*anyopaque) ?*anyopaque;
pub extern fn ASN1_item_d2i_bio(it: ?*const ASN1_ITEM, in: [*c]BIO, out: ?*anyopaque) ?*anyopaque;
-pub extern fn ASN1_item_i2d_fp(it: ?*const ASN1_ITEM, out: [*c]FILE, in: ?*anyopaque) c_int;
+// pub extern fn ASN1_item_i2d_fp(it: ?*const ASN1_ITEM, out: [*c]FILE, in: ?*anyopaque) c_int;
pub extern fn ASN1_item_i2d_bio(it: ?*const ASN1_ITEM, out: [*c]BIO, in: ?*anyopaque) c_int;
pub extern fn ASN1_item_unpack(oct: [*c]const ASN1_STRING, it: ?*const ASN1_ITEM) ?*anyopaque;
pub extern fn ASN1_item_pack(obj: ?*anyopaque, it: ?*const ASN1_ITEM, out: [*c][*c]ASN1_STRING) [*c]ASN1_STRING;
@@ -1788,8 +1644,8 @@ pub extern fn ASN1_STRING_get0_data(str: [*c]const ASN1_STRING) [*c]const u8;
pub extern fn ASN1_STRING_data(str: [*c]ASN1_STRING) [*c]u8;
pub extern fn ASN1_STRING_length(str: [*c]const ASN1_STRING) c_int;
pub extern fn ASN1_STRING_cmp(a: [*c]const ASN1_STRING, b: [*c]const ASN1_STRING) c_int;
-pub extern fn ASN1_STRING_set(str: [*c]ASN1_STRING, data: ?[*]const u8, len: c_int) c_int;
-pub extern fn ASN1_STRING_set0(str: [*c]ASN1_STRING, data: ?*anyopaque, len: c_int) void;
+// pub extern fn ASN1_STRING_set(str: [*c]ASN1_STRING, data: ?*const anyopaque, len: ossl_ssize_t) c_int;
+// pub extern fn ASN1_STRING_set0(str: [*c]ASN1_STRING, data: ?*anyopaque, len: c_int) void;
pub extern fn ASN1_BMPSTRING_new() [*c]ASN1_BMPSTRING;
pub extern fn ASN1_GENERALSTRING_new() [*c]ASN1_GENERALSTRING;
pub extern fn ASN1_IA5STRING_new() [*c]ASN1_IA5STRING;
@@ -1861,124 +1717,124 @@ pub extern fn c2i_ASN1_BIT_STRING(out: [*c][*c]ASN1_BIT_STRING, inp: [*c][*c]con
pub extern fn i2c_ASN1_BIT_STRING(in: [*c]const ASN1_BIT_STRING, outp: [*c][*c]u8) c_int;
pub extern const ASN1_BIT_STRING_it: ASN1_ITEM;
pub extern fn ASN1_BIT_STRING_num_bytes(str: [*c]const ASN1_BIT_STRING, out: [*c]usize) c_int;
-pub extern fn ASN1_BIT_STRING_set(str: [*c]ASN1_BIT_STRING, d: [*c]const u8, length: c_int) c_int;
+// pub extern fn ASN1_BIT_STRING_set(str: [*c]ASN1_BIT_STRING, d: [*c]const u8, length: ossl_ssize_t) c_int;
pub extern fn ASN1_BIT_STRING_set_bit(str: [*c]ASN1_BIT_STRING, n: c_int, value: c_int) c_int;
pub extern fn ASN1_BIT_STRING_get_bit(str: [*c]const ASN1_BIT_STRING, n: c_int) c_int;
pub extern fn ASN1_BIT_STRING_check(str: [*c]const ASN1_BIT_STRING, flags: [*c]const u8, flags_len: c_int) c_int;
pub const struct_stack_st_ASN1_INTEGER = opaque {};
-pub const stack_ASN1_INTEGER_free_func = ?*const fn ([*c]ASN1_INTEGER) callconv(.C) void;
-pub const stack_ASN1_INTEGER_copy_func = ?*const fn ([*c]ASN1_INTEGER) callconv(.C) [*c]ASN1_INTEGER;
-pub const stack_ASN1_INTEGER_cmp_func = ?*const fn ([*c][*c]const ASN1_INTEGER, [*c][*c]const ASN1_INTEGER) callconv(.C) c_int;
-pub fn sk_ASN1_INTEGER_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_ASN1_INTEGER_free_func = ?*const fn ([*c]ASN1_INTEGER) callconv(.C) void;
+pub const sk_ASN1_INTEGER_copy_func = ?*const fn ([*c]ASN1_INTEGER) callconv(.C) [*c]ASN1_INTEGER;
+pub const sk_ASN1_INTEGER_cmp_func = ?*const fn ([*c][*c]const ASN1_INTEGER, [*c][*c]const ASN1_INTEGER) callconv(.C) c_int;
+pub fn sk_ASN1_INTEGER_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_ASN1_INTEGER_free_func, @alignCast(@import("std").meta.alignment(fn ([*c]ASN1_INTEGER) callconv(.C) void), free_func)).?(@ptrCast([*c]ASN1_INTEGER, @alignCast(@import("std").meta.alignment(ASN1_INTEGER), ptr)));
+ @as(sk_ASN1_INTEGER_free_func, @ptrCast(@alignCast(free_func))).?(@as([*c]ASN1_INTEGER, @ptrCast(@alignCast(ptr))));
}
-pub fn sk_ASN1_INTEGER_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_ASN1_INTEGER_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_ASN1_INTEGER_copy_func, @alignCast(@import("std").meta.alignment(fn ([*c]ASN1_INTEGER) callconv(.C) [*c]ASN1_INTEGER), copy_func)).?(@ptrCast([*c]ASN1_INTEGER, @alignCast(@import("std").meta.alignment(ASN1_INTEGER), ptr))));
+ return @as(?*anyopaque, @ptrCast(@as(sk_ASN1_INTEGER_copy_func, @ptrCast(@alignCast(copy_func))).?(@as([*c]ASN1_INTEGER, @ptrCast(@alignCast(ptr))))));
}
-pub fn sk_ASN1_INTEGER_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_ASN1_INTEGER_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: [*c]const ASN1_INTEGER = @ptrCast([*c]const ASN1_INTEGER, @alignCast(@import("std").meta.alignment(ASN1_INTEGER), a.*));
- var b_ptr: [*c]const ASN1_INTEGER = @ptrCast([*c]const ASN1_INTEGER, @alignCast(@import("std").meta.alignment(ASN1_INTEGER), b.*));
- return @ptrCast(stack_ASN1_INTEGER_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const ASN1_INTEGER, [*c][*c]const ASN1_INTEGER) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: [*c]const ASN1_INTEGER = @as([*c]const ASN1_INTEGER, @ptrCast(@alignCast(a.*)));
+ var b_ptr: [*c]const ASN1_INTEGER = @as([*c]const ASN1_INTEGER, @ptrCast(@alignCast(b.*)));
+ return @as(sk_ASN1_INTEGER_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_ASN1_INTEGER_new(arg_comp: stack_ASN1_INTEGER_cmp_func) callconv(.C) ?*struct_stack_st_ASN1_INTEGER {
+pub fn sk_ASN1_INTEGER_new(arg_comp: sk_ASN1_INTEGER_cmp_func) callconv(.C) ?*struct_stack_st_ASN1_INTEGER {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_ASN1_INTEGER, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_ASN1_INTEGER, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_ASN1_INTEGER_new_null() callconv(.C) ?*struct_stack_st_ASN1_INTEGER {
- return @ptrCast(?*struct_stack_st_ASN1_INTEGER, sk_new_null());
+ return @as(?*struct_stack_st_ASN1_INTEGER, @ptrCast(sk_new_null()));
}
pub fn sk_ASN1_INTEGER_num(arg_sk: ?*const struct_stack_st_ASN1_INTEGER) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_ASN1_INTEGER_zero(arg_sk: ?*struct_stack_st_ASN1_INTEGER) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_ASN1_INTEGER_value(arg_sk: ?*const struct_stack_st_ASN1_INTEGER, arg_i: usize) callconv(.C) [*c]ASN1_INTEGER {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast([*c]ASN1_INTEGER, @alignCast(@import("std").meta.alignment(ASN1_INTEGER), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
+ return @as([*c]ASN1_INTEGER, @ptrCast(@alignCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i))));
}
pub fn sk_ASN1_INTEGER_set(arg_sk: ?*struct_stack_st_ASN1_INTEGER, arg_i: usize, arg_p: [*c]ASN1_INTEGER) callconv(.C) [*c]ASN1_INTEGER {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast([*c]ASN1_INTEGER, @alignCast(@import("std").meta.alignment(ASN1_INTEGER), sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p))));
+ return @as([*c]ASN1_INTEGER, @ptrCast(@alignCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p))))));
}
pub fn sk_ASN1_INTEGER_free(arg_sk: ?*struct_stack_st_ASN1_INTEGER) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_ASN1_INTEGER_pop_free(arg_sk: ?*struct_stack_st_ASN1_INTEGER, arg_free_func: stack_ASN1_INTEGER_free_func) callconv(.C) void {
+pub fn sk_ASN1_INTEGER_pop_free(arg_sk: ?*struct_stack_st_ASN1_INTEGER, arg_free_func: sk_ASN1_INTEGER_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_ASN1_INTEGER_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_ASN1_INTEGER_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_ASN1_INTEGER_insert(arg_sk: ?*struct_stack_st_ASN1_INTEGER, arg_p: [*c]ASN1_INTEGER, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_ASN1_INTEGER_delete(arg_sk: ?*struct_stack_st_ASN1_INTEGER, arg_where: usize) callconv(.C) [*c]ASN1_INTEGER {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast([*c]ASN1_INTEGER, @alignCast(@import("std").meta.alignment(ASN1_INTEGER), sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where)));
+ return @as([*c]ASN1_INTEGER, @ptrCast(@alignCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where))));
}
pub fn sk_ASN1_INTEGER_delete_ptr(arg_sk: ?*struct_stack_st_ASN1_INTEGER, arg_p: [*c]const ASN1_INTEGER) callconv(.C) [*c]ASN1_INTEGER {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast([*c]ASN1_INTEGER, @alignCast(@import("std").meta.alignment(ASN1_INTEGER), sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p))));
+ return @as([*c]ASN1_INTEGER, @ptrCast(@alignCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p))))));
}
pub fn sk_ASN1_INTEGER_find(arg_sk: ?*const struct_stack_st_ASN1_INTEGER, arg_out_index: [*c]usize, arg_p: [*c]const ASN1_INTEGER) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_ASN1_INTEGER_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_ASN1_INTEGER_call_cmp_func);
}
pub fn sk_ASN1_INTEGER_shift(arg_sk: ?*struct_stack_st_ASN1_INTEGER) callconv(.C) [*c]ASN1_INTEGER {
var sk = arg_sk;
- return @ptrCast([*c]ASN1_INTEGER, @alignCast(@import("std").meta.alignment(ASN1_INTEGER), sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]ASN1_INTEGER, @ptrCast(@alignCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_ASN1_INTEGER_push(arg_sk: ?*struct_stack_st_ASN1_INTEGER, arg_p: [*c]ASN1_INTEGER) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_ASN1_INTEGER_pop(arg_sk: ?*struct_stack_st_ASN1_INTEGER) callconv(.C) [*c]ASN1_INTEGER {
var sk = arg_sk;
- return @ptrCast([*c]ASN1_INTEGER, @alignCast(@import("std").meta.alignment(ASN1_INTEGER), sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]ASN1_INTEGER, @ptrCast(@alignCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_ASN1_INTEGER_dup(arg_sk: ?*const struct_stack_st_ASN1_INTEGER) callconv(.C) ?*struct_stack_st_ASN1_INTEGER {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_ASN1_INTEGER, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_ASN1_INTEGER, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_ASN1_INTEGER_sort(arg_sk: ?*struct_stack_st_ASN1_INTEGER) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_ASN1_INTEGER_call_cmp_func);
}
pub fn sk_ASN1_INTEGER_is_sorted(arg_sk: ?*const struct_stack_st_ASN1_INTEGER) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_ASN1_INTEGER_set_cmp_func(arg_sk: ?*struct_stack_st_ASN1_INTEGER, arg_comp: stack_ASN1_INTEGER_cmp_func) callconv(.C) stack_ASN1_INTEGER_cmp_func {
+pub fn sk_ASN1_INTEGER_set_cmp_func(arg_sk: ?*struct_stack_st_ASN1_INTEGER, arg_comp: sk_ASN1_INTEGER_cmp_func) callconv(.C) sk_ASN1_INTEGER_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_ASN1_INTEGER_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const ASN1_INTEGER, [*c][*c]const ASN1_INTEGER) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_ASN1_INTEGER_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_ASN1_INTEGER_deep_copy(arg_sk: ?*const struct_stack_st_ASN1_INTEGER, arg_copy_func: ?*const fn ([*c]ASN1_INTEGER) callconv(.C) [*c]ASN1_INTEGER, arg_free_func: ?*const fn ([*c]ASN1_INTEGER) callconv(.C) void) callconv(.C) ?*struct_stack_st_ASN1_INTEGER {
+pub fn sk_ASN1_INTEGER_deep_copy(arg_sk: ?*const struct_stack_st_ASN1_INTEGER, arg_copy_func: sk_ASN1_INTEGER_copy_func, arg_free_func: sk_ASN1_INTEGER_free_func) callconv(.C) ?*struct_stack_st_ASN1_INTEGER {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_ASN1_INTEGER, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_ASN1_INTEGER_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_ASN1_INTEGER_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_ASN1_INTEGER, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_ASN1_INTEGER_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_ASN1_INTEGER_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
pub extern fn ASN1_INTEGER_new() [*c]ASN1_INTEGER;
pub extern fn ASN1_INTEGER_free(str: [*c]ASN1_INTEGER) void;
@@ -1988,9 +1844,10 @@ pub extern fn i2d_ASN1_INTEGER(in: [*c]const ASN1_INTEGER, outp: [*c][*c]u8) c_i
pub extern fn c2i_ASN1_INTEGER(in: [*c][*c]ASN1_INTEGER, outp: [*c][*c]const u8, len: c_long) [*c]ASN1_INTEGER;
pub extern fn i2c_ASN1_INTEGER(in: [*c]const ASN1_INTEGER, outp: [*c][*c]u8) c_int;
pub extern const ASN1_INTEGER_it: ASN1_ITEM;
-pub extern fn ASN1_INTEGER_set(a: [*c]ASN1_INTEGER, v: c_long) c_int;
pub extern fn ASN1_INTEGER_set_uint64(out: [*c]ASN1_INTEGER, v: u64) c_int;
-pub extern fn ASN1_INTEGER_get(a: [*c]const ASN1_INTEGER) c_long;
+pub extern fn ASN1_INTEGER_set_int64(out: [*c]ASN1_INTEGER, v: i64) c_int;
+pub extern fn ASN1_INTEGER_get_uint64(out: [*c]u64, a: [*c]const ASN1_INTEGER) c_int;
+pub extern fn ASN1_INTEGER_get_int64(out: [*c]i64, a: [*c]const ASN1_INTEGER) c_int;
pub extern fn BN_to_ASN1_INTEGER(bn: [*c]const BIGNUM, ai: [*c]ASN1_INTEGER) [*c]ASN1_INTEGER;
pub extern fn ASN1_INTEGER_to_BN(ai: [*c]const ASN1_INTEGER, bn: [*c]BIGNUM) [*c]BIGNUM;
pub extern fn ASN1_INTEGER_cmp(x: [*c]const ASN1_INTEGER, y: [*c]const ASN1_INTEGER) c_int;
@@ -1999,8 +1856,10 @@ pub extern fn ASN1_ENUMERATED_free(str: [*c]ASN1_ENUMERATED) void;
pub extern fn d2i_ASN1_ENUMERATED(out: [*c][*c]ASN1_ENUMERATED, inp: [*c][*c]const u8, len: c_long) [*c]ASN1_ENUMERATED;
pub extern fn i2d_ASN1_ENUMERATED(in: [*c]const ASN1_ENUMERATED, outp: [*c][*c]u8) c_int;
pub extern const ASN1_ENUMERATED_it: ASN1_ITEM;
-pub extern fn ASN1_ENUMERATED_set(a: [*c]ASN1_ENUMERATED, v: c_long) c_int;
-pub extern fn ASN1_ENUMERATED_get(a: [*c]const ASN1_ENUMERATED) c_long;
+pub extern fn ASN1_ENUMERATED_set_uint64(out: [*c]ASN1_ENUMERATED, v: u64) c_int;
+pub extern fn ASN1_ENUMERATED_set_int64(out: [*c]ASN1_ENUMERATED, v: i64) c_int;
+pub extern fn ASN1_ENUMERATED_get_uint64(out: [*c]u64, a: [*c]const ASN1_ENUMERATED) c_int;
+pub extern fn ASN1_ENUMERATED_get_int64(out: [*c]i64, a: [*c]const ASN1_ENUMERATED) c_int;
pub extern fn BN_to_ASN1_ENUMERATED(bn: [*c]const BIGNUM, ai: [*c]ASN1_ENUMERATED) [*c]ASN1_ENUMERATED;
pub extern fn ASN1_ENUMERATED_to_BN(ai: [*c]const ASN1_ENUMERATED, bn: [*c]BIGNUM) [*c]BIGNUM;
pub extern fn ASN1_UTCTIME_new() [*c]ASN1_UTCTIME;
@@ -2033,125 +1892,127 @@ pub extern fn ASN1_TIME_adj(s: [*c]ASN1_TIME, t: time_t, offset_day: c_int, offs
pub extern fn ASN1_TIME_check(t: [*c]const ASN1_TIME) c_int;
pub extern fn ASN1_TIME_to_generalizedtime(t: [*c]const ASN1_TIME, out: [*c][*c]ASN1_GENERALIZEDTIME) [*c]ASN1_GENERALIZEDTIME;
pub extern fn ASN1_TIME_set_string(s: [*c]ASN1_TIME, str: [*c]const u8) c_int;
+pub extern fn ASN1_TIME_to_time_t(t: [*c]const ASN1_TIME, out: [*c]time_t) c_int;
+pub extern fn ASN1_TIME_to_posix(t: [*c]const ASN1_TIME, out: [*c]i64) c_int;
pub extern fn ASN1_NULL_new() ?*ASN1_NULL;
pub extern fn ASN1_NULL_free(@"null": ?*ASN1_NULL) void;
pub extern fn d2i_ASN1_NULL(out: [*c]?*ASN1_NULL, inp: [*c][*c]const u8, len: c_long) ?*ASN1_NULL;
pub extern fn i2d_ASN1_NULL(in: ?*const ASN1_NULL, outp: [*c][*c]u8) c_int;
pub extern const ASN1_NULL_it: ASN1_ITEM;
pub const struct_stack_st_ASN1_OBJECT = opaque {};
-pub const stack_ASN1_OBJECT_free_func = ?*const fn (?*ASN1_OBJECT) callconv(.C) void;
-pub const stack_ASN1_OBJECT_copy_func = ?*const fn (?*ASN1_OBJECT) callconv(.C) ?*ASN1_OBJECT;
-pub const stack_ASN1_OBJECT_cmp_func = ?*const fn ([*c]?*const ASN1_OBJECT, [*c]?*const ASN1_OBJECT) callconv(.C) c_int;
-pub fn sk_ASN1_OBJECT_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_ASN1_OBJECT_free_func = ?*const fn (?*ASN1_OBJECT) callconv(.C) void;
+pub const sk_ASN1_OBJECT_copy_func = ?*const fn (?*ASN1_OBJECT) callconv(.C) ?*ASN1_OBJECT;
+pub const sk_ASN1_OBJECT_cmp_func = ?*const fn ([*c]?*const ASN1_OBJECT, [*c]?*const ASN1_OBJECT) callconv(.C) c_int;
+pub fn sk_ASN1_OBJECT_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_ASN1_OBJECT_free_func, @alignCast(@import("std").meta.alignment(fn (?*ASN1_OBJECT) callconv(.C) void), free_func)).?(@ptrCast(?*ASN1_OBJECT, ptr));
+ @as(sk_ASN1_OBJECT_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*ASN1_OBJECT, @ptrCast(ptr)));
}
-pub fn sk_ASN1_OBJECT_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_ASN1_OBJECT_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_ASN1_OBJECT_copy_func, @alignCast(@import("std").meta.alignment(fn (?*ASN1_OBJECT) callconv(.C) ?*ASN1_OBJECT), copy_func)).?(@ptrCast(?*ASN1_OBJECT, ptr)));
+ return @as(?*anyopaque, @ptrCast(@as(sk_ASN1_OBJECT_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*ASN1_OBJECT, @ptrCast(ptr)))));
}
-pub fn sk_ASN1_OBJECT_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_ASN1_OBJECT_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const ASN1_OBJECT = @ptrCast(?*const ASN1_OBJECT, a.*);
- var b_ptr: ?*const ASN1_OBJECT = @ptrCast(?*const ASN1_OBJECT, b.*);
- return @ptrCast(stack_ASN1_OBJECT_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const ASN1_OBJECT, [*c]?*const ASN1_OBJECT) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const ASN1_OBJECT = @as(?*const ASN1_OBJECT, @ptrCast(a.*));
+ var b_ptr: ?*const ASN1_OBJECT = @as(?*const ASN1_OBJECT, @ptrCast(b.*));
+ return @as(sk_ASN1_OBJECT_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_ASN1_OBJECT_new(arg_comp: stack_ASN1_OBJECT_cmp_func) callconv(.C) ?*struct_stack_st_ASN1_OBJECT {
+pub fn sk_ASN1_OBJECT_new(arg_comp: sk_ASN1_OBJECT_cmp_func) callconv(.C) ?*struct_stack_st_ASN1_OBJECT {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_ASN1_OBJECT, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_ASN1_OBJECT, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_ASN1_OBJECT_new_null() callconv(.C) ?*struct_stack_st_ASN1_OBJECT {
- return @ptrCast(?*struct_stack_st_ASN1_OBJECT, sk_new_null());
+ return @as(?*struct_stack_st_ASN1_OBJECT, @ptrCast(sk_new_null()));
}
pub fn sk_ASN1_OBJECT_num(arg_sk: ?*const struct_stack_st_ASN1_OBJECT) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_ASN1_OBJECT_zero(arg_sk: ?*struct_stack_st_ASN1_OBJECT) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_ASN1_OBJECT_value(arg_sk: ?*const struct_stack_st_ASN1_OBJECT, arg_i: usize) callconv(.C) ?*ASN1_OBJECT {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*ASN1_OBJECT, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as(?*ASN1_OBJECT, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
pub fn sk_ASN1_OBJECT_set(arg_sk: ?*struct_stack_st_ASN1_OBJECT, arg_i: usize, arg_p: ?*ASN1_OBJECT) callconv(.C) ?*ASN1_OBJECT {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*ASN1_OBJECT, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
+ return @as(?*ASN1_OBJECT, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
pub fn sk_ASN1_OBJECT_free(arg_sk: ?*struct_stack_st_ASN1_OBJECT) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_ASN1_OBJECT_pop_free(arg_sk: ?*struct_stack_st_ASN1_OBJECT, arg_free_func: stack_ASN1_OBJECT_free_func) callconv(.C) void {
+pub fn sk_ASN1_OBJECT_pop_free(arg_sk: ?*struct_stack_st_ASN1_OBJECT, arg_free_func: sk_ASN1_OBJECT_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_ASN1_OBJECT_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_ASN1_OBJECT_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_ASN1_OBJECT_insert(arg_sk: ?*struct_stack_st_ASN1_OBJECT, arg_p: ?*ASN1_OBJECT, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_ASN1_OBJECT_delete(arg_sk: ?*struct_stack_st_ASN1_OBJECT, arg_where: usize) callconv(.C) ?*ASN1_OBJECT {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*ASN1_OBJECT, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as(?*ASN1_OBJECT, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
pub fn sk_ASN1_OBJECT_delete_ptr(arg_sk: ?*struct_stack_st_ASN1_OBJECT, arg_p: ?*const ASN1_OBJECT) callconv(.C) ?*ASN1_OBJECT {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*ASN1_OBJECT, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as(?*ASN1_OBJECT, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
pub fn sk_ASN1_OBJECT_find(arg_sk: ?*const struct_stack_st_ASN1_OBJECT, arg_out_index: [*c]usize, arg_p: ?*const ASN1_OBJECT) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_ASN1_OBJECT_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_ASN1_OBJECT_call_cmp_func);
}
pub fn sk_ASN1_OBJECT_shift(arg_sk: ?*struct_stack_st_ASN1_OBJECT) callconv(.C) ?*ASN1_OBJECT {
var sk = arg_sk;
- return @ptrCast(?*ASN1_OBJECT, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*ASN1_OBJECT, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_ASN1_OBJECT_push(arg_sk: ?*struct_stack_st_ASN1_OBJECT, arg_p: ?*ASN1_OBJECT) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_ASN1_OBJECT_pop(arg_sk: ?*struct_stack_st_ASN1_OBJECT) callconv(.C) ?*ASN1_OBJECT {
var sk = arg_sk;
- return @ptrCast(?*ASN1_OBJECT, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*ASN1_OBJECT, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_ASN1_OBJECT_dup(arg_sk: ?*const struct_stack_st_ASN1_OBJECT) callconv(.C) ?*struct_stack_st_ASN1_OBJECT {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_ASN1_OBJECT, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_ASN1_OBJECT, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_ASN1_OBJECT_sort(arg_sk: ?*struct_stack_st_ASN1_OBJECT) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_ASN1_OBJECT_call_cmp_func);
}
pub fn sk_ASN1_OBJECT_is_sorted(arg_sk: ?*const struct_stack_st_ASN1_OBJECT) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_ASN1_OBJECT_set_cmp_func(arg_sk: ?*struct_stack_st_ASN1_OBJECT, arg_comp: stack_ASN1_OBJECT_cmp_func) callconv(.C) stack_ASN1_OBJECT_cmp_func {
+pub fn sk_ASN1_OBJECT_set_cmp_func(arg_sk: ?*struct_stack_st_ASN1_OBJECT, arg_comp: sk_ASN1_OBJECT_cmp_func) callconv(.C) sk_ASN1_OBJECT_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_ASN1_OBJECT_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const ASN1_OBJECT, [*c]?*const ASN1_OBJECT) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_ASN1_OBJECT_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_ASN1_OBJECT_deep_copy(arg_sk: ?*const struct_stack_st_ASN1_OBJECT, arg_copy_func: ?*const fn (?*ASN1_OBJECT) callconv(.C) ?*ASN1_OBJECT, arg_free_func: ?*const fn (?*ASN1_OBJECT) callconv(.C) void) callconv(.C) ?*struct_stack_st_ASN1_OBJECT {
+pub fn sk_ASN1_OBJECT_deep_copy(arg_sk: ?*const struct_stack_st_ASN1_OBJECT, arg_copy_func: sk_ASN1_OBJECT_copy_func, arg_free_func: sk_ASN1_OBJECT_free_func) callconv(.C) ?*struct_stack_st_ASN1_OBJECT {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_ASN1_OBJECT, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_ASN1_OBJECT_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_ASN1_OBJECT_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_ASN1_OBJECT, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_ASN1_OBJECT_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_ASN1_OBJECT_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
pub extern fn ASN1_OBJECT_create(nid: c_int, data: [*c]const u8, len: c_int, sn: [*c]const u8, ln: [*c]const u8) ?*ASN1_OBJECT;
pub extern fn ASN1_OBJECT_free(a: ?*ASN1_OBJECT) void;
@@ -2160,119 +2021,119 @@ pub extern fn i2d_ASN1_OBJECT(a: ?*const ASN1_OBJECT, outp: [*c][*c]u8) c_int;
pub extern fn c2i_ASN1_OBJECT(out: [*c]?*ASN1_OBJECT, inp: [*c][*c]const u8, len: c_long) ?*ASN1_OBJECT;
pub extern const ASN1_OBJECT_it: ASN1_ITEM;
pub const struct_stack_st_ASN1_TYPE = opaque {};
-pub const stack_ASN1_TYPE_free_func = ?*const fn ([*c]ASN1_TYPE) callconv(.C) void;
-pub const stack_ASN1_TYPE_copy_func = ?*const fn ([*c]ASN1_TYPE) callconv(.C) [*c]ASN1_TYPE;
-pub const stack_ASN1_TYPE_cmp_func = ?*const fn ([*c][*c]const ASN1_TYPE, [*c][*c]const ASN1_TYPE) callconv(.C) c_int;
-pub fn sk_ASN1_TYPE_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_ASN1_TYPE_free_func = ?*const fn ([*c]ASN1_TYPE) callconv(.C) void;
+pub const sk_ASN1_TYPE_copy_func = ?*const fn ([*c]ASN1_TYPE) callconv(.C) [*c]ASN1_TYPE;
+pub const sk_ASN1_TYPE_cmp_func = ?*const fn ([*c][*c]const ASN1_TYPE, [*c][*c]const ASN1_TYPE) callconv(.C) c_int;
+pub fn sk_ASN1_TYPE_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_ASN1_TYPE_free_func, @alignCast(@import("std").meta.alignment(fn ([*c]ASN1_TYPE) callconv(.C) void), free_func)).?(@ptrCast([*c]ASN1_TYPE, @alignCast(@import("std").meta.alignment(ASN1_TYPE), ptr)));
+ @as(sk_ASN1_TYPE_free_func, @ptrCast(@alignCast(free_func))).?(@as([*c]ASN1_TYPE, @ptrCast(@alignCast(ptr))));
}
-pub fn sk_ASN1_TYPE_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_ASN1_TYPE_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_ASN1_TYPE_copy_func, @alignCast(@import("std").meta.alignment(fn ([*c]ASN1_TYPE) callconv(.C) [*c]ASN1_TYPE), copy_func)).?(@ptrCast([*c]ASN1_TYPE, @alignCast(@import("std").meta.alignment(ASN1_TYPE), ptr))));
+ return @as(?*anyopaque, @ptrCast(@as(sk_ASN1_TYPE_copy_func, @ptrCast(@alignCast(copy_func))).?(@as([*c]ASN1_TYPE, @ptrCast(@alignCast(ptr))))));
}
-pub fn sk_ASN1_TYPE_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_ASN1_TYPE_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: [*c]const ASN1_TYPE = @ptrCast([*c]const ASN1_TYPE, @alignCast(@import("std").meta.alignment(ASN1_TYPE), a.*));
- var b_ptr: [*c]const ASN1_TYPE = @ptrCast([*c]const ASN1_TYPE, @alignCast(@import("std").meta.alignment(ASN1_TYPE), b.*));
- return @ptrCast(stack_ASN1_TYPE_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const ASN1_TYPE, [*c][*c]const ASN1_TYPE) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: [*c]const ASN1_TYPE = @as([*c]const ASN1_TYPE, @ptrCast(@alignCast(a.*)));
+ var b_ptr: [*c]const ASN1_TYPE = @as([*c]const ASN1_TYPE, @ptrCast(@alignCast(b.*)));
+ return @as(sk_ASN1_TYPE_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_ASN1_TYPE_new(arg_comp: stack_ASN1_TYPE_cmp_func) callconv(.C) ?*struct_stack_st_ASN1_TYPE {
+pub fn sk_ASN1_TYPE_new(arg_comp: sk_ASN1_TYPE_cmp_func) callconv(.C) ?*struct_stack_st_ASN1_TYPE {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_ASN1_TYPE, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_ASN1_TYPE, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_ASN1_TYPE_new_null() callconv(.C) ?*struct_stack_st_ASN1_TYPE {
- return @ptrCast(?*struct_stack_st_ASN1_TYPE, sk_new_null());
+ return @as(?*struct_stack_st_ASN1_TYPE, @ptrCast(sk_new_null()));
}
pub fn sk_ASN1_TYPE_num(arg_sk: ?*const struct_stack_st_ASN1_TYPE) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_ASN1_TYPE_zero(arg_sk: ?*struct_stack_st_ASN1_TYPE) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_ASN1_TYPE_value(arg_sk: ?*const struct_stack_st_ASN1_TYPE, arg_i: usize) callconv(.C) [*c]ASN1_TYPE {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast([*c]ASN1_TYPE, @alignCast(@import("std").meta.alignment(ASN1_TYPE), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
+ return @as([*c]ASN1_TYPE, @ptrCast(@alignCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i))));
}
pub fn sk_ASN1_TYPE_set(arg_sk: ?*struct_stack_st_ASN1_TYPE, arg_i: usize, arg_p: [*c]ASN1_TYPE) callconv(.C) [*c]ASN1_TYPE {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast([*c]ASN1_TYPE, @alignCast(@import("std").meta.alignment(ASN1_TYPE), sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p))));
+ return @as([*c]ASN1_TYPE, @ptrCast(@alignCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p))))));
}
pub fn sk_ASN1_TYPE_free(arg_sk: ?*struct_stack_st_ASN1_TYPE) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_ASN1_TYPE_pop_free(arg_sk: ?*struct_stack_st_ASN1_TYPE, arg_free_func: stack_ASN1_TYPE_free_func) callconv(.C) void {
+pub fn sk_ASN1_TYPE_pop_free(arg_sk: ?*struct_stack_st_ASN1_TYPE, arg_free_func: sk_ASN1_TYPE_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_ASN1_TYPE_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_ASN1_TYPE_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_ASN1_TYPE_insert(arg_sk: ?*struct_stack_st_ASN1_TYPE, arg_p: [*c]ASN1_TYPE, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_ASN1_TYPE_delete(arg_sk: ?*struct_stack_st_ASN1_TYPE, arg_where: usize) callconv(.C) [*c]ASN1_TYPE {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast([*c]ASN1_TYPE, @alignCast(@import("std").meta.alignment(ASN1_TYPE), sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where)));
+ return @as([*c]ASN1_TYPE, @ptrCast(@alignCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where))));
}
pub fn sk_ASN1_TYPE_delete_ptr(arg_sk: ?*struct_stack_st_ASN1_TYPE, arg_p: [*c]const ASN1_TYPE) callconv(.C) [*c]ASN1_TYPE {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast([*c]ASN1_TYPE, @alignCast(@import("std").meta.alignment(ASN1_TYPE), sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p))));
+ return @as([*c]ASN1_TYPE, @ptrCast(@alignCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p))))));
}
pub fn sk_ASN1_TYPE_find(arg_sk: ?*const struct_stack_st_ASN1_TYPE, arg_out_index: [*c]usize, arg_p: [*c]const ASN1_TYPE) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_ASN1_TYPE_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_ASN1_TYPE_call_cmp_func);
}
pub fn sk_ASN1_TYPE_shift(arg_sk: ?*struct_stack_st_ASN1_TYPE) callconv(.C) [*c]ASN1_TYPE {
var sk = arg_sk;
- return @ptrCast([*c]ASN1_TYPE, @alignCast(@import("std").meta.alignment(ASN1_TYPE), sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]ASN1_TYPE, @ptrCast(@alignCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_ASN1_TYPE_push(arg_sk: ?*struct_stack_st_ASN1_TYPE, arg_p: [*c]ASN1_TYPE) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_ASN1_TYPE_pop(arg_sk: ?*struct_stack_st_ASN1_TYPE) callconv(.C) [*c]ASN1_TYPE {
var sk = arg_sk;
- return @ptrCast([*c]ASN1_TYPE, @alignCast(@import("std").meta.alignment(ASN1_TYPE), sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]ASN1_TYPE, @ptrCast(@alignCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_ASN1_TYPE_dup(arg_sk: ?*const struct_stack_st_ASN1_TYPE) callconv(.C) ?*struct_stack_st_ASN1_TYPE {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_ASN1_TYPE, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_ASN1_TYPE, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_ASN1_TYPE_sort(arg_sk: ?*struct_stack_st_ASN1_TYPE) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_ASN1_TYPE_call_cmp_func);
}
pub fn sk_ASN1_TYPE_is_sorted(arg_sk: ?*const struct_stack_st_ASN1_TYPE) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_ASN1_TYPE_set_cmp_func(arg_sk: ?*struct_stack_st_ASN1_TYPE, arg_comp: stack_ASN1_TYPE_cmp_func) callconv(.C) stack_ASN1_TYPE_cmp_func {
+pub fn sk_ASN1_TYPE_set_cmp_func(arg_sk: ?*struct_stack_st_ASN1_TYPE, arg_comp: sk_ASN1_TYPE_cmp_func) callconv(.C) sk_ASN1_TYPE_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_ASN1_TYPE_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const ASN1_TYPE, [*c][*c]const ASN1_TYPE) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_ASN1_TYPE_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_ASN1_TYPE_deep_copy(arg_sk: ?*const struct_stack_st_ASN1_TYPE, arg_copy_func: ?*const fn ([*c]ASN1_TYPE) callconv(.C) [*c]ASN1_TYPE, arg_free_func: ?*const fn ([*c]ASN1_TYPE) callconv(.C) void) callconv(.C) ?*struct_stack_st_ASN1_TYPE {
+pub fn sk_ASN1_TYPE_deep_copy(arg_sk: ?*const struct_stack_st_ASN1_TYPE, arg_copy_func: sk_ASN1_TYPE_copy_func, arg_free_func: sk_ASN1_TYPE_free_func) callconv(.C) ?*struct_stack_st_ASN1_TYPE {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_ASN1_TYPE, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_ASN1_TYPE_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_ASN1_TYPE_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_ASN1_TYPE, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_ASN1_TYPE_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_ASN1_TYPE_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
pub extern fn ASN1_TYPE_new() [*c]ASN1_TYPE;
pub extern fn ASN1_TYPE_free(a: [*c]ASN1_TYPE) void;
@@ -2293,7 +2154,7 @@ pub extern fn ASN1_GENERALIZEDTIME_print(out: [*c]BIO, a: [*c]const ASN1_GENERAL
pub extern fn ASN1_TIME_print(out: [*c]BIO, a: [*c]const ASN1_TIME) c_int;
pub extern fn ASN1_STRING_print(out: [*c]BIO, str: [*c]const ASN1_STRING) c_int;
pub extern fn ASN1_STRING_print_ex(out: [*c]BIO, str: [*c]const ASN1_STRING, flags: c_ulong) c_int;
-pub extern fn ASN1_STRING_print_ex_fp(fp: [*c]FILE, str: [*c]const ASN1_STRING, flags: c_ulong) c_int;
+// pub extern fn ASN1_STRING_print_ex_fp(fp: [*c]FILE, str: [*c]const ASN1_STRING, flags: c_ulong) c_int;
pub extern fn i2a_ASN1_INTEGER(bp: [*c]BIO, a: [*c]const ASN1_INTEGER) c_int;
pub extern fn i2a_ASN1_ENUMERATED(bp: [*c]BIO, a: [*c]const ASN1_ENUMERATED) c_int;
pub extern fn i2a_ASN1_OBJECT(bp: [*c]BIO, a: ?*const ASN1_OBJECT) c_int;
@@ -2303,7 +2164,6 @@ pub extern fn ASN1_get_object(inp: [*c][*c]const u8, out_length: [*c]c_long, out
pub extern fn ASN1_put_object(outp: [*c][*c]u8, constructed: c_int, length: c_int, tag: c_int, xclass: c_int) void;
pub extern fn ASN1_put_eoc(outp: [*c][*c]u8) c_int;
pub extern fn ASN1_object_size(constructed: c_int, length: c_int, tag: c_int) c_int;
-pub extern fn ASN1_PRINTABLE_type(s: [*c]const u8, len: c_int) c_int;
pub extern fn ASN1_STRING_set_default_mask(mask: c_ulong) void;
pub extern fn ASN1_STRING_set_default_mask_asc(p: [*c]const u8) c_int;
pub extern fn ASN1_STRING_get_default_mask() c_ulong;
@@ -2313,36 +2173,46 @@ pub extern fn ASN1_PRINTABLE_free(str: [*c]ASN1_STRING) void;
pub extern fn d2i_ASN1_PRINTABLE(out: [*c][*c]ASN1_STRING, inp: [*c][*c]const u8, len: c_long) [*c]ASN1_STRING;
pub extern fn i2d_ASN1_PRINTABLE(in: [*c]const ASN1_STRING, outp: [*c][*c]u8) c_int;
pub extern const ASN1_PRINTABLE_it: ASN1_ITEM;
-pub extern fn DH_new() [*c]DH;
-pub extern fn DH_free(dh: [*c]DH) void;
-pub extern fn DH_up_ref(dh: [*c]DH) c_int;
-pub extern fn DH_get0_pub_key(dh: [*c]const DH) [*c]const BIGNUM;
-pub extern fn DH_get0_priv_key(dh: [*c]const DH) [*c]const BIGNUM;
-pub extern fn DH_get0_p(dh: [*c]const DH) [*c]const BIGNUM;
-pub extern fn DH_get0_q(dh: [*c]const DH) [*c]const BIGNUM;
-pub extern fn DH_get0_g(dh: [*c]const DH) [*c]const BIGNUM;
-pub extern fn DH_get0_key(dh: [*c]const DH, out_pub_key: [*c][*c]const BIGNUM, out_priv_key: [*c][*c]const BIGNUM) void;
-pub extern fn DH_set0_key(dh: [*c]DH, pub_key: [*c]BIGNUM, priv_key: [*c]BIGNUM) c_int;
-pub extern fn DH_get0_pqg(dh: [*c]const DH, out_p: [*c][*c]const BIGNUM, out_q: [*c][*c]const BIGNUM, out_g: [*c][*c]const BIGNUM) void;
-pub extern fn DH_set0_pqg(dh: [*c]DH, p: [*c]BIGNUM, q: [*c]BIGNUM, g: [*c]BIGNUM) c_int;
-pub extern fn DH_set_length(dh: [*c]DH, priv_length: c_uint) c_int;
+pub extern fn ASN1_INTEGER_set(a: [*c]ASN1_INTEGER, v: c_long) c_int;
+pub extern fn ASN1_ENUMERATED_set(a: [*c]ASN1_ENUMERATED, v: c_long) c_int;
+pub extern fn ASN1_INTEGER_get(a: [*c]const ASN1_INTEGER) c_long;
+pub extern fn ASN1_ENUMERATED_get(a: [*c]const ASN1_ENUMERATED) c_long;
+pub extern fn DH_new() ?*DH;
+pub extern fn DH_free(dh: ?*DH) void;
+pub extern fn DH_up_ref(dh: ?*DH) c_int;
+pub extern fn DH_bits(dh: ?*const DH) c_uint;
+pub extern fn DH_get0_pub_key(dh: ?*const DH) [*c]const BIGNUM;
+pub extern fn DH_get0_priv_key(dh: ?*const DH) [*c]const BIGNUM;
+pub extern fn DH_get0_p(dh: ?*const DH) [*c]const BIGNUM;
+pub extern fn DH_get0_q(dh: ?*const DH) [*c]const BIGNUM;
+pub extern fn DH_get0_g(dh: ?*const DH) [*c]const BIGNUM;
+pub extern fn DH_get0_key(dh: ?*const DH, out_pub_key: [*c][*c]const BIGNUM, out_priv_key: [*c][*c]const BIGNUM) void;
+pub extern fn DH_set0_key(dh: ?*DH, pub_key: [*c]BIGNUM, priv_key: [*c]BIGNUM) c_int;
+pub extern fn DH_get0_pqg(dh: ?*const DH, out_p: [*c][*c]const BIGNUM, out_q: [*c][*c]const BIGNUM, out_g: [*c][*c]const BIGNUM) void;
+pub extern fn DH_set0_pqg(dh: ?*DH, p: [*c]BIGNUM, q: [*c]BIGNUM, g: [*c]BIGNUM) c_int;
+pub extern fn DH_set_length(dh: ?*DH, priv_length: c_uint) c_int;
+pub extern fn DH_get_rfc7919_2048() ?*DH;
pub extern fn BN_get_rfc3526_prime_1536(ret: [*c]BIGNUM) [*c]BIGNUM;
-pub extern fn DH_get_rfc7919_2048() [*c]DH;
-pub extern fn DH_generate_parameters_ex(dh: [*c]DH, prime_bits: c_int, generator: c_int, cb: [*c]BN_GENCB) c_int;
-pub extern fn DH_generate_key(dh: [*c]DH) c_int;
-pub extern fn DH_compute_key_padded(out: [*c]u8, peers_key: [*c]const BIGNUM, dh: [*c]DH) c_int;
-pub extern fn DH_compute_key_hashed(dh: [*c]DH, out: [*c]u8, out_len: [*c]usize, max_out_len: usize, peers_key: [*c]const BIGNUM, digest: ?*const EVP_MD) c_int;
-pub extern fn DH_size(dh: [*c]const DH) c_int;
-pub extern fn DH_num_bits(dh: [*c]const DH) c_uint;
-pub extern fn DH_check(dh: [*c]const DH, out_flags: [*c]c_int) c_int;
-pub extern fn DH_check_pub_key(dh: [*c]const DH, pub_key: [*c]const BIGNUM, out_flags: [*c]c_int) c_int;
-pub extern fn DHparams_dup(dh: [*c]const DH) [*c]DH;
-pub extern fn DH_parse_parameters(cbs: [*c]CBS) [*c]DH;
-pub extern fn DH_marshal_parameters(cbb: [*c]CBB, dh: [*c]const DH) c_int;
-pub extern fn DH_generate_parameters(prime_len: c_int, generator: c_int, callback: ?*const fn (c_int, c_int, ?*anyopaque) callconv(.C) void, cb_arg: ?*anyopaque) [*c]DH;
-pub extern fn d2i_DHparams(ret: [*c][*c]DH, inp: [*c][*c]const u8, len: c_long) [*c]DH;
-pub extern fn i2d_DHparams(in: [*c]const DH, outp: [*c][*c]u8) c_int;
-pub extern fn DH_compute_key(out: [*c]u8, peers_key: [*c]const BIGNUM, dh: [*c]DH) c_int;
+pub extern fn BN_get_rfc3526_prime_2048(ret: [*c]BIGNUM) [*c]BIGNUM;
+pub extern fn BN_get_rfc3526_prime_3072(ret: [*c]BIGNUM) [*c]BIGNUM;
+pub extern fn BN_get_rfc3526_prime_4096(ret: [*c]BIGNUM) [*c]BIGNUM;
+pub extern fn BN_get_rfc3526_prime_6144(ret: [*c]BIGNUM) [*c]BIGNUM;
+pub extern fn BN_get_rfc3526_prime_8192(ret: [*c]BIGNUM) [*c]BIGNUM;
+pub extern fn DH_generate_parameters_ex(dh: ?*DH, prime_bits: c_int, generator: c_int, cb: [*c]BN_GENCB) c_int;
+pub extern fn DH_generate_key(dh: ?*DH) c_int;
+pub extern fn DH_compute_key_padded(out: [*c]u8, peers_key: [*c]const BIGNUM, dh: ?*DH) c_int;
+pub extern fn DH_compute_key_hashed(dh: ?*DH, out: [*c]u8, out_len: [*c]usize, max_out_len: usize, peers_key: [*c]const BIGNUM, digest: ?*const EVP_MD) c_int;
+pub extern fn DH_size(dh: ?*const DH) c_int;
+pub extern fn DH_num_bits(dh: ?*const DH) c_uint;
+pub extern fn DH_check(dh: ?*const DH, out_flags: [*c]c_int) c_int;
+pub extern fn DH_check_pub_key(dh: ?*const DH, pub_key: [*c]const BIGNUM, out_flags: [*c]c_int) c_int;
+pub extern fn DHparams_dup(dh: ?*const DH) ?*DH;
+pub extern fn DH_parse_parameters(cbs: [*c]CBS) ?*DH;
+pub extern fn DH_marshal_parameters(cbb: ?*CBB, dh: ?*const DH) c_int;
+pub extern fn DH_generate_parameters(prime_len: c_int, generator: c_int, callback: ?*const fn (c_int, c_int, ?*anyopaque) callconv(.C) void, cb_arg: ?*anyopaque) ?*DH;
+pub extern fn d2i_DHparams(ret: [*c]?*DH, inp: [*c][*c]const u8, len: c_long) ?*DH;
+pub extern fn i2d_DHparams(in: ?*const DH, outp: [*c][*c]u8) c_int;
+pub extern fn DH_compute_key(out: [*c]u8, peers_key: [*c]const BIGNUM, dh: ?*DH) c_int;
pub extern fn ENGINE_new() ?*ENGINE;
pub extern fn ENGINE_free(engine: ?*ENGINE) c_int;
pub extern fn ENGINE_set_RSA_method(engine: ?*ENGINE, method: [*c]const RSA_METHOD, method_size: usize) c_int;
@@ -2354,6 +2224,7 @@ pub extern fn METHOD_unref(method: ?*anyopaque) void;
pub extern fn DSA_new() [*c]DSA;
pub extern fn DSA_free(dsa: [*c]DSA) void;
pub extern fn DSA_up_ref(dsa: [*c]DSA) c_int;
+pub extern fn DSA_bits(dsa: [*c]const DSA) c_uint;
pub extern fn DSA_get0_pub_key(dsa: [*c]const DSA) [*c]const BIGNUM;
pub extern fn DSA_get0_priv_key(dsa: [*c]const DSA) [*c]const BIGNUM;
pub extern fn DSA_get0_p(dsa: [*c]const DSA) [*c]const BIGNUM;
@@ -2378,15 +2249,15 @@ pub extern fn DSA_verify(@"type": c_int, digest: [*c]const u8, digest_len: usize
pub extern fn DSA_check_signature(out_valid: [*c]c_int, digest: [*c]const u8, digest_len: usize, sig: [*c]const u8, sig_len: usize, dsa: [*c]const DSA) c_int;
pub extern fn DSA_size(dsa: [*c]const DSA) c_int;
pub extern fn DSA_SIG_parse(cbs: [*c]CBS) [*c]DSA_SIG;
-pub extern fn DSA_SIG_marshal(cbb: [*c]CBB, sig: [*c]const DSA_SIG) c_int;
+pub extern fn DSA_SIG_marshal(cbb: ?*CBB, sig: [*c]const DSA_SIG) c_int;
pub extern fn DSA_parse_public_key(cbs: [*c]CBS) [*c]DSA;
-pub extern fn DSA_marshal_public_key(cbb: [*c]CBB, dsa: [*c]const DSA) c_int;
+pub extern fn DSA_marshal_public_key(cbb: ?*CBB, dsa: [*c]const DSA) c_int;
pub extern fn DSA_parse_private_key(cbs: [*c]CBS) [*c]DSA;
-pub extern fn DSA_marshal_private_key(cbb: [*c]CBB, dsa: [*c]const DSA) c_int;
+pub extern fn DSA_marshal_private_key(cbb: ?*CBB, dsa: [*c]const DSA) c_int;
pub extern fn DSA_parse_parameters(cbs: [*c]CBS) [*c]DSA;
-pub extern fn DSA_marshal_parameters(cbb: [*c]CBB, dsa: [*c]const DSA) c_int;
-pub extern fn DSA_dup_DH(dsa: [*c]const DSA) [*c]DH;
-pub extern fn DSA_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?CRYPTO_EX_dup, free_func: ?CRYPTO_EX_free) c_int;
+pub extern fn DSA_marshal_parameters(cbb: ?*CBB, dsa: [*c]const DSA) c_int;
+pub extern fn DSA_dup_DH(dsa: [*c]const DSA) ?*DH;
+pub extern fn DSA_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?*const CRYPTO_EX_dup, free_func: ?*const CRYPTO_EX_free) c_int;
pub extern fn DSA_set_ex_data(dsa: [*c]DSA, idx: c_int, arg: ?*anyopaque) c_int;
pub extern fn DSA_get_ex_data(dsa: [*c]const DSA, idx: c_int) ?*anyopaque;
pub extern fn d2i_DSA_SIG(out_sig: [*c][*c]DSA_SIG, inp: [*c][*c]const u8, len: c_long) [*c]DSA_SIG;
@@ -2427,8 +2298,9 @@ pub extern fn EC_POINT_get_affine_coordinates_GFp(group: ?*const EC_GROUP, point
pub extern fn EC_POINT_get_affine_coordinates(group: ?*const EC_GROUP, point: ?*const EC_POINT, x: [*c]BIGNUM, y: [*c]BIGNUM, ctx: ?*BN_CTX) c_int;
pub extern fn EC_POINT_set_affine_coordinates_GFp(group: ?*const EC_GROUP, point: ?*EC_POINT, x: [*c]const BIGNUM, y: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
pub extern fn EC_POINT_set_affine_coordinates(group: ?*const EC_GROUP, point: ?*EC_POINT, x: [*c]const BIGNUM, y: [*c]const BIGNUM, ctx: ?*BN_CTX) c_int;
-pub extern fn EC_POINT_point2oct(group: ?*const EC_GROUP, point: ?*const EC_POINT, form: point_conversion_form_t, buf: [*c]u8, len: usize, ctx: ?*BN_CTX) usize;
-pub extern fn EC_POINT_point2cbb(out: [*c]CBB, group: ?*const EC_GROUP, point: ?*const EC_POINT, form: point_conversion_form_t, ctx: ?*BN_CTX) c_int;
+pub extern fn EC_POINT_point2oct(group: ?*const EC_GROUP, point: ?*const EC_POINT, form: point_conversion_form_t, buf: [*c]u8, max_out: usize, ctx: ?*BN_CTX) usize;
+pub extern fn EC_POINT_point2buf(group: ?*const EC_GROUP, point: ?*const EC_POINT, form: point_conversion_form_t, out_buf: [*c][*c]u8, ctx: ?*BN_CTX) usize;
+pub extern fn EC_POINT_point2cbb(out: ?*CBB, group: ?*const EC_GROUP, point: ?*const EC_POINT, form: point_conversion_form_t, ctx: ?*BN_CTX) c_int;
pub extern fn EC_POINT_oct2point(group: ?*const EC_GROUP, point: ?*EC_POINT, buf: [*c]const u8, len: usize, ctx: ?*BN_CTX) c_int;
pub extern fn EC_POINT_set_compressed_coordinates_GFp(group: ?*const EC_GROUP, point: ?*EC_POINT, x: [*c]const BIGNUM, y_bit: c_int, ctx: ?*BN_CTX) c_int;
pub extern fn EC_POINT_add(group: ?*const EC_GROUP, r: ?*EC_POINT, a: ?*const EC_POINT, b: ?*const EC_POINT, ctx: ?*BN_CTX) c_int;
@@ -2471,16 +2343,20 @@ pub extern fn EC_KEY_set_conv_form(key: ?*EC_KEY, cform: point_conversion_form_t
pub extern fn EC_KEY_check_key(key: ?*const EC_KEY) c_int;
pub extern fn EC_KEY_check_fips(key: ?*const EC_KEY) c_int;
pub extern fn EC_KEY_set_public_key_affine_coordinates(key: ?*EC_KEY, x: [*c]const BIGNUM, y: [*c]const BIGNUM) c_int;
+pub extern fn EC_KEY_oct2key(key: ?*EC_KEY, in: [*c]const u8, len: usize, ctx: ?*BN_CTX) c_int;
pub extern fn EC_KEY_key2buf(key: ?*const EC_KEY, form: point_conversion_form_t, out_buf: [*c][*c]u8, ctx: ?*BN_CTX) usize;
+pub extern fn EC_KEY_oct2priv(key: ?*EC_KEY, in: [*c]const u8, len: usize) c_int;
+pub extern fn EC_KEY_priv2oct(key: ?*const EC_KEY, out: [*c]u8, max_out: usize) usize;
+pub extern fn EC_KEY_priv2buf(key: ?*const EC_KEY, out_buf: [*c][*c]u8) usize;
pub extern fn EC_KEY_generate_key(key: ?*EC_KEY) c_int;
pub extern fn EC_KEY_generate_key_fips(key: ?*EC_KEY) c_int;
pub extern fn EC_KEY_derive_from_secret(group: ?*const EC_GROUP, secret: [*c]const u8, secret_len: usize) ?*EC_KEY;
pub extern fn EC_KEY_parse_private_key(cbs: [*c]CBS, group: ?*const EC_GROUP) ?*EC_KEY;
-pub extern fn EC_KEY_marshal_private_key(cbb: [*c]CBB, key: ?*const EC_KEY, enc_flags: c_uint) c_int;
+pub extern fn EC_KEY_marshal_private_key(cbb: ?*CBB, key: ?*const EC_KEY, enc_flags: c_uint) c_int;
pub extern fn EC_KEY_parse_curve_name(cbs: [*c]CBS) ?*EC_GROUP;
-pub extern fn EC_KEY_marshal_curve_name(cbb: [*c]CBB, group: ?*const EC_GROUP) c_int;
+pub extern fn EC_KEY_marshal_curve_name(cbb: ?*CBB, group: ?*const EC_GROUP) c_int;
pub extern fn EC_KEY_parse_parameters(cbs: [*c]CBS) ?*EC_GROUP;
-pub extern fn EC_KEY_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?CRYPTO_EX_dup, free_func: ?CRYPTO_EX_free) c_int;
+pub extern fn EC_KEY_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?*const CRYPTO_EX_dup, free_func: ?*const CRYPTO_EX_free) c_int;
pub extern fn EC_KEY_set_ex_data(r: ?*EC_KEY, idx: c_int, arg: ?*anyopaque) c_int;
pub extern fn EC_KEY_get_ex_data(r: ?*const EC_KEY, idx: c_int) ?*anyopaque;
pub extern fn EC_KEY_set_asn1_flag(key: ?*EC_KEY, flag: c_int) void;
@@ -2505,85 +2381,89 @@ pub extern fn ECDSA_do_sign(digest: [*c]const u8, digest_len: usize, key: ?*cons
pub extern fn ECDSA_do_verify(digest: [*c]const u8, digest_len: usize, sig: [*c]const ECDSA_SIG, key: ?*const EC_KEY) c_int;
pub extern fn ECDSA_SIG_parse(cbs: [*c]CBS) [*c]ECDSA_SIG;
pub extern fn ECDSA_SIG_from_bytes(in: [*c]const u8, in_len: usize) [*c]ECDSA_SIG;
-pub extern fn ECDSA_SIG_marshal(cbb: [*c]CBB, sig: [*c]const ECDSA_SIG) c_int;
+pub extern fn ECDSA_SIG_marshal(cbb: ?*CBB, sig: [*c]const ECDSA_SIG) c_int;
pub extern fn ECDSA_SIG_to_bytes(out_bytes: [*c][*c]u8, out_len: [*c]usize, sig: [*c]const ECDSA_SIG) c_int;
pub extern fn ECDSA_SIG_max_len(order_len: usize) usize;
pub extern fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(digest: [*c]const u8, digest_len: usize, eckey: ?*const EC_KEY, nonce: [*c]const u8, nonce_len: usize) [*c]ECDSA_SIG;
pub extern fn d2i_ECDSA_SIG(out: [*c][*c]ECDSA_SIG, inp: [*c][*c]const u8, len: c_long) [*c]ECDSA_SIG;
pub extern fn i2d_ECDSA_SIG(sig: [*c]const ECDSA_SIG, outp: [*c][*c]u8) c_int;
-pub extern fn CBS_init(cbs: [*c]CBS, data: [*c]const u8, len: usize) void;
-pub extern fn CBS_skip(cbs: [*c]CBS, len: usize) c_int;
-pub extern fn CBS_data(cbs: [*c]const CBS) [*c]const u8;
-pub extern fn CBS_len(cbs: [*c]const CBS) usize;
-pub extern fn CBS_stow(cbs: [*c]const CBS, out_ptr: [*c][*c]u8, out_len: [*c]usize) c_int;
-pub extern fn CBS_strdup(cbs: [*c]const CBS, out_ptr: [*c][*c]u8) c_int;
-pub extern fn CBS_contains_zero_byte(cbs: [*c]const CBS) c_int;
-pub extern fn CBS_mem_equal(cbs: [*c]const CBS, data: [*c]const u8, len: usize) c_int;
-pub extern fn CBS_get_u8(cbs: [*c]CBS, out: [*c]u8) c_int;
-pub extern fn CBS_get_u16(cbs: [*c]CBS, out: [*c]u16) c_int;
-pub extern fn CBS_get_u16le(cbs: [*c]CBS, out: [*c]u16) c_int;
-pub extern fn CBS_get_u24(cbs: [*c]CBS, out: [*c]u32) c_int;
-pub extern fn CBS_get_u32(cbs: [*c]CBS, out: [*c]u32) c_int;
-pub extern fn CBS_get_u32le(cbs: [*c]CBS, out: [*c]u32) c_int;
-pub extern fn CBS_get_u64(cbs: [*c]CBS, out: [*c]u64) c_int;
-pub extern fn CBS_get_u64le(cbs: [*c]CBS, out: [*c]u64) c_int;
-pub extern fn CBS_get_last_u8(cbs: [*c]CBS, out: [*c]u8) c_int;
-pub extern fn CBS_get_bytes(cbs: [*c]CBS, out: [*c]CBS, len: usize) c_int;
-pub extern fn CBS_copy_bytes(cbs: [*c]CBS, out: [*c]u8, len: usize) c_int;
-pub extern fn CBS_get_u8_length_prefixed(cbs: [*c]CBS, out: [*c]CBS) c_int;
-pub extern fn CBS_get_u16_length_prefixed(cbs: [*c]CBS, out: [*c]CBS) c_int;
-pub extern fn CBS_get_u24_length_prefixed(cbs: [*c]CBS, out: [*c]CBS) c_int;
-pub extern fn CBS_get_until_first(cbs: [*c]CBS, out: [*c]CBS, c: u8) c_int;
-pub extern fn CBS_get_asn1(cbs: [*c]CBS, out: [*c]CBS, tag_value: c_uint) c_int;
-pub extern fn CBS_get_asn1_element(cbs: [*c]CBS, out: [*c]CBS, tag_value: c_uint) c_int;
-pub extern fn CBS_peek_asn1_tag(cbs: [*c]const CBS, tag_value: c_uint) c_int;
-pub extern fn CBS_get_any_asn1(cbs: [*c]CBS, out: [*c]CBS, out_tag: [*c]c_uint) c_int;
-pub extern fn CBS_get_any_asn1_element(cbs: [*c]CBS, out: [*c]CBS, out_tag: [*c]c_uint, out_header_len: [*c]usize) c_int;
-pub extern fn CBS_get_any_ber_asn1_element(cbs: [*c]CBS, out: [*c]CBS, out_tag: [*c]c_uint, out_header_len: [*c]usize, out_ber_found: [*c]c_int) c_int;
-pub extern fn CBS_get_asn1_uint64(cbs: [*c]CBS, out: [*c]u64) c_int;
-pub extern fn CBS_get_asn1_int64(cbs: [*c]CBS, out: [*c]i64) c_int;
-pub extern fn CBS_get_asn1_bool(cbs: [*c]CBS, out: [*c]c_int) c_int;
-pub extern fn CBS_get_optional_asn1(cbs: [*c]CBS, out: [*c]CBS, out_present: [*c]c_int, tag: c_uint) c_int;
-pub extern fn CBS_get_optional_asn1_octet_string(cbs: [*c]CBS, out: [*c]CBS, out_present: [*c]c_int, tag: c_uint) c_int;
-pub extern fn CBS_get_optional_asn1_uint64(cbs: [*c]CBS, out: [*c]u64, tag: c_uint, default_value: u64) c_int;
-pub extern fn CBS_get_optional_asn1_bool(cbs: [*c]CBS, out: [*c]c_int, tag: c_uint, default_value: c_int) c_int;
-pub extern fn CBS_is_valid_asn1_bitstring(cbs: [*c]const CBS) c_int;
-pub extern fn CBS_asn1_bitstring_has_bit(cbs: [*c]const CBS, bit: c_uint) c_int;
-pub extern fn CBS_is_valid_asn1_integer(cbs: [*c]const CBS, out_is_negative: [*c]c_int) c_int;
-pub extern fn CBS_is_unsigned_asn1_integer(cbs: [*c]const CBS) c_int;
-pub extern fn CBS_asn1_oid_to_text(cbs: [*c]const CBS) [*c]u8;
-pub extern fn CBB_zero(cbb: [*c]CBB) void;
-pub extern fn CBB_init(cbb: [*c]CBB, initial_capacity: usize) c_int;
-pub extern fn CBB_init_fixed(cbb: [*c]CBB, buf: [*c]u8, len: usize) c_int;
-pub extern fn CBB_cleanup(cbb: [*c]CBB) void;
-pub extern fn CBB_finish(cbb: [*c]CBB, out_data: [*c][*c]u8, out_len: [*c]usize) c_int;
-pub extern fn CBB_flush(cbb: [*c]CBB) c_int;
-pub extern fn CBB_data(cbb: [*c]const CBB) [*c]const u8;
-pub extern fn CBB_len(cbb: [*c]const CBB) usize;
-pub extern fn CBB_add_u8_length_prefixed(cbb: [*c]CBB, out_contents: [*c]CBB) c_int;
-pub extern fn CBB_add_u16_length_prefixed(cbb: [*c]CBB, out_contents: [*c]CBB) c_int;
-pub extern fn CBB_add_u24_length_prefixed(cbb: [*c]CBB, out_contents: [*c]CBB) c_int;
-pub extern fn CBB_add_asn1(cbb: [*c]CBB, out_contents: [*c]CBB, tag: c_uint) c_int;
-pub extern fn CBB_add_bytes(cbb: [*c]CBB, data: [*c]const u8, len: usize) c_int;
-pub extern fn CBB_add_zeros(cbb: [*c]CBB, len: usize) c_int;
-pub extern fn CBB_add_space(cbb: [*c]CBB, out_data: [*c][*c]u8, len: usize) c_int;
-pub extern fn CBB_reserve(cbb: [*c]CBB, out_data: [*c][*c]u8, len: usize) c_int;
-pub extern fn CBB_did_write(cbb: [*c]CBB, len: usize) c_int;
-pub extern fn CBB_add_u8(cbb: [*c]CBB, value: u8) c_int;
-pub extern fn CBB_add_u16(cbb: [*c]CBB, value: u16) c_int;
-pub extern fn CBB_add_u16le(cbb: [*c]CBB, value: u16) c_int;
-pub extern fn CBB_add_u24(cbb: [*c]CBB, value: u32) c_int;
-pub extern fn CBB_add_u32(cbb: [*c]CBB, value: u32) c_int;
-pub extern fn CBB_add_u32le(cbb: [*c]CBB, value: u32) c_int;
-pub extern fn CBB_add_u64(cbb: [*c]CBB, value: u64) c_int;
-pub extern fn CBB_add_u64le(cbb: [*c]CBB, value: u64) c_int;
-pub extern fn CBB_discard_child(cbb: [*c]CBB) void;
-pub extern fn CBB_add_asn1_uint64(cbb: [*c]CBB, value: u64) c_int;
-pub extern fn CBB_add_asn1_int64(cbb: [*c]CBB, value: i64) c_int;
-pub extern fn CBB_add_asn1_octet_string(cbb: [*c]CBB, data: [*c]const u8, data_len: usize) c_int;
-pub extern fn CBB_add_asn1_bool(cbb: [*c]CBB, value: c_int) c_int;
-pub extern fn CBB_add_asn1_oid_from_text(cbb: [*c]CBB, text: [*c]const u8, len: usize) c_int;
-pub extern fn CBB_flush_asn1_set_of(cbb: [*c]CBB) c_int;
+// pub extern fn CBS_init(cbs: [*c]CBS, data: [*c]const u8, len: usize) void;
+// pub extern fn CBS_skip(cbs: [*c]CBS, len: usize) c_int;
+// pub extern fn CBS_data(cbs: [*c]const CBS) [*c]const u8;
+// pub extern fn CBS_len(cbs: [*c]const CBS) usize;
+// pub extern fn CBS_stow(cbs: [*c]const CBS, out_ptr: [*c][*c]u8, out_len: [*c]usize) c_int;
+// pub extern fn CBS_strdup(cbs: [*c]const CBS, out_ptr: [*c][*c]u8) c_int;
+// pub extern fn CBS_contains_zero_byte(cbs: [*c]const CBS) c_int;
+// pub extern fn CBS_mem_equal(cbs: [*c]const CBS, data: [*c]const u8, len: usize) c_int;
+// pub extern fn CBS_get_u8(cbs: [*c]CBS, out: [*c]u8) c_int;
+// pub extern fn CBS_get_u16(cbs: [*c]CBS, out: [*c]u16) c_int;
+// pub extern fn CBS_get_u16le(cbs: [*c]CBS, out: [*c]u16) c_int;
+// pub extern fn CBS_get_u24(cbs: [*c]CBS, out: [*c]u32) c_int;
+// pub extern fn CBS_get_u32(cbs: [*c]CBS, out: [*c]u32) c_int;
+// pub extern fn CBS_get_u32le(cbs: [*c]CBS, out: [*c]u32) c_int;
+// pub extern fn CBS_get_u64(cbs: [*c]CBS, out: [*c]u64) c_int;
+// pub extern fn CBS_get_u64le(cbs: [*c]CBS, out: [*c]u64) c_int;
+// pub extern fn CBS_get_last_u8(cbs: [*c]CBS, out: [*c]u8) c_int;
+// pub extern fn CBS_get_bytes(cbs: [*c]CBS, out: [*c]CBS, len: usize) c_int;
+// pub extern fn CBS_copy_bytes(cbs: [*c]CBS, out: [*c]u8, len: usize) c_int;
+// pub extern fn CBS_get_u8_length_prefixed(cbs: [*c]CBS, out: [*c]CBS) c_int;
+// pub extern fn CBS_get_u16_length_prefixed(cbs: [*c]CBS, out: [*c]CBS) c_int;
+// pub extern fn CBS_get_u24_length_prefixed(cbs: [*c]CBS, out: [*c]CBS) c_int;
+// pub extern fn CBS_get_until_first(cbs: [*c]CBS, out: [*c]CBS, c: u8) c_int;
+// pub extern fn CBS_get_asn1(cbs: [*c]CBS, out: [*c]CBS, tag_value: CBS_ASN1_TAG) c_int;
+// pub extern fn CBS_get_asn1_element(cbs: [*c]CBS, out: [*c]CBS, tag_value: CBS_ASN1_TAG) c_int;
+// pub extern fn CBS_peek_asn1_tag(cbs: [*c]const CBS, tag_value: CBS_ASN1_TAG) c_int;
+// pub extern fn CBS_get_any_asn1(cbs: [*c]CBS, out: [*c]CBS, out_tag: [*c]CBS_ASN1_TAG) c_int;
+// pub extern fn CBS_get_any_asn1_element(cbs: [*c]CBS, out: [*c]CBS, out_tag: [*c]CBS_ASN1_TAG, out_header_len: [*c]usize) c_int;
+// pub extern fn CBS_get_any_ber_asn1_element(cbs: [*c]CBS, out: [*c]CBS, out_tag: [*c]CBS_ASN1_TAG, out_header_len: [*c]usize, out_ber_found: [*c]c_int, out_indefinite: [*c]c_int) c_int;
+// pub extern fn CBS_get_asn1_uint64(cbs: [*c]CBS, out: [*c]u64) c_int;
+// pub extern fn CBS_get_asn1_int64(cbs: [*c]CBS, out: [*c]i64) c_int;
+// pub extern fn CBS_get_asn1_bool(cbs: [*c]CBS, out: [*c]c_int) c_int;
+// pub extern fn CBS_get_optional_asn1(cbs: [*c]CBS, out: [*c]CBS, out_present: [*c]c_int, tag: CBS_ASN1_TAG) c_int;
+// pub extern fn CBS_get_optional_asn1_octet_string(cbs: [*c]CBS, out: [*c]CBS, out_present: [*c]c_int, tag: CBS_ASN1_TAG) c_int;
+// pub extern fn CBS_get_optional_asn1_uint64(cbs: [*c]CBS, out: [*c]u64, tag: CBS_ASN1_TAG, default_value: u64) c_int;
+// pub extern fn CBS_get_optional_asn1_bool(cbs: [*c]CBS, out: [*c]c_int, tag: CBS_ASN1_TAG, default_value: c_int) c_int;
+// pub extern fn CBS_is_valid_asn1_bitstring(cbs: [*c]const CBS) c_int;
+// pub extern fn CBS_asn1_bitstring_has_bit(cbs: [*c]const CBS, bit: c_uint) c_int;
+// pub extern fn CBS_is_valid_asn1_integer(cbs: [*c]const CBS, out_is_negative: [*c]c_int) c_int;
+// pub extern fn CBS_is_unsigned_asn1_integer(cbs: [*c]const CBS) c_int;
+// pub extern fn CBS_asn1_oid_to_text(cbs: [*c]const CBS) [*c]u8;
+// pub extern fn CBS_parse_generalized_time(cbs: [*c]const CBS, out_tm: [*c]struct_tm, allow_timezone_offset: c_int) c_int;
+// pub extern fn CBS_parse_utc_time(cbs: [*c]const CBS, out_tm: [*c]struct_tm, allow_timezone_offset: c_int) c_int;
+// pub extern fn CBB_zero(cbb: ?*CBB) void;
+// pub extern fn CBB_init(cbb: ?*CBB, initial_capacity: usize) c_int;
+// pub extern fn CBB_init_fixed(cbb: ?*CBB, buf: [*c]u8, len: usize) c_int;
+// pub extern fn CBB_cleanup(cbb: ?*CBB) void;
+// pub extern fn CBB_finish(cbb: ?*CBB, out_data: [*c][*c]u8, out_len: [*c]usize) c_int;
+// pub extern fn CBB_flush(cbb: ?*CBB) c_int;
+// pub extern fn CBB_data(cbb: ?*const CBB) [*c]const u8;
+// pub extern fn CBB_len(cbb: ?*const CBB) usize;
+// pub extern fn CBB_add_u8_length_prefixed(cbb: ?*CBB, out_contents: ?*CBB) c_int;
+// pub extern fn CBB_add_u16_length_prefixed(cbb: ?*CBB, out_contents: ?*CBB) c_int;
+// pub extern fn CBB_add_u24_length_prefixed(cbb: ?*CBB, out_contents: ?*CBB) c_int;
+// pub extern fn CBB_add_asn1(cbb: ?*CBB, out_contents: ?*CBB, tag: CBS_ASN1_TAG) c_int;
+// pub extern fn CBB_add_bytes(cbb: ?*CBB, data: [*c]const u8, len: usize) c_int;
+// pub extern fn CBB_add_zeros(cbb: ?*CBB, len: usize) c_int;
+// pub extern fn CBB_add_space(cbb: ?*CBB, out_data: [*c][*c]u8, len: usize) c_int;
+// pub extern fn CBB_reserve(cbb: ?*CBB, out_data: [*c][*c]u8, len: usize) c_int;
+// pub extern fn CBB_did_write(cbb: ?*CBB, len: usize) c_int;
+// pub extern fn CBB_add_u8(cbb: ?*CBB, value: u8) c_int;
+// pub extern fn CBB_add_u16(cbb: ?*CBB, value: u16) c_int;
+// pub extern fn CBB_add_u16le(cbb: ?*CBB, value: u16) c_int;
+// pub extern fn CBB_add_u24(cbb: ?*CBB, value: u32) c_int;
+// pub extern fn CBB_add_u32(cbb: ?*CBB, value: u32) c_int;
+// pub extern fn CBB_add_u32le(cbb: ?*CBB, value: u32) c_int;
+// pub extern fn CBB_add_u64(cbb: ?*CBB, value: u64) c_int;
+// pub extern fn CBB_add_u64le(cbb: ?*CBB, value: u64) c_int;
+// pub extern fn CBB_discard_child(cbb: ?*CBB) void;
+// pub extern fn CBB_add_asn1_uint64(cbb: ?*CBB, value: u64) c_int;
+// pub extern fn CBB_add_asn1_uint64_with_tag(cbb: ?*CBB, value: u64, tag: CBS_ASN1_TAG) c_int;
+// pub extern fn CBB_add_asn1_int64(cbb: ?*CBB, value: i64) c_int;
+// pub extern fn CBB_add_asn1_int64_with_tag(cbb: ?*CBB, value: i64, tag: CBS_ASN1_TAG) c_int;
+// pub extern fn CBB_add_asn1_octet_string(cbb: ?*CBB, data: [*c]const u8, data_len: usize) c_int;
+// pub extern fn CBB_add_asn1_bool(cbb: ?*CBB, value: c_int) c_int;
+// pub extern fn CBB_add_asn1_oid_from_text(cbb: ?*CBB, text: [*c]const u8, len: usize) c_int;
+// pub extern fn CBB_flush_asn1_set_of(cbb: ?*CBB) c_int;
pub extern fn OBJ_dup(obj: ?*const ASN1_OBJECT) ?*ASN1_OBJECT;
pub extern fn OBJ_cmp(a: ?*const ASN1_OBJECT, b: ?*const ASN1_OBJECT) c_int;
pub extern fn OBJ_get0_data(obj: ?*const ASN1_OBJECT) [*c]const u8;
@@ -2596,7 +2476,7 @@ pub extern fn OBJ_txt2nid(s: [*c]const u8) c_int;
pub extern fn OBJ_nid2obj(nid: c_int) ?*ASN1_OBJECT;
pub extern fn OBJ_nid2sn(nid: c_int) [*c]const u8;
pub extern fn OBJ_nid2ln(nid: c_int) [*c]const u8;
-pub extern fn OBJ_nid2cbb(out: [*c]CBB, nid: c_int) c_int;
+pub extern fn OBJ_nid2cbb(out: ?*CBB, nid: c_int) c_int;
pub extern fn OBJ_txt2obj(s: [*c]const u8, dont_search_names: c_int) ?*ASN1_OBJECT;
pub extern fn OBJ_obj2txt(out: [*c]u8, out_len: c_int, obj: ?*const ASN1_OBJECT, always_return_oid: c_int) c_int;
pub extern fn OBJ_create(oid: [*c]const u8, short_name: [*c]const u8, long_name: [*c]const u8) c_int;
@@ -2612,119 +2492,119 @@ pub const OBJ_NAME = struct_obj_name_st;
pub extern fn OBJ_NAME_do_all_sorted(@"type": c_int, callback: ?*const fn ([*c]const OBJ_NAME, ?*anyopaque) callconv(.C) void, arg: ?*anyopaque) void;
pub extern fn OBJ_NAME_do_all(@"type": c_int, callback: ?*const fn ([*c]const OBJ_NAME, ?*anyopaque) callconv(.C) void, arg: ?*anyopaque) void;
pub extern fn OBJ_cleanup() void;
-pub const stack_CRYPTO_BUFFER_free_func = ?*const fn (?*CRYPTO_BUFFER) callconv(.C) void;
-pub const stack_CRYPTO_BUFFER_copy_func = ?*const fn (?*CRYPTO_BUFFER) callconv(.C) ?*CRYPTO_BUFFER;
-pub const stack_CRYPTO_BUFFER_cmp_func = ?*const fn ([*c]?*const CRYPTO_BUFFER, [*c]?*const CRYPTO_BUFFER) callconv(.C) c_int;
-pub fn sk_CRYPTO_BUFFER_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_CRYPTO_BUFFER_free_func = ?*const fn (?*CRYPTO_BUFFER) callconv(.C) void;
+pub const sk_CRYPTO_BUFFER_copy_func = ?*const fn (?*CRYPTO_BUFFER) callconv(.C) ?*CRYPTO_BUFFER;
+pub const sk_CRYPTO_BUFFER_cmp_func = ?*const fn ([*c]?*const CRYPTO_BUFFER, [*c]?*const CRYPTO_BUFFER) callconv(.C) c_int;
+pub fn sk_CRYPTO_BUFFER_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_CRYPTO_BUFFER_free_func, @alignCast(@import("std").meta.alignment(fn (?*CRYPTO_BUFFER) callconv(.C) void), free_func)).?(@ptrCast(?*CRYPTO_BUFFER, ptr));
+ @as(sk_CRYPTO_BUFFER_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*CRYPTO_BUFFER, @ptrCast(ptr)));
}
-pub fn sk_CRYPTO_BUFFER_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_CRYPTO_BUFFER_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_CRYPTO_BUFFER_copy_func, @alignCast(@import("std").meta.alignment(fn (?*CRYPTO_BUFFER) callconv(.C) ?*CRYPTO_BUFFER), copy_func)).?(@ptrCast(?*CRYPTO_BUFFER, ptr)));
+ return @as(?*anyopaque, @ptrCast(@as(sk_CRYPTO_BUFFER_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*CRYPTO_BUFFER, @ptrCast(ptr)))));
}
-pub fn sk_CRYPTO_BUFFER_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_CRYPTO_BUFFER_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const CRYPTO_BUFFER = @ptrCast(?*const CRYPTO_BUFFER, a.*);
- var b_ptr: ?*const CRYPTO_BUFFER = @ptrCast(?*const CRYPTO_BUFFER, b.*);
- return @ptrCast(stack_CRYPTO_BUFFER_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const CRYPTO_BUFFER, [*c]?*const CRYPTO_BUFFER) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const CRYPTO_BUFFER = @as(?*const CRYPTO_BUFFER, @ptrCast(a.*));
+ var b_ptr: ?*const CRYPTO_BUFFER = @as(?*const CRYPTO_BUFFER, @ptrCast(b.*));
+ return @as(sk_CRYPTO_BUFFER_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_CRYPTO_BUFFER_new(arg_comp: stack_CRYPTO_BUFFER_cmp_func) callconv(.C) ?*struct_stack_st_CRYPTO_BUFFER {
+pub fn sk_CRYPTO_BUFFER_new(arg_comp: sk_CRYPTO_BUFFER_cmp_func) callconv(.C) ?*struct_stack_st_CRYPTO_BUFFER {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_CRYPTO_BUFFER, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_CRYPTO_BUFFER, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_CRYPTO_BUFFER_new_null() callconv(.C) ?*struct_stack_st_CRYPTO_BUFFER {
- return @ptrCast(?*struct_stack_st_CRYPTO_BUFFER, sk_new_null());
+ return @as(?*struct_stack_st_CRYPTO_BUFFER, @ptrCast(sk_new_null()));
}
pub fn sk_CRYPTO_BUFFER_num(arg_sk: ?*const struct_stack_st_CRYPTO_BUFFER) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_CRYPTO_BUFFER_zero(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_CRYPTO_BUFFER_value(arg_sk: ?*const struct_stack_st_CRYPTO_BUFFER, arg_i: usize) callconv(.C) ?*CRYPTO_BUFFER {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*CRYPTO_BUFFER, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as(?*CRYPTO_BUFFER, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
pub fn sk_CRYPTO_BUFFER_set(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER, arg_i: usize, arg_p: ?*CRYPTO_BUFFER) callconv(.C) ?*CRYPTO_BUFFER {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*CRYPTO_BUFFER, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
+ return @as(?*CRYPTO_BUFFER, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
pub fn sk_CRYPTO_BUFFER_free(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_CRYPTO_BUFFER_pop_free(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER, arg_free_func: stack_CRYPTO_BUFFER_free_func) callconv(.C) void {
+pub fn sk_CRYPTO_BUFFER_pop_free(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER, arg_free_func: sk_CRYPTO_BUFFER_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_CRYPTO_BUFFER_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_CRYPTO_BUFFER_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_CRYPTO_BUFFER_insert(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER, arg_p: ?*CRYPTO_BUFFER, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_CRYPTO_BUFFER_delete(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER, arg_where: usize) callconv(.C) ?*CRYPTO_BUFFER {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*CRYPTO_BUFFER, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as(?*CRYPTO_BUFFER, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
pub fn sk_CRYPTO_BUFFER_delete_ptr(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER, arg_p: ?*const CRYPTO_BUFFER) callconv(.C) ?*CRYPTO_BUFFER {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*CRYPTO_BUFFER, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as(?*CRYPTO_BUFFER, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
pub fn sk_CRYPTO_BUFFER_find(arg_sk: ?*const struct_stack_st_CRYPTO_BUFFER, arg_out_index: [*c]usize, arg_p: ?*const CRYPTO_BUFFER) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_CRYPTO_BUFFER_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_CRYPTO_BUFFER_call_cmp_func);
}
pub fn sk_CRYPTO_BUFFER_shift(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER) callconv(.C) ?*CRYPTO_BUFFER {
var sk = arg_sk;
- return @ptrCast(?*CRYPTO_BUFFER, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*CRYPTO_BUFFER, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_CRYPTO_BUFFER_push(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER, arg_p: ?*CRYPTO_BUFFER) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_CRYPTO_BUFFER_pop(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER) callconv(.C) ?*CRYPTO_BUFFER {
var sk = arg_sk;
- return @ptrCast(?*CRYPTO_BUFFER, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*CRYPTO_BUFFER, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_CRYPTO_BUFFER_dup(arg_sk: ?*const struct_stack_st_CRYPTO_BUFFER) callconv(.C) ?*struct_stack_st_CRYPTO_BUFFER {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_CRYPTO_BUFFER, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_CRYPTO_BUFFER, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_CRYPTO_BUFFER_sort(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_CRYPTO_BUFFER_call_cmp_func);
}
pub fn sk_CRYPTO_BUFFER_is_sorted(arg_sk: ?*const struct_stack_st_CRYPTO_BUFFER) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_CRYPTO_BUFFER_set_cmp_func(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER, arg_comp: stack_CRYPTO_BUFFER_cmp_func) callconv(.C) stack_CRYPTO_BUFFER_cmp_func {
+pub fn sk_CRYPTO_BUFFER_set_cmp_func(arg_sk: ?*struct_stack_st_CRYPTO_BUFFER, arg_comp: sk_CRYPTO_BUFFER_cmp_func) callconv(.C) sk_CRYPTO_BUFFER_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_CRYPTO_BUFFER_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const CRYPTO_BUFFER, [*c]?*const CRYPTO_BUFFER) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_CRYPTO_BUFFER_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_CRYPTO_BUFFER_deep_copy(arg_sk: ?*const struct_stack_st_CRYPTO_BUFFER, arg_copy_func: ?*const fn (?*CRYPTO_BUFFER) callconv(.C) ?*CRYPTO_BUFFER, arg_free_func: ?*const fn (?*CRYPTO_BUFFER) callconv(.C) void) callconv(.C) ?*struct_stack_st_CRYPTO_BUFFER {
+pub fn sk_CRYPTO_BUFFER_deep_copy(arg_sk: ?*const struct_stack_st_CRYPTO_BUFFER, arg_copy_func: sk_CRYPTO_BUFFER_copy_func, arg_free_func: sk_CRYPTO_BUFFER_free_func) callconv(.C) ?*struct_stack_st_CRYPTO_BUFFER {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_CRYPTO_BUFFER, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_CRYPTO_BUFFER_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_CRYPTO_BUFFER_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_CRYPTO_BUFFER, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_CRYPTO_BUFFER_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_CRYPTO_BUFFER_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
pub extern fn CRYPTO_BUFFER_POOL_new() ?*CRYPTO_BUFFER_POOL;
pub extern fn CRYPTO_BUFFER_POOL_free(pool: ?*CRYPTO_BUFFER_POOL) void;
@@ -2762,7 +2642,7 @@ pub extern fn RSA_encrypt(rsa: ?*RSA, out_len: [*c]usize, out: [*c]u8, max_out:
pub extern fn RSA_decrypt(rsa: ?*RSA, out_len: [*c]usize, out: [*c]u8, max_out: usize, in: [*c]const u8, in_len: usize, padding: c_int) c_int;
pub extern fn RSA_public_encrypt(flen: usize, from: [*c]const u8, to: [*c]u8, rsa: ?*RSA, padding: c_int) c_int;
pub extern fn RSA_private_decrypt(flen: usize, from: [*c]const u8, to: [*c]u8, rsa: ?*RSA, padding: c_int) c_int;
-pub extern fn RSA_sign(hash_nid: c_int, digest: [*c]const u8, digest_len: c_uint, out: [*c]u8, out_len: [*c]c_uint, rsa: ?*RSA) c_int;
+pub extern fn RSA_sign(hash_nid: c_int, digest: [*c]const u8, digest_len: usize, out: [*c]u8, out_len: [*c]c_uint, rsa: ?*RSA) c_int;
pub extern fn RSA_sign_pss_mgf1(rsa: ?*RSA, out_len: [*c]usize, out: [*c]u8, max_out: usize, digest: [*c]const u8, digest_len: usize, md: ?*const EVP_MD, mgf1_md: ?*const EVP_MD, salt_len: c_int) c_int;
pub extern fn RSA_sign_raw(rsa: ?*RSA, out_len: [*c]usize, out: [*c]u8, max_out: usize, in: [*c]const u8, in_len: usize, padding: c_int) c_int;
pub extern fn RSA_verify(hash_nid: c_int, digest: [*c]const u8, digest_len: usize, sig: [*c]const u8, sig_len: usize, rsa: ?*RSA) c_int;
@@ -2782,18 +2662,19 @@ pub extern fn RSA_padding_add_PKCS1_OAEP_mgf1(to: [*c]u8, to_len: usize, from: [
pub extern fn RSA_add_pkcs1_prefix(out_msg: [*c][*c]u8, out_msg_len: [*c]usize, is_alloced: [*c]c_int, hash_nid: c_int, digest: [*c]const u8, digest_len: usize) c_int;
pub extern fn RSA_parse_public_key(cbs: [*c]CBS) ?*RSA;
pub extern fn RSA_public_key_from_bytes(in: [*c]const u8, in_len: usize) ?*RSA;
-pub extern fn RSA_marshal_public_key(cbb: [*c]CBB, rsa: ?*const RSA) c_int;
+pub extern fn RSA_marshal_public_key(cbb: ?*CBB, rsa: ?*const RSA) c_int;
pub extern fn RSA_public_key_to_bytes(out_bytes: [*c][*c]u8, out_len: [*c]usize, rsa: ?*const RSA) c_int;
pub extern fn RSA_parse_private_key(cbs: [*c]CBS) ?*RSA;
pub extern fn RSA_private_key_from_bytes(in: [*c]const u8, in_len: usize) ?*RSA;
-pub extern fn RSA_marshal_private_key(cbb: [*c]CBB, rsa: ?*const RSA) c_int;
+pub extern fn RSA_marshal_private_key(cbb: ?*CBB, rsa: ?*const RSA) c_int;
pub extern fn RSA_private_key_to_bytes(out_bytes: [*c][*c]u8, out_len: [*c]usize, rsa: ?*const RSA) c_int;
-pub extern fn RSA_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?CRYPTO_EX_dup, free_func: ?CRYPTO_EX_free) c_int;
+pub extern fn RSA_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?*const CRYPTO_EX_dup, free_func: ?*const CRYPTO_EX_free) c_int;
pub extern fn RSA_set_ex_data(rsa: ?*RSA, idx: c_int, arg: ?*anyopaque) c_int;
pub extern fn RSA_get_ex_data(rsa: ?*const RSA, idx: c_int) ?*anyopaque;
pub extern fn RSA_flags(rsa: ?*const RSA) c_int;
+pub extern fn RSA_test_flags(rsa: ?*const RSA, flags: c_int) c_int;
pub extern fn RSA_blinding_on(rsa: ?*RSA, ctx: ?*BN_CTX) c_int;
-pub extern fn RSA_generate_key(bits: c_int, e: c_ulong, callback: ?*anyopaque, cb_arg: ?*anyopaque) ?*RSA;
+pub extern fn RSA_generate_key(bits: c_int, e: u64, callback: ?*anyopaque, cb_arg: ?*anyopaque) ?*RSA;
pub extern fn d2i_RSAPublicKey(out: [*c]?*RSA, inp: [*c][*c]const u8, len: c_long) ?*RSA;
pub extern fn i2d_RSAPublicKey(in: ?*const RSA, outp: [*c][*c]u8) c_int;
pub extern fn d2i_RSAPrivateKey(out: [*c]?*RSA, inp: [*c][*c]const u8, len: c_long) ?*RSA;
@@ -2803,1324 +2684,1543 @@ pub extern fn RSA_verify_PKCS1_PSS(rsa: ?*const RSA, mHash: [*c]const u8, Hash:
pub extern fn RSA_padding_add_PKCS1_OAEP(to: [*c]u8, to_len: usize, from: [*c]const u8, from_len: usize, param: [*c]const u8, param_len: usize) c_int;
pub extern fn RSA_print(bio: [*c]BIO, rsa: ?*const RSA, indent: c_int) c_int;
pub extern fn RSA_get0_pss_params(rsa: ?*const RSA) [*c]const RSA_PSS_PARAMS;
-pub extern fn SHA1_Init(sha: *SHA_CTX) c_int;
-pub extern fn SHA1_Update(sha: *SHA_CTX, data: ?[*]const u8, len: usize) c_int;
-pub extern fn SHA1_Final(out: [*]u8, sha: *SHA_CTX) c_int;
-pub extern fn SHA1(data: [*]const u8, len: usize, out: [*]u8) [*]u8;
-pub extern fn SHA1_Transform(sha: *SHA_CTX, block: [*]const u8) void;
-pub extern fn SHA224_Init(sha: *SHA256_CTX) c_int;
-pub extern fn SHA224_Update(sha: *SHA256_CTX, data: ?[*]const u8, len: usize) c_int;
-pub extern fn SHA224_Final(out: [*]u8, sha: *SHA256_CTX) c_int;
-pub extern fn SHA224(data: [*]const u8, len: usize, out: [*]u8) [*]u8;
-pub extern fn SHA256_Init(sha: *SHA256_CTX) c_int;
-pub extern fn SHA256_Update(sha: *SHA256_CTX, data: ?[*]const u8, len: usize) c_int;
-pub extern fn SHA256_Final(out: [*]u8, sha: *SHA256_CTX) c_int;
-pub extern fn SHA256(data: [*]const u8, len: usize, out: [*]u8) [*]u8;
-pub extern fn SHA256_Transform(sha: *SHA256_CTX, block: [*]const u8) void;
-pub extern fn SHA256_TransformBlocks(state: [*c]u32, data: [*]const u8, num_blocks: usize) void;
-pub extern fn SHA384_Init(sha: *SHA512_CTX) c_int;
-pub extern fn SHA384_Update(sha: *SHA512_CTX, data: ?[*]const u8, len: usize) c_int;
-pub extern fn SHA384_Final(out: [*]u8, sha: *SHA512_CTX) c_int;
-pub extern fn SHA384(data: [*]const u8, len: usize, out: [*]u8) [*]u8;
-pub extern fn SHA512_Init(sha: *SHA512_CTX) c_int;
-pub extern fn SHA512_Update(sha: *SHA512_CTX, data: ?[*]const u8, len: usize) c_int;
-pub extern fn SHA512_Final(out: [*]u8, sha: *SHA512_CTX) c_int;
-pub extern fn SHA512(data: [*]const u8, len: usize, out: [*]u8) [*]u8;
-pub extern fn SHA512_Transform(sha: *SHA512_CTX, block: [*]const u8) void;
-pub extern fn SHA512_256_Init(sha: *SHA512_CTX) c_int;
-pub extern fn SHA512_256_Update(sha: *SHA512_CTX, data: ?[*]const u8, len: usize) c_int;
-pub extern fn SHA512_256_Final(out: [*]u8, sha: *SHA512_CTX) c_int;
-pub extern fn SHA512_256(data: [*]const u8, len: usize, out: [*]u8) [*]u8;
-pub extern fn X509_ALGOR_new() [*c]X509_ALGOR;
-pub extern fn X509_ALGOR_free(a: [*c]X509_ALGOR) void;
-pub extern fn d2i_X509_ALGOR(a: [*c][*c]X509_ALGOR, in: [*c][*c]const u8, len: c_long) [*c]X509_ALGOR;
-pub extern fn i2d_X509_ALGOR(a: [*c]X509_ALGOR, out: [*c][*c]u8) c_int;
-
-pub extern const X509_ALGOR_it: ASN1_ITEM;
-pub const struct_stack_st_X509_ALGOR = opaque {};
-pub const stack_X509_ALGOR_free_func = ?*const fn ([*c]X509_ALGOR) callconv(.C) void;
-pub const stack_X509_ALGOR_copy_func = ?*const fn ([*c]X509_ALGOR) callconv(.C) [*c]X509_ALGOR;
-pub const stack_X509_ALGOR_cmp_func = ?*const fn ([*c][*c]const X509_ALGOR, [*c][*c]const X509_ALGOR) callconv(.C) c_int;
-pub fn sk_X509_ALGOR_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub extern fn SHA1_Init(sha: [*c]SHA_CTX) c_int;
+pub extern fn SHA1_Update(sha: [*c]SHA_CTX, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn SHA1_Final(out: [*c]u8, sha: [*c]SHA_CTX) c_int;
+pub extern fn SHA1(data: [*c]const u8, len: usize, out: [*c]u8) [*c]u8;
+pub extern fn SHA1_Transform(sha: [*c]SHA_CTX, block: [*c]const u8) void;
+pub extern fn SHA224_Init(sha: [*c]SHA256_CTX) c_int;
+pub extern fn SHA224_Update(sha: [*c]SHA256_CTX, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn SHA224_Final(out: [*c]u8, sha: [*c]SHA256_CTX) c_int;
+pub extern fn SHA224(data: [*c]const u8, len: usize, out: [*c]u8) [*c]u8;
+pub extern fn SHA256_Init(sha: [*c]SHA256_CTX) c_int;
+pub extern fn SHA256_Update(sha: [*c]SHA256_CTX, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn SHA256_Final(out: [*c]u8, sha: [*c]SHA256_CTX) c_int;
+pub extern fn SHA256(data: [*c]const u8, len: usize, out: [*c]u8) [*c]u8;
+pub extern fn SHA256_Transform(sha: [*c]SHA256_CTX, block: [*c]const u8) void;
+pub extern fn SHA256_TransformBlocks(state: [*c]u32, data: [*c]const u8, num_blocks: usize) void;
+pub extern fn SHA384_Init(sha: [*c]SHA512_CTX) c_int;
+pub extern fn SHA384_Update(sha: [*c]SHA512_CTX, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn SHA384_Final(out: [*c]u8, sha: [*c]SHA512_CTX) c_int;
+pub extern fn SHA384(data: [*c]const u8, len: usize, out: [*c]u8) [*c]u8;
+pub extern fn SHA512_Init(sha: [*c]SHA512_CTX) c_int;
+pub extern fn SHA512_Update(sha: [*c]SHA512_CTX, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn SHA512_Final(out: [*c]u8, sha: [*c]SHA512_CTX) c_int;
+pub extern fn SHA512(data: [*c]const u8, len: usize, out: [*c]u8) [*c]u8;
+pub extern fn SHA512_Transform(sha: [*c]SHA512_CTX, block: [*c]const u8) void;
+pub extern fn SHA512_256_Init(sha: [*c]SHA512_CTX) c_int;
+pub extern fn SHA512_256_Update(sha: [*c]SHA512_CTX, data: ?*const anyopaque, len: usize) c_int;
+pub extern fn SHA512_256_Final(out: [*c]u8, sha: [*c]SHA512_CTX) c_int;
+pub extern fn SHA512_256(data: [*c]const u8, len: usize, out: [*c]u8) [*c]u8;
+pub const sk_X509_free_func = ?*const fn (?*X509) callconv(.C) void;
+pub const sk_X509_copy_func = ?*const fn (?*X509) callconv(.C) ?*X509;
+pub const sk_X509_cmp_func = ?*const fn ([*c]?*const X509, [*c]?*const X509) callconv(.C) c_int;
+pub fn sk_X509_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_ALGOR_free_func, @alignCast(@import("std").meta.alignment(fn ([*c]X509_ALGOR) callconv(.C) void), free_func)).?(@ptrCast([*c]X509_ALGOR, @alignCast(@import("std").meta.alignment(X509_ALGOR), ptr)));
+ @as(sk_X509_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*X509, @ptrCast(ptr)));
}
-pub fn sk_X509_ALGOR_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_ALGOR_copy_func, @alignCast(@import("std").meta.alignment(fn ([*c]X509_ALGOR) callconv(.C) [*c]X509_ALGOR), copy_func)).?(@ptrCast([*c]X509_ALGOR, @alignCast(@import("std").meta.alignment(X509_ALGOR), ptr))));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*X509, @ptrCast(ptr)))));
}
-pub fn sk_X509_ALGOR_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: [*c]const X509_ALGOR = @ptrCast([*c]const X509_ALGOR, @alignCast(@import("std").meta.alignment(X509_ALGOR), a.*));
- var b_ptr: [*c]const X509_ALGOR = @ptrCast([*c]const X509_ALGOR, @alignCast(@import("std").meta.alignment(X509_ALGOR), b.*));
- return @ptrCast(stack_X509_ALGOR_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const X509_ALGOR, [*c][*c]const X509_ALGOR) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const X509 = @as(?*const X509, @ptrCast(a.*));
+ var b_ptr: ?*const X509 = @as(?*const X509, @ptrCast(b.*));
+ return @as(sk_X509_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_ALGOR_new(arg_comp: stack_X509_ALGOR_cmp_func) callconv(.C) ?*struct_stack_st_X509_ALGOR {
+pub fn sk_X509_new(arg_comp: sk_X509_cmp_func) callconv(.C) ?*struct_stack_st_X509 {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_ALGOR, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
-pub fn sk_X509_ALGOR_new_null() callconv(.C) ?*struct_stack_st_X509_ALGOR {
- return @ptrCast(?*struct_stack_st_X509_ALGOR, sk_new_null());
+pub fn sk_X509_new_null() callconv(.C) ?*struct_stack_st_X509 {
+ return @as(?*struct_stack_st_X509, @ptrCast(sk_new_null()));
}
-pub fn sk_X509_ALGOR_num(arg_sk: ?*const struct_stack_st_X509_ALGOR) callconv(.C) usize {
+pub fn sk_X509_num(arg_sk: ?*const struct_stack_st_X509) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_ALGOR_zero(arg_sk: ?*struct_stack_st_X509_ALGOR) callconv(.C) void {
+pub fn sk_X509_zero(arg_sk: ?*struct_stack_st_X509) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_ALGOR_value(arg_sk: ?*const struct_stack_st_X509_ALGOR, arg_i: usize) callconv(.C) [*c]X509_ALGOR {
+pub fn sk_X509_value(arg_sk: ?*const struct_stack_st_X509, arg_i: usize) callconv(.C) ?*X509 {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast([*c]X509_ALGOR, @alignCast(@import("std").meta.alignment(X509_ALGOR), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
+ return @as(?*X509, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
-pub fn sk_X509_ALGOR_set(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_i: usize, arg_p: [*c]X509_ALGOR) callconv(.C) [*c]X509_ALGOR {
+pub fn sk_X509_set(arg_sk: ?*struct_stack_st_X509, arg_i: usize, arg_p: ?*X509) callconv(.C) ?*X509 {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast([*c]X509_ALGOR, @alignCast(@import("std").meta.alignment(X509_ALGOR), sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p))));
+ return @as(?*X509, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
-pub fn sk_X509_ALGOR_free(arg_sk: ?*struct_stack_st_X509_ALGOR) callconv(.C) void {
+pub fn sk_X509_free(arg_sk: ?*struct_stack_st_X509) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_ALGOR_pop_free(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_free_func: stack_X509_ALGOR_free_func) callconv(.C) void {
+pub fn sk_X509_pop_free(arg_sk: ?*struct_stack_st_X509, arg_free_func: sk_X509_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_ALGOR_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
-pub fn sk_X509_ALGOR_insert(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_p: [*c]X509_ALGOR, arg_where: usize) callconv(.C) usize {
+pub fn sk_X509_insert(arg_sk: ?*struct_stack_st_X509, arg_p: ?*X509, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
-pub fn sk_X509_ALGOR_delete(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_where: usize) callconv(.C) [*c]X509_ALGOR {
+pub fn sk_X509_delete(arg_sk: ?*struct_stack_st_X509, arg_where: usize) callconv(.C) ?*X509 {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast([*c]X509_ALGOR, @alignCast(@import("std").meta.alignment(X509_ALGOR), sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where)));
+ return @as(?*X509, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
-pub fn sk_X509_ALGOR_delete_ptr(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_p: [*c]const X509_ALGOR) callconv(.C) [*c]X509_ALGOR {
+pub fn sk_X509_delete_ptr(arg_sk: ?*struct_stack_st_X509, arg_p: ?*const X509) callconv(.C) ?*X509 {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast([*c]X509_ALGOR, @alignCast(@import("std").meta.alignment(X509_ALGOR), sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p))));
+ return @as(?*X509, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
-pub fn sk_X509_ALGOR_find(arg_sk: ?*const struct_stack_st_X509_ALGOR, arg_out_index: [*c]usize, arg_p: [*c]const X509_ALGOR) callconv(.C) c_int {
+pub fn sk_X509_find(arg_sk: ?*const struct_stack_st_X509, arg_out_index: [*c]usize, arg_p: ?*const X509) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_ALGOR_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_call_cmp_func);
}
-pub fn sk_X509_ALGOR_shift(arg_sk: ?*struct_stack_st_X509_ALGOR) callconv(.C) [*c]X509_ALGOR {
+pub fn sk_X509_shift(arg_sk: ?*struct_stack_st_X509) callconv(.C) ?*X509 {
var sk = arg_sk;
- return @ptrCast([*c]X509_ALGOR, @alignCast(@import("std").meta.alignment(X509_ALGOR), sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as(?*X509, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
-pub fn sk_X509_ALGOR_push(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_p: [*c]X509_ALGOR) callconv(.C) usize {
+pub fn sk_X509_push(arg_sk: ?*struct_stack_st_X509, arg_p: ?*X509) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
-pub fn sk_X509_ALGOR_pop(arg_sk: ?*struct_stack_st_X509_ALGOR) callconv(.C) [*c]X509_ALGOR {
+pub fn sk_X509_pop(arg_sk: ?*struct_stack_st_X509) callconv(.C) ?*X509 {
var sk = arg_sk;
- return @ptrCast([*c]X509_ALGOR, @alignCast(@import("std").meta.alignment(X509_ALGOR), sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as(?*X509, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
-pub fn sk_X509_ALGOR_dup(arg_sk: ?*const struct_stack_st_X509_ALGOR) callconv(.C) ?*struct_stack_st_X509_ALGOR {
+pub fn sk_X509_dup(arg_sk: ?*const struct_stack_st_X509) callconv(.C) ?*struct_stack_st_X509 {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_ALGOR, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
-pub fn sk_X509_ALGOR_sort(arg_sk: ?*struct_stack_st_X509_ALGOR) callconv(.C) void {
+pub fn sk_X509_sort(arg_sk: ?*struct_stack_st_X509) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_call_cmp_func);
}
-pub fn sk_X509_ALGOR_is_sorted(arg_sk: ?*const struct_stack_st_X509_ALGOR) callconv(.C) c_int {
+pub fn sk_X509_is_sorted(arg_sk: ?*const struct_stack_st_X509) callconv(.C) c_int {
+ var sk = arg_sk;
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
+}
+pub fn sk_X509_set_cmp_func(arg_sk: ?*struct_stack_st_X509, arg_comp: sk_X509_cmp_func) callconv(.C) sk_X509_cmp_func {
+ var sk = arg_sk;
+ var comp = arg_comp;
+ return @as(sk_X509_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
+}
+pub fn sk_X509_deep_copy(arg_sk: ?*const struct_stack_st_X509, arg_copy_func: sk_X509_copy_func, arg_free_func: sk_X509_free_func) callconv(.C) ?*struct_stack_st_X509 {
+ var sk = arg_sk;
+ var copy_func = arg_copy_func;
+ var free_func = arg_free_func;
+ return @as(?*struct_stack_st_X509, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
+}
+pub const stack_free_func = ?*const fn (?*anyopaque) callconv(.C) void;
+pub const stack_copy_func = ?*const fn (?*anyopaque) callconv(.C) ?*anyopaque;
+pub const stack_cmp_func = ?*const fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int;
+pub extern const X509_it: ASN1_ITEM;
+pub extern fn X509_up_ref(x509: ?*X509) c_int;
+pub extern fn X509_chain_up_ref(chain: ?*struct_stack_st_X509) ?*struct_stack_st_X509;
+pub extern fn X509_dup(x509: ?*X509) ?*X509;
+pub extern fn X509_free(x509: ?*X509) void;
+pub extern fn d2i_X509(out: [*c]?*X509, inp: [*c][*c]const u8, len: c_long) ?*X509;
+pub extern fn X509_parse_from_buffer(buf: ?*CRYPTO_BUFFER) ?*X509;
+pub extern fn i2d_X509(x509: ?*X509, outp: [*c][*c]u8) c_int;
+pub extern fn X509_get_version(x509: ?*const X509) c_long;
+pub extern fn X509_get0_serialNumber(x509: ?*const X509) [*c]const ASN1_INTEGER;
+pub extern fn X509_get0_notBefore(x509: ?*const X509) [*c]const ASN1_TIME;
+pub extern fn X509_get0_notAfter(x509: ?*const X509) [*c]const ASN1_TIME;
+pub extern fn X509_get_issuer_name(x509: ?*const X509) ?*X509_NAME;
+pub extern fn X509_get_subject_name(x509: ?*const X509) ?*X509_NAME;
+pub extern fn X509_get_X509_PUBKEY(x509: ?*const X509) ?*X509_PUBKEY;
+pub extern fn X509_get_pubkey(x509: ?*X509) [*c]EVP_PKEY;
+pub extern fn X509_get0_pubkey_bitstr(x509: ?*const X509) [*c]ASN1_BIT_STRING;
+pub extern fn X509_get0_uids(x509: ?*const X509, out_issuer_uid: [*c][*c]const ASN1_BIT_STRING, out_subject_uid: [*c][*c]const ASN1_BIT_STRING) void;
+pub const struct_stack_st_X509_EXTENSION = opaque {};
+pub extern fn X509_get0_extensions(x509: ?*const X509) ?*const struct_stack_st_X509_EXTENSION;
+pub extern fn X509_get_ext_count(x: ?*const X509) c_int;
+pub extern fn X509_get_ext_by_NID(x: ?*const X509, nid: c_int, lastpos: c_int) c_int;
+pub extern fn X509_get_ext_by_OBJ(x: ?*const X509, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
+pub extern fn X509_get_ext_by_critical(x: ?*const X509, crit: c_int, lastpos: c_int) c_int;
+pub extern fn X509_get_ext(x: ?*const X509, loc: c_int) ?*X509_EXTENSION;
+pub extern fn X509_get0_tbs_sigalg(x509: ?*const X509) [*c]const X509_ALGOR;
+pub extern fn X509_get0_signature(out_sig: [*c][*c]const ASN1_BIT_STRING, out_alg: [*c][*c]const X509_ALGOR, x509: ?*const X509) void;
+pub extern fn X509_get_signature_nid(x509: ?*const X509) c_int;
+pub extern fn i2d_X509_tbs(x509: ?*X509, outp: [*c][*c]u8) c_int;
+pub extern fn X509_new() ?*X509;
+pub extern fn X509_set_version(x509: ?*X509, version: c_long) c_int;
+pub extern fn X509_set_serialNumber(x509: ?*X509, serial: [*c]const ASN1_INTEGER) c_int;
+pub extern fn X509_set1_notBefore(x509: ?*X509, tm: [*c]const ASN1_TIME) c_int;
+pub extern fn X509_set1_notAfter(x509: ?*X509, tm: [*c]const ASN1_TIME) c_int;
+pub extern fn X509_getm_notBefore(x509: ?*X509) [*c]ASN1_TIME;
+pub extern fn X509_getm_notAfter(x: ?*X509) [*c]ASN1_TIME;
+pub extern fn X509_set_issuer_name(x509: ?*X509, name: ?*X509_NAME) c_int;
+pub extern fn X509_set_subject_name(x509: ?*X509, name: ?*X509_NAME) c_int;
+pub extern fn X509_set_pubkey(x509: ?*X509, pkey: [*c]EVP_PKEY) c_int;
+pub extern fn X509_delete_ext(x: ?*X509, loc: c_int) ?*X509_EXTENSION;
+pub extern fn X509_add_ext(x: ?*X509, ex: ?*const X509_EXTENSION, loc: c_int) c_int;
+pub extern fn X509_sign(x509: ?*X509, pkey: [*c]EVP_PKEY, md: ?*const EVP_MD) c_int;
+pub extern fn X509_sign_ctx(x509: ?*X509, ctx: [*c]EVP_MD_CTX) c_int;
+pub extern fn i2d_re_X509_tbs(x509: ?*X509, outp: [*c][*c]u8) c_int;
+pub extern fn X509_set1_signature_algo(x509: ?*X509, algo: [*c]const X509_ALGOR) c_int;
+pub extern fn X509_set1_signature_value(x509: ?*X509, sig: [*c]const u8, sig_len: usize) c_int;
+pub extern fn i2d_X509_AUX(x509: ?*X509, outp: [*c][*c]u8) c_int;
+pub extern fn d2i_X509_AUX(x509: [*c]?*X509, inp: [*c][*c]const u8, length: c_long) ?*X509;
+pub extern fn X509_alias_set1(x509: ?*X509, name: [*c]const u8, len: c_int) c_int;
+pub extern fn X509_keyid_set1(x509: ?*X509, id: [*c]const u8, len: c_int) c_int;
+pub extern fn X509_alias_get0(x509: ?*X509, out_len: [*c]c_int) [*c]u8;
+pub extern fn X509_keyid_get0(x509: ?*X509, out_len: [*c]c_int) [*c]u8;
+pub const sk_X509_CRL_free_func = ?*const fn (?*X509_CRL) callconv(.C) void;
+pub const sk_X509_CRL_copy_func = ?*const fn (?*X509_CRL) callconv(.C) ?*X509_CRL;
+pub const sk_X509_CRL_cmp_func = ?*const fn ([*c]?*const X509_CRL, [*c]?*const X509_CRL) callconv(.C) c_int;
+pub fn sk_X509_CRL_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+ var free_func = arg_free_func;
+ var ptr = arg_ptr;
+ @as(sk_X509_CRL_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*X509_CRL, @ptrCast(ptr)));
+}
+pub extern fn X509V3_EXT_d2i(ex: ?*X509_EXTENSION) ?*anyopaque;
+pub extern fn X509V3_EXT_get(ex: ?*X509_EXTENSION) ?*X509V3_EXT_METHOD;
+pub const X509V3_EXT_METHOD = opaque {};
+pub extern fn X509V3_EXT_get_nid(ndi: c_int) ?*X509V3_EXT_METHOD;
+pub fn sk_X509_CRL_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
+ var cmp_func = arg_cmp_func;
+ var a = arg_a;
+ var b = arg_b;
+ var a_ptr: ?*const X509_CRL = @as(?*const X509_CRL, @ptrCast(a.*));
+ var b_ptr: ?*const X509_CRL = @as(?*const X509_CRL, @ptrCast(b.*));
+ return @as(sk_X509_CRL_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
+}
+pub const struct_stack_st_X509_REVOKED = opaque {};
+pub const stack_X509_REVOKED_free_func = ?*const fn ([*c]X509_REVOKED) callconv(.C) void;
+pub const stack_X509_REVOKED_copy_func = ?*const fn ([*c]X509_REVOKED) callconv(.C) [*c]X509_REVOKED;
+pub const stack_X509_REVOKED_cmp_func = ?*const fn ([*c][*c]const X509_REVOKED, [*c][*c]const X509_REVOKED) callconv(.C) c_int;
+pub const struct_stack_st_GENERAL_NAMES = opaque {};
+pub const struct_stack_st_ACCESS_DESCRIPTION = opaque {};
+
+pub const OTHERNAME = extern struct {
+ type_id: ?*ASN1_OBJECT,
+ value: ?*ASN1_TYPE,
+};
+
+pub const GENERAL_NAME = extern struct {
+ name_type: enum(c_int) {
+ GEN_OTHERNAME = 0,
+ GEN_EMAIL = 1,
+ GEN_DNS = 2,
+ GEN_X400 = 3,
+ GEN_DIRNAME = 4,
+ GEN_EDIPARTY = 5,
+ GEN_URI = 6,
+ GEN_IPADD = 7,
+ GEN_RID = 8,
+ },
+ d: extern union {
+ ptr: *c_char,
+ otherName: *OTHERNAME,
+ rfc822Name: *ASN1_IA5STRING,
+ dNSName: *ASN1_IA5STRING,
+ x400Address: *ASN1_STRING,
+ directoryName: *X509_NAME,
+ //EDIPARTYNAME
+ ediPartyName: *anyopaque,
+ uniformResourceIdentifier: *ASN1_IA5STRING,
+ iPAddress: *ASN1_OCTET_STRING,
+ registeredID: *ASN1_OBJECT,
+ ip: *ASN1_OCTET_STRING,
+ dirn: *X509_NAME,
+ ia5: *ASN1_IA5STRING,
+ rid: *ASN1_OBJECT,
+ other: *ASN1_TYPE,
+ },
+};
+
+pub const ACCESS_DESCRIPTION = extern struct {
+ method: *ASN1_OBJECT,
+ location: *GENERAL_NAME,
+};
+
+pub fn sk_GENERAL_NAME_num(arg_sk: ?*const struct_stack_st_GENERAL_NAME) callconv(.C) usize {
+ var sk = arg_sk;
+ return sk_num(@as([*c]const _STACK, @alignCast(@ptrCast(sk))));
+}
+pub fn sk_GENERAL_NAME_free(arg_sk: ?*struct_stack_st_GENERAL_NAME) callconv(.C) void {
+ var sk = arg_sk;
+ sk_free(@as([*c]_STACK, @alignCast(@ptrCast(sk))));
+}
+pub const stack_GENERAL_NAME_free_func = ?*const fn (?*struct_stack_st_GENERAL_NAME) callconv(.C) void;
+
+pub fn sk_GENERAL_NAME_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+ var free_func = arg_free_func;
+ var ptr = arg_ptr;
+ @as(stack_GENERAL_NAME_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*struct_stack_st_GENERAL_NAME, @ptrCast(ptr)));
+}
+pub fn sk_GENERAL_NAME_pop_free(arg_sk: ?*struct_stack_st_GENERAL_NAME, arg_free_func: stack_GENERAL_NAME_free_func) callconv(.C) void {
+ var sk = arg_sk;
+ var free_func = arg_free_func;
+ sk_pop_free_ex(@as([*c]_STACK, @alignCast(@ptrCast(sk))), sk_GENERAL_NAME_call_free_func, @as(stack_free_func, @ptrCast(free_func)));
+}
+pub fn sk_GENERAL_NAME_value(arg_sk: ?*const struct_stack_st_GENERAL_NAME, arg_i: usize) callconv(.C) ?*GENERAL_NAME {
+ var sk = arg_sk;
+ var i = arg_i;
+ return @alignCast(@ptrCast(sk_value(@as([*c]const _STACK, @alignCast(@ptrCast(sk))), i)));
+}
+
+pub fn sk_ACCESS_DESCRIPTION_num(arg_sk: ?*const AUTHORITY_INFO_ACCESS) callconv(.C) usize {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @alignCast(@ptrCast(sk))));
+}
+pub fn sk_ACCESS_DESCRIPTION_free(arg_sk: ?*AUTHORITY_INFO_ACCESS) callconv(.C) void {
+ var sk = arg_sk;
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
+}
+pub const stack_ACCESS_DESCRIPTION_free_func = ?*const fn (?*AUTHORITY_INFO_ACCESS) callconv(.C) void;
+
+pub fn sk_ACCESS_DESCRIPTION_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+ var free_func = arg_free_func;
+ var ptr = arg_ptr;
+ @as(stack_ACCESS_DESCRIPTION_free_func, @ptrCast(free_func)).?(@as(?*AUTHORITY_INFO_ACCESS, @ptrCast(ptr)));
}
-pub fn sk_X509_ALGOR_set_cmp_func(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_comp: stack_X509_ALGOR_cmp_func) callconv(.C) stack_X509_ALGOR_cmp_func {
+pub fn sk_ACCESS_DESCRIPTION_pop_free(arg_sk: ?*AUTHORITY_INFO_ACCESS, arg_free_func: stack_ACCESS_DESCRIPTION_free_func) callconv(.C) void {
var sk = arg_sk;
+ var free_func = arg_free_func;
+ sk_pop_free_ex(@as([*c]_STACK, @alignCast(@ptrCast(sk))), sk_ACCESS_DESCRIPTION_call_free_func, @as(stack_free_func, @ptrCast(free_func)));
+}
+pub extern fn X509_get_serialNumber(x509: ?*X509) [*c]ASN1_INTEGER;
+pub fn sk_ACCESS_DESCRIPTION_value(arg_sk: ?*const AUTHORITY_INFO_ACCESS, arg_i: usize) callconv(.C) ?*ACCESS_DESCRIPTION {
+ var sk = arg_sk;
+ var i = arg_i;
+ return @alignCast(@ptrCast(sk_value(@as([*c]const _STACK, @alignCast(@ptrCast(sk))), i)));
+}
+pub const NID_id_on_SmtpUTF8Mailbox = @as(c_int, 1208);
+pub const NID_XmppAddr = @as(c_int, 1209);
+pub const NID_SRVName = @as(c_int, 1210);
+pub const NID_NAIRealm = @as(c_int, 1211);
+
+pub const stack_X509_CRL_free_func = ?*const fn (?*X509_CRL) callconv(.C) void;
+pub const stack_X509_CRL_copy_func = ?*const fn (?*X509_CRL) callconv(.C) ?*X509_CRL;
+pub const stack_X509_CRL_cmp_func = ?*const fn ([*c]?*const X509_CRL, [*c]?*const X509_CRL) callconv(.C) c_int;
+pub fn sk_X509_CRL_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+ var copy_func = arg_copy_func;
+ var ptr = arg_ptr;
+ return @as(?*anyopaque, @ptrCast(@as(stack_X509_CRL_copy_func, @ptrCast(copy_func)).?(@as(?*X509_CRL, @ptrCast(ptr)))));
+}
+pub fn sk_X509_CRL_new(arg_comp: stack_X509_CRL_cmp_func) callconv(.C) ?*struct_stack_st_X509_CRL {
var comp = arg_comp;
- return @ptrCast(stack_X509_ALGOR_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const X509_ALGOR, [*c][*c]const X509_ALGOR) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(?*struct_stack_st_X509_CRL, @ptrCast(sk_new(@as(stack_cmp_func, @ptrCast(comp)))));
+}
+pub fn sk_X509_CRL_new_null() callconv(.C) ?*struct_stack_st_X509_CRL {
+ return @as(?*struct_stack_st_X509_CRL, @ptrCast(sk_new_null()));
+}
+pub fn sk_X509_CRL_num(arg_sk: ?*const struct_stack_st_X509_CRL) callconv(.C) usize {
+ var sk = arg_sk;
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
+}
+pub fn sk_X509_CRL_zero(arg_sk: ?*struct_stack_st_X509_CRL) callconv(.C) void {
+ var sk = arg_sk;
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
+}
+pub fn sk_X509_CRL_value(arg_sk: ?*const struct_stack_st_X509_CRL, arg_i: usize) callconv(.C) ?*X509_CRL {
+ var sk = arg_sk;
+ var i = arg_i;
+ return @as(?*X509_CRL, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
+}
+pub fn sk_X509_CRL_set(arg_sk: ?*struct_stack_st_X509_CRL, arg_i: usize, arg_p: ?*X509_CRL) callconv(.C) ?*X509_CRL {
+ var sk = arg_sk;
+ var i = arg_i;
+ var p = arg_p;
+ return @as(?*X509_CRL, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
+}
+pub fn sk_X509_CRL_free(arg_sk: ?*struct_stack_st_X509_CRL) callconv(.C) void {
+ var sk = arg_sk;
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
+}
+pub fn sk_X509_CRL_pop_free(arg_sk: ?*struct_stack_st_X509_CRL, arg_free_func: sk_X509_CRL_free_func) callconv(.C) void {
+ var sk = arg_sk;
+ var free_func = arg_free_func;
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_CRL_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
+}
+pub fn sk_X509_CRL_insert(arg_sk: ?*struct_stack_st_X509_CRL, arg_p: ?*X509_CRL, arg_where: usize) callconv(.C) usize {
+ var sk = arg_sk;
+ var p = arg_p;
+ var where = arg_where;
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
-pub fn sk_X509_ALGOR_deep_copy(arg_sk: ?*const struct_stack_st_X509_ALGOR, arg_copy_func: ?*const fn ([*c]X509_ALGOR) callconv(.C) [*c]X509_ALGOR, arg_free_func: ?*const fn ([*c]X509_ALGOR) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_ALGOR {
+pub fn sk_X509_CRL_delete(arg_sk: ?*struct_stack_st_X509_CRL, arg_where: usize) callconv(.C) ?*X509_CRL {
+ var sk = arg_sk;
+ var where = arg_where;
+ return @as(?*X509_CRL, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
+}
+pub fn sk_X509_CRL_delete_ptr(arg_sk: ?*struct_stack_st_X509_CRL, arg_p: ?*const X509_CRL) callconv(.C) ?*X509_CRL {
+ var sk = arg_sk;
+ var p = arg_p;
+ return @as(?*X509_CRL, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
+}
+pub fn sk_X509_CRL_find(arg_sk: ?*const struct_stack_st_X509_CRL, arg_out_index: [*c]usize, arg_p: ?*const X509_CRL) callconv(.C) c_int {
+ var sk = arg_sk;
+ var out_index = arg_out_index;
+ var p = arg_p;
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_CRL_call_cmp_func);
+}
+pub fn sk_X509_CRL_shift(arg_sk: ?*struct_stack_st_X509_CRL) callconv(.C) ?*X509_CRL {
+ var sk = arg_sk;
+ return @as(?*X509_CRL, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
+}
+pub fn sk_X509_CRL_push(arg_sk: ?*struct_stack_st_X509_CRL, arg_p: ?*X509_CRL) callconv(.C) usize {
+ var sk = arg_sk;
+ var p = arg_p;
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
+}
+pub fn sk_X509_CRL_pop(arg_sk: ?*struct_stack_st_X509_CRL) callconv(.C) ?*X509_CRL {
+ var sk = arg_sk;
+ return @as(?*X509_CRL, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
+}
+pub fn sk_X509_CRL_dup(arg_sk: ?*const struct_stack_st_X509_CRL) callconv(.C) ?*struct_stack_st_X509_CRL {
+ var sk = arg_sk;
+ return @as(?*struct_stack_st_X509_CRL, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
+}
+pub fn sk_X509_CRL_sort(arg_sk: ?*struct_stack_st_X509_CRL) callconv(.C) void {
+ var sk = arg_sk;
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_CRL_call_cmp_func);
+}
+pub fn sk_X509_CRL_is_sorted(arg_sk: ?*const struct_stack_st_X509_CRL) callconv(.C) c_int {
+ var sk = arg_sk;
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
+}
+pub fn sk_X509_CRL_set_cmp_func(arg_sk: ?*struct_stack_st_X509_CRL, arg_comp: sk_X509_CRL_cmp_func) callconv(.C) sk_X509_CRL_cmp_func {
+ var sk = arg_sk;
+ var comp = arg_comp;
+ return @as(sk_X509_CRL_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
+}
+pub fn sk_X509_CRL_deep_copy(arg_sk: ?*const struct_stack_st_X509_CRL, arg_copy_func: sk_X509_CRL_copy_func, arg_free_func: sk_X509_CRL_free_func) callconv(.C) ?*struct_stack_st_X509_CRL {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_ALGOR, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_ALGOR_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_ALGOR_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_CRL, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_CRL_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_CRL_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
-pub const X509_ALGORS = struct_stack_st_X509_ALGOR;
+pub extern const X509_CRL_it: ASN1_ITEM;
+pub extern fn X509_CRL_up_ref(crl: ?*X509_CRL) c_int;
+pub extern fn X509_CRL_dup(crl: ?*X509_CRL) ?*X509_CRL;
+pub extern fn X509_CRL_free(crl: ?*X509_CRL) void;
+pub extern fn d2i_X509_CRL(out: [*c]?*X509_CRL, inp: [*c][*c]const u8, len: c_long) ?*X509_CRL;
+pub extern fn i2d_X509_CRL(crl: ?*X509_CRL, outp: [*c][*c]u8) c_int;
+pub extern fn X509_CRL_get_version(crl: ?*const X509_CRL) c_long;
+pub extern fn X509_CRL_get0_lastUpdate(crl: ?*const X509_CRL) [*c]const ASN1_TIME;
+pub extern fn X509_CRL_get0_nextUpdate(crl: ?*const X509_CRL) [*c]const ASN1_TIME;
+pub extern fn X509_CRL_get_issuer(crl: ?*const X509_CRL) ?*X509_NAME;
+pub extern fn X509_CRL_get_REVOKED(crl: ?*X509_CRL) ?*struct_stack_st_X509_REVOKED;
+pub extern fn X509_CRL_get0_extensions(crl: ?*const X509_CRL) ?*const struct_stack_st_X509_EXTENSION;
+pub extern fn X509_CRL_get_ext_count(x: ?*const X509_CRL) c_int;
+pub extern fn X509_CRL_get_ext_by_NID(x: ?*const X509_CRL, nid: c_int, lastpos: c_int) c_int;
+pub extern fn X509_CRL_get_ext_by_OBJ(x: ?*const X509_CRL, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
+pub extern fn X509_CRL_get_ext_by_critical(x: ?*const X509_CRL, crit: c_int, lastpos: c_int) c_int;
+pub extern fn X509_CRL_get_ext(x: ?*const X509_CRL, loc: c_int) ?*X509_EXTENSION;
+pub extern fn X509_CRL_get0_signature(crl: ?*const X509_CRL, out_sig: [*c][*c]const ASN1_BIT_STRING, out_alg: [*c][*c]const X509_ALGOR) void;
+pub extern fn X509_CRL_get_signature_nid(crl: ?*const X509_CRL) c_int;
+pub extern fn i2d_X509_CRL_tbs(crl: ?*X509_CRL, outp: [*c][*c]u8) c_int;
+pub extern fn X509_CRL_new() ?*X509_CRL;
+pub extern fn X509_CRL_set_version(crl: ?*X509_CRL, version: c_long) c_int;
+pub extern fn X509_CRL_set_issuer_name(crl: ?*X509_CRL, name: ?*X509_NAME) c_int;
+pub extern fn X509_CRL_set1_lastUpdate(crl: ?*X509_CRL, tm: [*c]const ASN1_TIME) c_int;
+pub extern fn X509_CRL_set1_nextUpdate(crl: ?*X509_CRL, tm: [*c]const ASN1_TIME) c_int;
+pub extern fn X509_CRL_delete_ext(x: ?*X509_CRL, loc: c_int) ?*X509_EXTENSION;
+pub extern fn X509_CRL_add_ext(x: ?*X509_CRL, ex: ?*const X509_EXTENSION, loc: c_int) c_int;
+pub extern fn X509_CRL_sign(crl: ?*X509_CRL, pkey: [*c]EVP_PKEY, md: ?*const EVP_MD) c_int;
+pub extern fn X509_CRL_sign_ctx(crl: ?*X509_CRL, ctx: [*c]EVP_MD_CTX) c_int;
+pub extern fn i2d_re_X509_CRL_tbs(crl: ?*X509_CRL, outp: [*c][*c]u8) c_int;
+pub extern fn X509_CRL_set1_signature_algo(crl: ?*X509_CRL, algo: [*c]const X509_ALGOR) c_int;
+pub extern fn X509_CRL_set1_signature_value(crl: ?*X509_CRL, sig: [*c]const u8, sig_len: usize) c_int;
+pub extern const X509_REQ_it: ASN1_ITEM;
+pub extern fn X509_REQ_dup(req: ?*X509_REQ) ?*X509_REQ;
+pub extern fn X509_REQ_free(req: ?*X509_REQ) void;
+pub extern fn d2i_X509_REQ(out: [*c]?*X509_REQ, inp: [*c][*c]const u8, len: c_long) ?*X509_REQ;
+pub extern fn i2d_X509_REQ(req: ?*X509_REQ, outp: [*c][*c]u8) c_int;
+pub extern fn X509_REQ_get_version(req: ?*const X509_REQ) c_long;
+pub extern fn X509_REQ_get_subject_name(req: ?*const X509_REQ) ?*X509_NAME;
+pub extern fn X509_REQ_get_pubkey(req: ?*X509_REQ) [*c]EVP_PKEY;
+pub extern fn X509_REQ_get0_signature(req: ?*const X509_REQ, out_sig: [*c][*c]const ASN1_BIT_STRING, out_alg: [*c][*c]const X509_ALGOR) void;
+pub extern fn X509_REQ_get_signature_nid(req: ?*const X509_REQ) c_int;
+pub extern fn X509_REQ_new() ?*X509_REQ;
+pub extern fn X509_REQ_set_version(req: ?*X509_REQ, version: c_long) c_int;
+pub extern fn X509_REQ_set_subject_name(req: ?*X509_REQ, name: ?*X509_NAME) c_int;
+pub extern fn X509_REQ_set_pubkey(req: ?*X509_REQ, pkey: [*c]EVP_PKEY) c_int;
+pub extern fn X509_REQ_sign(req: ?*X509_REQ, pkey: [*c]EVP_PKEY, md: ?*const EVP_MD) c_int;
+pub extern fn X509_REQ_sign_ctx(req: ?*X509_REQ, ctx: [*c]EVP_MD_CTX) c_int;
+pub extern fn i2d_re_X509_REQ_tbs(req: ?*X509_REQ, outp: [*c][*c]u8) c_int;
+pub extern fn X509_REQ_set1_signature_algo(req: ?*X509_REQ, algo: [*c]const X509_ALGOR) c_int;
+pub extern fn X509_REQ_set1_signature_value(req: ?*X509_REQ, sig: [*c]const u8, sig_len: usize) c_int;
pub const struct_stack_st_X509_NAME_ENTRY = opaque {};
-pub const stack_X509_NAME_ENTRY_free_func = ?*const fn (?*X509_NAME_ENTRY) callconv(.C) void;
-pub const stack_X509_NAME_ENTRY_copy_func = ?*const fn (?*X509_NAME_ENTRY) callconv(.C) ?*X509_NAME_ENTRY;
-pub const stack_X509_NAME_ENTRY_cmp_func = ?*const fn ([*c]?*const X509_NAME_ENTRY, [*c]?*const X509_NAME_ENTRY) callconv(.C) c_int;
-pub fn sk_X509_NAME_ENTRY_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_X509_NAME_ENTRY_free_func = ?*const fn (?*X509_NAME_ENTRY) callconv(.C) void;
+pub const sk_X509_NAME_ENTRY_copy_func = ?*const fn (?*X509_NAME_ENTRY) callconv(.C) ?*X509_NAME_ENTRY;
+pub const sk_X509_NAME_ENTRY_cmp_func = ?*const fn ([*c]?*const X509_NAME_ENTRY, [*c]?*const X509_NAME_ENTRY) callconv(.C) c_int;
+pub fn sk_X509_NAME_ENTRY_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_NAME_ENTRY_free_func, @alignCast(@import("std").meta.alignment(fn (?*X509_NAME_ENTRY) callconv(.C) void), free_func)).?(@ptrCast(?*X509_NAME_ENTRY, ptr));
+ @as(sk_X509_NAME_ENTRY_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*X509_NAME_ENTRY, @ptrCast(ptr)));
}
-pub fn sk_X509_NAME_ENTRY_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_NAME_ENTRY_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_NAME_ENTRY_copy_func, @alignCast(@import("std").meta.alignment(fn (?*X509_NAME_ENTRY) callconv(.C) ?*X509_NAME_ENTRY), copy_func)).?(@ptrCast(?*X509_NAME_ENTRY, ptr)));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_NAME_ENTRY_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*X509_NAME_ENTRY, @ptrCast(ptr)))));
}
-pub fn sk_X509_NAME_ENTRY_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_NAME_ENTRY_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const X509_NAME_ENTRY = @ptrCast(?*const X509_NAME_ENTRY, a.*);
- var b_ptr: ?*const X509_NAME_ENTRY = @ptrCast(?*const X509_NAME_ENTRY, b.*);
- return @ptrCast(stack_X509_NAME_ENTRY_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_NAME_ENTRY, [*c]?*const X509_NAME_ENTRY) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const X509_NAME_ENTRY = @as(?*const X509_NAME_ENTRY, @ptrCast(a.*));
+ var b_ptr: ?*const X509_NAME_ENTRY = @as(?*const X509_NAME_ENTRY, @ptrCast(b.*));
+ return @as(sk_X509_NAME_ENTRY_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_NAME_ENTRY_new(arg_comp: stack_X509_NAME_ENTRY_cmp_func) callconv(.C) ?*struct_stack_st_X509_NAME_ENTRY {
+pub fn sk_X509_NAME_ENTRY_new(arg_comp: sk_X509_NAME_ENTRY_cmp_func) callconv(.C) ?*struct_stack_st_X509_NAME_ENTRY {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_NAME_ENTRY, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_NAME_ENTRY, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_X509_NAME_ENTRY_new_null() callconv(.C) ?*struct_stack_st_X509_NAME_ENTRY {
- return @ptrCast(?*struct_stack_st_X509_NAME_ENTRY, sk_new_null());
+ return @as(?*struct_stack_st_X509_NAME_ENTRY, @ptrCast(sk_new_null()));
}
pub fn sk_X509_NAME_ENTRY_num(arg_sk: ?*const struct_stack_st_X509_NAME_ENTRY) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_NAME_ENTRY_zero(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_NAME_ENTRY_value(arg_sk: ?*const struct_stack_st_X509_NAME_ENTRY, arg_i: usize) callconv(.C) ?*X509_NAME_ENTRY {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*X509_NAME_ENTRY, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as(?*X509_NAME_ENTRY, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
pub fn sk_X509_NAME_ENTRY_set(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY, arg_i: usize, arg_p: ?*X509_NAME_ENTRY) callconv(.C) ?*X509_NAME_ENTRY {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*X509_NAME_ENTRY, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
+ return @as(?*X509_NAME_ENTRY, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_NAME_ENTRY_free(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_NAME_ENTRY_pop_free(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY, arg_free_func: stack_X509_NAME_ENTRY_free_func) callconv(.C) void {
+pub fn sk_X509_NAME_ENTRY_pop_free(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY, arg_free_func: sk_X509_NAME_ENTRY_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_NAME_ENTRY_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_NAME_ENTRY_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_X509_NAME_ENTRY_insert(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY, arg_p: ?*X509_NAME_ENTRY, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_X509_NAME_ENTRY_delete(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY, arg_where: usize) callconv(.C) ?*X509_NAME_ENTRY {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*X509_NAME_ENTRY, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as(?*X509_NAME_ENTRY, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
pub fn sk_X509_NAME_ENTRY_delete_ptr(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY, arg_p: ?*const X509_NAME_ENTRY) callconv(.C) ?*X509_NAME_ENTRY {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*X509_NAME_ENTRY, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as(?*X509_NAME_ENTRY, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_NAME_ENTRY_find(arg_sk: ?*const struct_stack_st_X509_NAME_ENTRY, arg_out_index: [*c]usize, arg_p: ?*const X509_NAME_ENTRY) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_NAME_ENTRY_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_NAME_ENTRY_call_cmp_func);
}
pub fn sk_X509_NAME_ENTRY_shift(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY) callconv(.C) ?*X509_NAME_ENTRY {
var sk = arg_sk;
- return @ptrCast(?*X509_NAME_ENTRY, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_NAME_ENTRY, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_NAME_ENTRY_push(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY, arg_p: ?*X509_NAME_ENTRY) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_X509_NAME_ENTRY_pop(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY) callconv(.C) ?*X509_NAME_ENTRY {
var sk = arg_sk;
- return @ptrCast(?*X509_NAME_ENTRY, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_NAME_ENTRY, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_NAME_ENTRY_dup(arg_sk: ?*const struct_stack_st_X509_NAME_ENTRY) callconv(.C) ?*struct_stack_st_X509_NAME_ENTRY {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_NAME_ENTRY, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_NAME_ENTRY, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_NAME_ENTRY_sort(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_NAME_ENTRY_call_cmp_func);
}
pub fn sk_X509_NAME_ENTRY_is_sorted(arg_sk: ?*const struct_stack_st_X509_NAME_ENTRY) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_NAME_ENTRY_set_cmp_func(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY, arg_comp: stack_X509_NAME_ENTRY_cmp_func) callconv(.C) stack_X509_NAME_ENTRY_cmp_func {
+pub fn sk_X509_NAME_ENTRY_set_cmp_func(arg_sk: ?*struct_stack_st_X509_NAME_ENTRY, arg_comp: sk_X509_NAME_ENTRY_cmp_func) callconv(.C) sk_X509_NAME_ENTRY_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_NAME_ENTRY_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_NAME_ENTRY, [*c]?*const X509_NAME_ENTRY) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_NAME_ENTRY_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_NAME_ENTRY_deep_copy(arg_sk: ?*const struct_stack_st_X509_NAME_ENTRY, arg_copy_func: ?*const fn (?*X509_NAME_ENTRY) callconv(.C) ?*X509_NAME_ENTRY, arg_free_func: ?*const fn (?*X509_NAME_ENTRY) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_NAME_ENTRY {
+pub fn sk_X509_NAME_ENTRY_deep_copy(arg_sk: ?*const struct_stack_st_X509_NAME_ENTRY, arg_copy_func: sk_X509_NAME_ENTRY_copy_func, arg_free_func: sk_X509_NAME_ENTRY_free_func) callconv(.C) ?*struct_stack_st_X509_NAME_ENTRY {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_NAME_ENTRY, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_NAME_ENTRY_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_NAME_ENTRY_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_NAME_ENTRY, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_NAME_ENTRY_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_NAME_ENTRY_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
pub const struct_stack_st_X509_NAME = opaque {};
-pub const stack_X509_NAME_free_func = ?*const fn (?*X509_NAME) callconv(.C) void;
-pub const stack_X509_NAME_copy_func = ?*const fn (?*X509_NAME) callconv(.C) ?*X509_NAME;
-pub const stack_X509_NAME_cmp_func = ?*const fn ([*c]?*const X509_NAME, [*c]?*const X509_NAME) callconv(.C) c_int;
-pub fn sk_X509_NAME_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_X509_NAME_free_func = ?*const fn (?*X509_NAME) callconv(.C) void;
+pub const sk_X509_NAME_copy_func = ?*const fn (?*X509_NAME) callconv(.C) ?*X509_NAME;
+pub const sk_X509_NAME_cmp_func = ?*const fn ([*c]?*const X509_NAME, [*c]?*const X509_NAME) callconv(.C) c_int;
+pub fn sk_X509_NAME_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_NAME_free_func, @alignCast(@import("std").meta.alignment(fn (?*X509_NAME) callconv(.C) void), free_func)).?(@ptrCast(?*X509_NAME, ptr));
+ @as(sk_X509_NAME_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*X509_NAME, @ptrCast(ptr)));
}
-pub fn sk_X509_NAME_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_NAME_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_NAME_copy_func, @alignCast(@import("std").meta.alignment(fn (?*X509_NAME) callconv(.C) ?*X509_NAME), copy_func)).?(@ptrCast(?*X509_NAME, ptr)));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_NAME_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*X509_NAME, @ptrCast(ptr)))));
}
-pub fn sk_X509_NAME_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_NAME_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const X509_NAME = @ptrCast(?*const X509_NAME, a.*);
- var b_ptr: ?*const X509_NAME = @ptrCast(?*const X509_NAME, b.*);
- return @ptrCast(stack_X509_NAME_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_NAME, [*c]?*const X509_NAME) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const X509_NAME = @as(?*const X509_NAME, @ptrCast(a.*));
+ var b_ptr: ?*const X509_NAME = @as(?*const X509_NAME, @ptrCast(b.*));
+ return @as(sk_X509_NAME_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_NAME_new(arg_comp: stack_X509_NAME_cmp_func) callconv(.C) ?*struct_stack_st_X509_NAME {
+pub fn sk_X509_NAME_new(arg_comp: sk_X509_NAME_cmp_func) callconv(.C) ?*struct_stack_st_X509_NAME {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_NAME, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_NAME, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_X509_NAME_new_null() callconv(.C) ?*struct_stack_st_X509_NAME {
- return @ptrCast(?*struct_stack_st_X509_NAME, sk_new_null());
+ return @as(?*struct_stack_st_X509_NAME, @ptrCast(sk_new_null()));
}
pub fn sk_X509_NAME_num(arg_sk: ?*const struct_stack_st_X509_NAME) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_NAME_zero(arg_sk: ?*struct_stack_st_X509_NAME) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_NAME_value(arg_sk: ?*const struct_stack_st_X509_NAME, arg_i: usize) callconv(.C) ?*X509_NAME {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*X509_NAME, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as(?*X509_NAME, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
pub fn sk_X509_NAME_set(arg_sk: ?*struct_stack_st_X509_NAME, arg_i: usize, arg_p: ?*X509_NAME) callconv(.C) ?*X509_NAME {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*X509_NAME, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
+ return @as(?*X509_NAME, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_NAME_free(arg_sk: ?*struct_stack_st_X509_NAME) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_NAME_pop_free(arg_sk: ?*struct_stack_st_X509_NAME, arg_free_func: stack_X509_NAME_free_func) callconv(.C) void {
+pub fn sk_X509_NAME_pop_free(arg_sk: ?*struct_stack_st_X509_NAME, arg_free_func: sk_X509_NAME_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_NAME_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_NAME_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_X509_NAME_insert(arg_sk: ?*struct_stack_st_X509_NAME, arg_p: ?*X509_NAME, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_X509_NAME_delete(arg_sk: ?*struct_stack_st_X509_NAME, arg_where: usize) callconv(.C) ?*X509_NAME {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*X509_NAME, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as(?*X509_NAME, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
pub fn sk_X509_NAME_delete_ptr(arg_sk: ?*struct_stack_st_X509_NAME, arg_p: ?*const X509_NAME) callconv(.C) ?*X509_NAME {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*X509_NAME, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as(?*X509_NAME, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_NAME_find(arg_sk: ?*const struct_stack_st_X509_NAME, arg_out_index: [*c]usize, arg_p: ?*const X509_NAME) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_NAME_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_NAME_call_cmp_func);
}
pub fn sk_X509_NAME_shift(arg_sk: ?*struct_stack_st_X509_NAME) callconv(.C) ?*X509_NAME {
var sk = arg_sk;
- return @ptrCast(?*X509_NAME, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_NAME, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_NAME_push(arg_sk: ?*struct_stack_st_X509_NAME, arg_p: ?*X509_NAME) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_X509_NAME_pop(arg_sk: ?*struct_stack_st_X509_NAME) callconv(.C) ?*X509_NAME {
var sk = arg_sk;
- return @ptrCast(?*X509_NAME, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_NAME, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_NAME_dup(arg_sk: ?*const struct_stack_st_X509_NAME) callconv(.C) ?*struct_stack_st_X509_NAME {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_NAME, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_NAME, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_NAME_sort(arg_sk: ?*struct_stack_st_X509_NAME) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_NAME_call_cmp_func);
}
pub fn sk_X509_NAME_is_sorted(arg_sk: ?*const struct_stack_st_X509_NAME) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_NAME_set_cmp_func(arg_sk: ?*struct_stack_st_X509_NAME, arg_comp: stack_X509_NAME_cmp_func) callconv(.C) stack_X509_NAME_cmp_func {
+pub fn sk_X509_NAME_set_cmp_func(arg_sk: ?*struct_stack_st_X509_NAME, arg_comp: sk_X509_NAME_cmp_func) callconv(.C) sk_X509_NAME_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_NAME_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_NAME, [*c]?*const X509_NAME) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_NAME_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_NAME_deep_copy(arg_sk: ?*const struct_stack_st_X509_NAME, arg_copy_func: ?*const fn (?*X509_NAME) callconv(.C) ?*X509_NAME, arg_free_func: ?*const fn (?*X509_NAME) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_NAME {
+pub fn sk_X509_NAME_deep_copy(arg_sk: ?*const struct_stack_st_X509_NAME, arg_copy_func: sk_X509_NAME_copy_func, arg_free_func: sk_X509_NAME_free_func) callconv(.C) ?*struct_stack_st_X509_NAME {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_NAME, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_NAME_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_NAME_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_NAME, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_NAME_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_NAME_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
-pub const X509_EXTENSIONS = struct_stack_st_X509_EXTENSION;
-pub const stack_X509_EXTENSION_free_func = ?*const fn (?*X509_EXTENSION) callconv(.C) void;
-pub const stack_X509_EXTENSION_copy_func = ?*const fn (?*X509_EXTENSION) callconv(.C) ?*X509_EXTENSION;
-pub const stack_X509_EXTENSION_cmp_func = ?*const fn ([*c]?*const X509_EXTENSION, [*c]?*const X509_EXTENSION) callconv(.C) c_int;
-pub fn sk_X509_EXTENSION_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub extern const X509_NAME_it: ASN1_ITEM;
+pub extern fn X509_NAME_new() ?*X509_NAME;
+pub extern fn X509_NAME_free(name: ?*X509_NAME) void;
+pub extern fn d2i_X509_NAME(out: [*c]?*X509_NAME, inp: [*c][*c]const u8, len: c_long) ?*X509_NAME;
+pub extern fn i2d_X509_NAME(in: ?*X509_NAME, outp: [*c][*c]u8) c_int;
+pub extern fn X509_NAME_dup(name: ?*X509_NAME) ?*X509_NAME;
+pub extern fn X509_NAME_get0_der(name: ?*X509_NAME, out_der: [*c][*c]const u8, out_der_len: [*c]usize) c_int;
+pub extern fn X509_NAME_set(xn: [*c]?*X509_NAME, name: ?*X509_NAME) c_int;
+pub extern fn X509_NAME_entry_count(name: ?*const X509_NAME) c_int;
+pub extern fn X509_NAME_get_index_by_NID(name: ?*const X509_NAME, nid: c_int, lastpos: c_int) c_int;
+pub extern fn X509_NAME_get_index_by_OBJ(name: ?*const X509_NAME, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
+pub extern fn X509_NAME_get_entry(name: ?*const X509_NAME, loc: c_int) ?*X509_NAME_ENTRY;
+pub extern fn X509_NAME_delete_entry(name: ?*X509_NAME, loc: c_int) ?*X509_NAME_ENTRY;
+pub extern fn X509_NAME_add_entry(name: ?*X509_NAME, entry: ?*const X509_NAME_ENTRY, loc: c_int, set: c_int) c_int;
+pub extern fn X509_NAME_add_entry_by_OBJ(name: ?*X509_NAME, obj: ?*const ASN1_OBJECT, @"type": c_int, bytes: [*c]const u8, len: c_int, loc: c_int, set: c_int) c_int;
+pub extern fn X509_NAME_add_entry_by_NID(name: ?*X509_NAME, nid: c_int, @"type": c_int, bytes: [*c]const u8, len: c_int, loc: c_int, set: c_int) c_int;
+pub extern fn X509_NAME_add_entry_by_txt(name: ?*X509_NAME, field: [*c]const u8, @"type": c_int, bytes: [*c]const u8, len: c_int, loc: c_int, set: c_int) c_int;
+pub extern const X509_NAME_ENTRY_it: ASN1_ITEM;
+pub extern fn X509_NAME_ENTRY_new() ?*X509_NAME_ENTRY;
+pub extern fn X509_NAME_ENTRY_free(entry: ?*X509_NAME_ENTRY) void;
+pub extern fn d2i_X509_NAME_ENTRY(out: [*c]?*X509_NAME_ENTRY, inp: [*c][*c]const u8, len: c_long) ?*X509_NAME_ENTRY;
+pub extern fn i2d_X509_NAME_ENTRY(in: ?*const X509_NAME_ENTRY, outp: [*c][*c]u8) c_int;
+pub extern fn X509_NAME_ENTRY_dup(entry: ?*const X509_NAME_ENTRY) ?*X509_NAME_ENTRY;
+pub extern fn X509_NAME_ENTRY_get_object(entry: ?*const X509_NAME_ENTRY) ?*ASN1_OBJECT;
+pub extern fn X509_NAME_ENTRY_set_object(entry: ?*X509_NAME_ENTRY, obj: ?*const ASN1_OBJECT) c_int;
+pub extern fn X509_NAME_ENTRY_get_data(entry: ?*const X509_NAME_ENTRY) [*c]ASN1_STRING;
+pub extern fn X509_NAME_ENTRY_set_data(entry: ?*X509_NAME_ENTRY, @"type": c_int, bytes: [*c]const u8, len: c_int) c_int;
+pub extern fn X509_NAME_ENTRY_set(entry: ?*const X509_NAME_ENTRY) c_int;
+pub extern fn X509_NAME_ENTRY_create_by_OBJ(out: [*c]?*X509_NAME_ENTRY, obj: ?*const ASN1_OBJECT, @"type": c_int, bytes: [*c]const u8, len: c_int) ?*X509_NAME_ENTRY;
+pub extern fn X509_NAME_ENTRY_create_by_NID(out: [*c]?*X509_NAME_ENTRY, nid: c_int, @"type": c_int, bytes: [*c]const u8, len: c_int) ?*X509_NAME_ENTRY;
+pub extern fn X509_NAME_ENTRY_create_by_txt(out: [*c]?*X509_NAME_ENTRY, field: [*c]const u8, @"type": c_int, bytes: [*c]const u8, len: c_int) ?*X509_NAME_ENTRY;
+pub extern const X509_EXTENSION_it: ASN1_ITEM;
+pub extern fn X509_EXTENSION_new() ?*X509_EXTENSION;
+pub extern fn X509_EXTENSION_free(ex: ?*X509_EXTENSION) void;
+pub extern fn d2i_X509_EXTENSION(out: [*c]?*X509_EXTENSION, inp: [*c][*c]const u8, len: c_long) ?*X509_EXTENSION;
+pub extern fn i2d_X509_EXTENSION(alg: ?*const X509_EXTENSION, outp: [*c][*c]u8) c_int;
+pub extern fn X509_EXTENSION_dup(ex: ?*const X509_EXTENSION) ?*X509_EXTENSION;
+pub extern fn X509_EXTENSION_create_by_NID(ex: [*c]?*X509_EXTENSION, nid: c_int, crit: c_int, data: [*c]const ASN1_OCTET_STRING) ?*X509_EXTENSION;
+pub extern fn X509_EXTENSION_create_by_OBJ(ex: [*c]?*X509_EXTENSION, obj: ?*const ASN1_OBJECT, crit: c_int, data: [*c]const ASN1_OCTET_STRING) ?*X509_EXTENSION;
+pub extern fn X509_EXTENSION_get_object(ex: ?*const X509_EXTENSION) ?*ASN1_OBJECT;
+pub extern fn X509_EXTENSION_get_data(ne: ?*const X509_EXTENSION) [*c]ASN1_OCTET_STRING;
+pub extern fn X509_EXTENSION_get_critical(ex: ?*const X509_EXTENSION) c_int;
+pub extern fn X509_EXTENSION_set_object(ex: ?*X509_EXTENSION, obj: ?*const ASN1_OBJECT) c_int;
+pub extern fn X509_EXTENSION_set_critical(ex: ?*X509_EXTENSION, crit: c_int) c_int;
+pub extern fn X509_EXTENSION_set_data(ex: ?*X509_EXTENSION, data: [*c]const ASN1_OCTET_STRING) c_int;
+pub const sk_X509_EXTENSION_free_func = ?*const fn (?*X509_EXTENSION) callconv(.C) void;
+pub const sk_X509_EXTENSION_copy_func = ?*const fn (?*X509_EXTENSION) callconv(.C) ?*X509_EXTENSION;
+pub const sk_X509_EXTENSION_cmp_func = ?*const fn ([*c]?*const X509_EXTENSION, [*c]?*const X509_EXTENSION) callconv(.C) c_int;
+pub fn sk_X509_EXTENSION_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_EXTENSION_free_func, @alignCast(@import("std").meta.alignment(fn (?*X509_EXTENSION) callconv(.C) void), free_func)).?(@ptrCast(?*X509_EXTENSION, ptr));
+ @as(sk_X509_EXTENSION_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*X509_EXTENSION, @ptrCast(ptr)));
}
-pub fn sk_X509_EXTENSION_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_EXTENSION_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_EXTENSION_copy_func, @alignCast(@import("std").meta.alignment(fn (?*X509_EXTENSION) callconv(.C) ?*X509_EXTENSION), copy_func)).?(@ptrCast(?*X509_EXTENSION, ptr)));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_EXTENSION_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*X509_EXTENSION, @ptrCast(ptr)))));
}
-pub fn sk_X509_EXTENSION_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_EXTENSION_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const X509_EXTENSION = @ptrCast(?*const X509_EXTENSION, a.*);
- var b_ptr: ?*const X509_EXTENSION = @ptrCast(?*const X509_EXTENSION, b.*);
- return @ptrCast(stack_X509_EXTENSION_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_EXTENSION, [*c]?*const X509_EXTENSION) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const X509_EXTENSION = @as(?*const X509_EXTENSION, @ptrCast(a.*));
+ var b_ptr: ?*const X509_EXTENSION = @as(?*const X509_EXTENSION, @ptrCast(b.*));
+ return @as(sk_X509_EXTENSION_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_EXTENSION_new(arg_comp: stack_X509_EXTENSION_cmp_func) callconv(.C) ?*struct_stack_st_X509_EXTENSION {
+pub fn sk_X509_EXTENSION_new(arg_comp: sk_X509_EXTENSION_cmp_func) callconv(.C) ?*struct_stack_st_X509_EXTENSION {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_EXTENSION, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_EXTENSION, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_X509_EXTENSION_new_null() callconv(.C) ?*struct_stack_st_X509_EXTENSION {
- return @ptrCast(?*struct_stack_st_X509_EXTENSION, sk_new_null());
+ return @as(?*struct_stack_st_X509_EXTENSION, @ptrCast(sk_new_null()));
}
pub fn sk_X509_EXTENSION_num(arg_sk: ?*const struct_stack_st_X509_EXTENSION) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_EXTENSION_zero(arg_sk: ?*struct_stack_st_X509_EXTENSION) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_EXTENSION_value(arg_sk: ?*const struct_stack_st_X509_EXTENSION, arg_i: usize) callconv(.C) ?*X509_EXTENSION {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*X509_EXTENSION, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as(?*X509_EXTENSION, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
pub fn sk_X509_EXTENSION_set(arg_sk: ?*struct_stack_st_X509_EXTENSION, arg_i: usize, arg_p: ?*X509_EXTENSION) callconv(.C) ?*X509_EXTENSION {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*X509_EXTENSION, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
+ return @as(?*X509_EXTENSION, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_EXTENSION_free(arg_sk: ?*struct_stack_st_X509_EXTENSION) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_EXTENSION_pop_free(arg_sk: ?*struct_stack_st_X509_EXTENSION, arg_free_func: stack_X509_EXTENSION_free_func) callconv(.C) void {
+pub fn sk_X509_EXTENSION_pop_free(arg_sk: ?*struct_stack_st_X509_EXTENSION, arg_free_func: sk_X509_EXTENSION_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_EXTENSION_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_EXTENSION_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_X509_EXTENSION_insert(arg_sk: ?*struct_stack_st_X509_EXTENSION, arg_p: ?*X509_EXTENSION, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_X509_EXTENSION_delete(arg_sk: ?*struct_stack_st_X509_EXTENSION, arg_where: usize) callconv(.C) ?*X509_EXTENSION {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*X509_EXTENSION, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as(?*X509_EXTENSION, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
pub fn sk_X509_EXTENSION_delete_ptr(arg_sk: ?*struct_stack_st_X509_EXTENSION, arg_p: ?*const X509_EXTENSION) callconv(.C) ?*X509_EXTENSION {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*X509_EXTENSION, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as(?*X509_EXTENSION, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_EXTENSION_find(arg_sk: ?*const struct_stack_st_X509_EXTENSION, arg_out_index: [*c]usize, arg_p: ?*const X509_EXTENSION) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_EXTENSION_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_EXTENSION_call_cmp_func);
}
pub fn sk_X509_EXTENSION_shift(arg_sk: ?*struct_stack_st_X509_EXTENSION) callconv(.C) ?*X509_EXTENSION {
var sk = arg_sk;
- return @ptrCast(?*X509_EXTENSION, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_EXTENSION, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_EXTENSION_push(arg_sk: ?*struct_stack_st_X509_EXTENSION, arg_p: ?*X509_EXTENSION) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_X509_EXTENSION_pop(arg_sk: ?*struct_stack_st_X509_EXTENSION) callconv(.C) ?*X509_EXTENSION {
var sk = arg_sk;
- return @ptrCast(?*X509_EXTENSION, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_EXTENSION, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_EXTENSION_dup(arg_sk: ?*const struct_stack_st_X509_EXTENSION) callconv(.C) ?*struct_stack_st_X509_EXTENSION {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_EXTENSION, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_EXTENSION, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_EXTENSION_sort(arg_sk: ?*struct_stack_st_X509_EXTENSION) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_EXTENSION_call_cmp_func);
}
pub fn sk_X509_EXTENSION_is_sorted(arg_sk: ?*const struct_stack_st_X509_EXTENSION) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_EXTENSION_set_cmp_func(arg_sk: ?*struct_stack_st_X509_EXTENSION, arg_comp: stack_X509_EXTENSION_cmp_func) callconv(.C) stack_X509_EXTENSION_cmp_func {
+pub fn sk_X509_EXTENSION_set_cmp_func(arg_sk: ?*struct_stack_st_X509_EXTENSION, arg_comp: sk_X509_EXTENSION_cmp_func) callconv(.C) sk_X509_EXTENSION_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_EXTENSION_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_EXTENSION, [*c]?*const X509_EXTENSION) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_EXTENSION_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_EXTENSION_deep_copy(arg_sk: ?*const struct_stack_st_X509_EXTENSION, arg_copy_func: ?*const fn (?*X509_EXTENSION) callconv(.C) ?*X509_EXTENSION, arg_free_func: ?*const fn (?*X509_EXTENSION) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_EXTENSION {
+pub fn sk_X509_EXTENSION_deep_copy(arg_sk: ?*const struct_stack_st_X509_EXTENSION, arg_copy_func: sk_X509_EXTENSION_copy_func, arg_free_func: sk_X509_EXTENSION_free_func) callconv(.C) ?*struct_stack_st_X509_EXTENSION {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_EXTENSION, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_EXTENSION_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_EXTENSION_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_EXTENSION, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_EXTENSION_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_EXTENSION_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
-pub const struct_stack_st_X509_ATTRIBUTE = opaque {};
-pub const stack_X509_ATTRIBUTE_free_func = ?*const fn (?*X509_ATTRIBUTE) callconv(.C) void;
-pub const stack_X509_ATTRIBUTE_copy_func = ?*const fn (?*X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE;
-pub const stack_X509_ATTRIBUTE_cmp_func = ?*const fn ([*c]?*const X509_ATTRIBUTE, [*c]?*const X509_ATTRIBUTE) callconv(.C) c_int;
-pub fn sk_X509_ATTRIBUTE_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const X509_EXTENSIONS = struct_stack_st_X509_EXTENSION;
+pub extern const X509_EXTENSIONS_it: ASN1_ITEM;
+pub extern fn d2i_X509_EXTENSIONS(out: [*c]?*X509_EXTENSIONS, inp: [*c][*c]const u8, len: c_long) ?*X509_EXTENSIONS;
+pub extern fn i2d_X509_EXTENSIONS(alg: ?*const X509_EXTENSIONS, outp: [*c][*c]u8) c_int;
+pub extern fn X509v3_get_ext_count(x: ?*const struct_stack_st_X509_EXTENSION) c_int;
+pub extern fn X509v3_get_ext_by_NID(x: ?*const struct_stack_st_X509_EXTENSION, nid: c_int, lastpos: c_int) c_int;
+pub extern fn X509v3_get_ext_by_OBJ(x: ?*const struct_stack_st_X509_EXTENSION, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
+pub extern fn X509v3_get_ext_by_critical(x: ?*const struct_stack_st_X509_EXTENSION, crit: c_int, lastpos: c_int) c_int;
+pub extern fn X509v3_get_ext(x: ?*const struct_stack_st_X509_EXTENSION, loc: c_int) ?*X509_EXTENSION;
+pub extern fn X509v3_delete_ext(x: ?*struct_stack_st_X509_EXTENSION, loc: c_int) ?*X509_EXTENSION;
+pub extern fn X509v3_add_ext(x: [*c]?*struct_stack_st_X509_EXTENSION, ex: ?*const X509_EXTENSION, loc: c_int) ?*struct_stack_st_X509_EXTENSION;
+pub const struct_stack_st_X509_ALGOR = opaque {};
+pub const sk_X509_ALGOR_free_func = ?*const fn ([*c]X509_ALGOR) callconv(.C) void;
+pub const sk_X509_ALGOR_copy_func = ?*const fn ([*c]X509_ALGOR) callconv(.C) [*c]X509_ALGOR;
+pub const sk_X509_ALGOR_cmp_func = ?*const fn ([*c][*c]const X509_ALGOR, [*c][*c]const X509_ALGOR) callconv(.C) c_int;
+pub fn sk_X509_ALGOR_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_ATTRIBUTE_free_func, @alignCast(@import("std").meta.alignment(fn (?*X509_ATTRIBUTE) callconv(.C) void), free_func)).?(@ptrCast(?*X509_ATTRIBUTE, ptr));
+ @as(sk_X509_ALGOR_free_func, @ptrCast(@alignCast(free_func))).?(@as([*c]X509_ALGOR, @ptrCast(@alignCast(ptr))));
}
-pub fn sk_X509_ATTRIBUTE_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_ALGOR_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_ATTRIBUTE_copy_func, @alignCast(@import("std").meta.alignment(fn (?*X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE), copy_func)).?(@ptrCast(?*X509_ATTRIBUTE, ptr)));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_ALGOR_copy_func, @ptrCast(@alignCast(copy_func))).?(@as([*c]X509_ALGOR, @ptrCast(@alignCast(ptr))))));
}
-pub fn sk_X509_ATTRIBUTE_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_ALGOR_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const X509_ATTRIBUTE = @ptrCast(?*const X509_ATTRIBUTE, a.*);
- var b_ptr: ?*const X509_ATTRIBUTE = @ptrCast(?*const X509_ATTRIBUTE, b.*);
- return @ptrCast(stack_X509_ATTRIBUTE_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_ATTRIBUTE, [*c]?*const X509_ATTRIBUTE) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: [*c]const X509_ALGOR = @as([*c]const X509_ALGOR, @ptrCast(@alignCast(a.*)));
+ var b_ptr: [*c]const X509_ALGOR = @as([*c]const X509_ALGOR, @ptrCast(@alignCast(b.*)));
+ return @as(sk_X509_ALGOR_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_ATTRIBUTE_new(arg_comp: stack_X509_ATTRIBUTE_cmp_func) callconv(.C) ?*struct_stack_st_X509_ATTRIBUTE {
+pub fn sk_X509_ALGOR_new(arg_comp: sk_X509_ALGOR_cmp_func) callconv(.C) ?*struct_stack_st_X509_ALGOR {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_ATTRIBUTE, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_ALGOR, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
-pub fn sk_X509_ATTRIBUTE_new_null() callconv(.C) ?*struct_stack_st_X509_ATTRIBUTE {
- return @ptrCast(?*struct_stack_st_X509_ATTRIBUTE, sk_new_null());
+pub fn sk_X509_ALGOR_new_null() callconv(.C) ?*struct_stack_st_X509_ALGOR {
+ return @as(?*struct_stack_st_X509_ALGOR, @ptrCast(sk_new_null()));
}
-pub fn sk_X509_ATTRIBUTE_num(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE) callconv(.C) usize {
+pub fn sk_X509_ALGOR_num(arg_sk: ?*const struct_stack_st_X509_ALGOR) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_ATTRIBUTE_zero(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE) callconv(.C) void {
+pub fn sk_X509_ALGOR_zero(arg_sk: ?*struct_stack_st_X509_ALGOR) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_ATTRIBUTE_value(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE, arg_i: usize) callconv(.C) ?*X509_ATTRIBUTE {
+pub fn sk_X509_ALGOR_value(arg_sk: ?*const struct_stack_st_X509_ALGOR, arg_i: usize) callconv(.C) [*c]X509_ALGOR {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*X509_ATTRIBUTE, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as([*c]X509_ALGOR, @ptrCast(@alignCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i))));
}
-pub fn sk_X509_ATTRIBUTE_set(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_i: usize, arg_p: ?*X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE {
+pub fn sk_X509_ALGOR_set(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_i: usize, arg_p: [*c]X509_ALGOR) callconv(.C) [*c]X509_ALGOR {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*X509_ATTRIBUTE, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
+ return @as([*c]X509_ALGOR, @ptrCast(@alignCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p))))));
}
-pub fn sk_X509_ATTRIBUTE_free(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE) callconv(.C) void {
+pub fn sk_X509_ALGOR_free(arg_sk: ?*struct_stack_st_X509_ALGOR) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_ATTRIBUTE_pop_free(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_free_func: stack_X509_ATTRIBUTE_free_func) callconv(.C) void {
+pub fn sk_X509_ALGOR_pop_free(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_free_func: sk_X509_ALGOR_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_ATTRIBUTE_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_ALGOR_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
-pub fn sk_X509_ATTRIBUTE_insert(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_p: ?*X509_ATTRIBUTE, arg_where: usize) callconv(.C) usize {
+pub fn sk_X509_ALGOR_insert(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_p: [*c]X509_ALGOR, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
-pub fn sk_X509_ATTRIBUTE_delete(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_where: usize) callconv(.C) ?*X509_ATTRIBUTE {
+pub fn sk_X509_ALGOR_delete(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_where: usize) callconv(.C) [*c]X509_ALGOR {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*X509_ATTRIBUTE, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as([*c]X509_ALGOR, @ptrCast(@alignCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where))));
}
-pub fn sk_X509_ATTRIBUTE_delete_ptr(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_p: ?*const X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE {
+pub fn sk_X509_ALGOR_delete_ptr(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_p: [*c]const X509_ALGOR) callconv(.C) [*c]X509_ALGOR {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*X509_ATTRIBUTE, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as([*c]X509_ALGOR, @ptrCast(@alignCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p))))));
}
-pub fn sk_X509_ATTRIBUTE_find(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE, arg_out_index: [*c]usize, arg_p: ?*const X509_ATTRIBUTE) callconv(.C) c_int {
+pub fn sk_X509_ALGOR_find(arg_sk: ?*const struct_stack_st_X509_ALGOR, arg_out_index: [*c]usize, arg_p: [*c]const X509_ALGOR) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_ATTRIBUTE_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_ALGOR_call_cmp_func);
}
-pub fn sk_X509_ATTRIBUTE_shift(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE {
+pub fn sk_X509_ALGOR_shift(arg_sk: ?*struct_stack_st_X509_ALGOR) callconv(.C) [*c]X509_ALGOR {
var sk = arg_sk;
- return @ptrCast(?*X509_ATTRIBUTE, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as([*c]X509_ALGOR, @ptrCast(@alignCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
-pub fn sk_X509_ATTRIBUTE_push(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_p: ?*X509_ATTRIBUTE) callconv(.C) usize {
+pub fn sk_X509_ALGOR_push(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_p: [*c]X509_ALGOR) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
-pub fn sk_X509_ATTRIBUTE_pop(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE {
+pub fn sk_X509_ALGOR_pop(arg_sk: ?*struct_stack_st_X509_ALGOR) callconv(.C) [*c]X509_ALGOR {
var sk = arg_sk;
- return @ptrCast(?*X509_ATTRIBUTE, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as([*c]X509_ALGOR, @ptrCast(@alignCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
-pub fn sk_X509_ATTRIBUTE_dup(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE) callconv(.C) ?*struct_stack_st_X509_ATTRIBUTE {
+pub fn sk_X509_ALGOR_dup(arg_sk: ?*const struct_stack_st_X509_ALGOR) callconv(.C) ?*struct_stack_st_X509_ALGOR {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_ATTRIBUTE, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_ALGOR, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
-pub fn sk_X509_ATTRIBUTE_sort(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE) callconv(.C) void {
+pub fn sk_X509_ALGOR_sort(arg_sk: ?*struct_stack_st_X509_ALGOR) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_ALGOR_call_cmp_func);
}
-pub fn sk_X509_ATTRIBUTE_is_sorted(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE) callconv(.C) c_int {
+pub fn sk_X509_ALGOR_is_sorted(arg_sk: ?*const struct_stack_st_X509_ALGOR) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_ATTRIBUTE_set_cmp_func(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_comp: stack_X509_ATTRIBUTE_cmp_func) callconv(.C) stack_X509_ATTRIBUTE_cmp_func {
+pub fn sk_X509_ALGOR_set_cmp_func(arg_sk: ?*struct_stack_st_X509_ALGOR, arg_comp: sk_X509_ALGOR_cmp_func) callconv(.C) sk_X509_ALGOR_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_ATTRIBUTE_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_ATTRIBUTE, [*c]?*const X509_ATTRIBUTE) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_ALGOR_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_ATTRIBUTE_deep_copy(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE, arg_copy_func: ?*const fn (?*X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE, arg_free_func: ?*const fn (?*X509_ATTRIBUTE) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_ATTRIBUTE {
+pub fn sk_X509_ALGOR_deep_copy(arg_sk: ?*const struct_stack_st_X509_ALGOR, arg_copy_func: sk_X509_ALGOR_copy_func, arg_free_func: sk_X509_ALGOR_free_func) callconv(.C) ?*struct_stack_st_X509_ALGOR {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_ATTRIBUTE, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_ATTRIBUTE_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_ATTRIBUTE_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_ALGOR, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_ALGOR_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_ALGOR_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
-pub const struct_stack_st_DIST_POINT = opaque {};
-pub const stack_X509_free_func = ?*const fn (?*X509) callconv(.C) void;
-pub const stack_X509_copy_func = ?*const fn (?*X509) callconv(.C) ?*X509;
-pub const stack_X509_cmp_func = ?*const fn ([*c]?*const X509, [*c]?*const X509) callconv(.C) c_int;
-pub fn sk_X509_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub extern const X509_ALGOR_it: ASN1_ITEM;
+pub extern fn X509_ALGOR_new() [*c]X509_ALGOR;
+pub extern fn X509_ALGOR_dup(alg: [*c]const X509_ALGOR) [*c]X509_ALGOR;
+pub extern fn X509_ALGOR_free(alg: [*c]X509_ALGOR) void;
+pub extern fn d2i_X509_ALGOR(out: [*c][*c]X509_ALGOR, inp: [*c][*c]const u8, len: c_long) [*c]X509_ALGOR;
+pub extern fn i2d_X509_ALGOR(alg: [*c]const X509_ALGOR, outp: [*c][*c]u8) c_int;
+pub extern fn X509_ALGOR_set0(alg: [*c]X509_ALGOR, obj: ?*ASN1_OBJECT, param_type: c_int, param_value: ?*anyopaque) c_int;
+pub extern fn X509_ALGOR_get0(out_obj: [*c]?*const ASN1_OBJECT, out_param_type: [*c]c_int, out_param_value: [*c]?*const anyopaque, alg: [*c]const X509_ALGOR) void;
+pub extern fn X509_ALGOR_set_md(alg: [*c]X509_ALGOR, md: ?*const EVP_MD) void;
+pub extern fn X509_ALGOR_cmp(a: [*c]const X509_ALGOR, b: [*c]const X509_ALGOR) c_int;
+pub extern fn X509_signature_dump(bio: [*c]BIO, sig: [*c]const ASN1_STRING, indent: c_int) c_int;
+pub extern fn X509_signature_print(bio: [*c]BIO, alg: [*c]const X509_ALGOR, sig: [*c]const ASN1_STRING) c_int;
+pub extern fn X509_pubkey_digest(x509: ?*const X509, md: ?*const EVP_MD, out: [*c]u8, out_len: [*c]c_uint) c_int;
+pub extern fn X509_digest(x509: ?*const X509, md: ?*const EVP_MD, out: [*c]u8, out_len: [*c]c_uint) c_int;
+pub extern fn X509_CRL_digest(crl: ?*const X509_CRL, md: ?*const EVP_MD, out: [*c]u8, out_len: [*c]c_uint) c_int;
+pub extern fn X509_REQ_digest(req: ?*const X509_REQ, md: ?*const EVP_MD, out: [*c]u8, out_len: [*c]c_uint) c_int;
+pub extern fn X509_NAME_digest(name: ?*const X509_NAME, md: ?*const EVP_MD, out: [*c]u8, out_len: [*c]c_uint) c_int;
+pub extern fn d2i_X509_bio(bp: [*c]BIO, x509: [*c]?*X509) ?*X509;
+pub extern fn d2i_X509_CRL_bio(bp: [*c]BIO, crl: [*c]?*X509_CRL) ?*X509_CRL;
+pub extern fn d2i_X509_REQ_bio(bp: [*c]BIO, req: [*c]?*X509_REQ) ?*X509_REQ;
+pub extern fn d2i_RSAPrivateKey_bio(bp: [*c]BIO, rsa: [*c]?*RSA) ?*RSA;
+pub extern fn d2i_RSAPublicKey_bio(bp: [*c]BIO, rsa: [*c]?*RSA) ?*RSA;
+pub extern fn d2i_RSA_PUBKEY_bio(bp: [*c]BIO, rsa: [*c]?*RSA) ?*RSA;
+pub extern fn d2i_DSA_PUBKEY_bio(bp: [*c]BIO, dsa: [*c][*c]DSA) [*c]DSA;
+pub extern fn d2i_DSAPrivateKey_bio(bp: [*c]BIO, dsa: [*c][*c]DSA) [*c]DSA;
+pub extern fn d2i_EC_PUBKEY_bio(bp: [*c]BIO, eckey: [*c]?*EC_KEY) ?*EC_KEY;
+pub extern fn d2i_ECPrivateKey_bio(bp: [*c]BIO, eckey: [*c]?*EC_KEY) ?*EC_KEY;
+pub extern fn d2i_PKCS8_bio(bp: [*c]BIO, p8: [*c]?*X509_SIG) ?*X509_SIG;
+pub extern fn d2i_PKCS8_PRIV_KEY_INFO_bio(bp: [*c]BIO, p8inf: [*c]?*PKCS8_PRIV_KEY_INFO) ?*PKCS8_PRIV_KEY_INFO;
+pub extern fn d2i_PUBKEY_bio(bp: [*c]BIO, a: [*c][*c]EVP_PKEY) [*c]EVP_PKEY;
+pub extern fn d2i_DHparams_bio(bp: [*c]BIO, dh: [*c]?*DH) ?*DH;
+pub extern fn d2i_PrivateKey_bio(bp: [*c]BIO, a: [*c][*c]EVP_PKEY) [*c]EVP_PKEY;
+pub extern fn i2d_X509_bio(bp: [*c]BIO, x509: ?*X509) c_int;
+pub extern fn i2d_X509_CRL_bio(bp: [*c]BIO, crl: ?*X509_CRL) c_int;
+pub extern fn i2d_X509_REQ_bio(bp: [*c]BIO, req: ?*X509_REQ) c_int;
+pub extern fn i2d_RSAPrivateKey_bio(bp: [*c]BIO, rsa: ?*RSA) c_int;
+pub extern fn i2d_RSAPublicKey_bio(bp: [*c]BIO, rsa: ?*RSA) c_int;
+pub extern fn i2d_RSA_PUBKEY_bio(bp: [*c]BIO, rsa: ?*RSA) c_int;
+pub extern fn i2d_DSA_PUBKEY_bio(bp: [*c]BIO, dsa: [*c]DSA) c_int;
+pub extern fn i2d_DSAPrivateKey_bio(bp: [*c]BIO, dsa: [*c]DSA) c_int;
+pub extern fn i2d_EC_PUBKEY_bio(bp: [*c]BIO, eckey: ?*EC_KEY) c_int;
+pub extern fn i2d_ECPrivateKey_bio(bp: [*c]BIO, eckey: ?*EC_KEY) c_int;
+pub extern fn i2d_PKCS8_bio(bp: [*c]BIO, p8: ?*X509_SIG) c_int;
+pub extern fn i2d_PKCS8_PRIV_KEY_INFO_bio(bp: [*c]BIO, p8inf: ?*PKCS8_PRIV_KEY_INFO) c_int;
+pub extern fn i2d_PrivateKey_bio(bp: [*c]BIO, pkey: [*c]EVP_PKEY) c_int;
+pub extern fn i2d_PUBKEY_bio(bp: [*c]BIO, pkey: [*c]EVP_PKEY) c_int;
+pub extern fn i2d_DHparams_bio(bp: [*c]BIO, dh: ?*const DH) c_int;
+pub extern fn i2d_PKCS8PrivateKeyInfo_bio(bp: [*c]BIO, key: [*c]EVP_PKEY) c_int;
+// pub extern fn d2i_X509_fp(fp: [*c]FILE, x509: [*c]?*X509) ?*X509;
+// pub extern fn d2i_X509_CRL_fp(fp: [*c]FILE, crl: [*c]?*X509_CRL) ?*X509_CRL;
+// pub extern fn d2i_X509_REQ_fp(fp: [*c]FILE, req: [*c]?*X509_REQ) ?*X509_REQ;
+// pub extern fn d2i_RSAPrivateKey_fp(fp: [*c]FILE, rsa: [*c]?*RSA) ?*RSA;
+// pub extern fn d2i_RSAPublicKey_fp(fp: [*c]FILE, rsa: [*c]?*RSA) ?*RSA;
+// pub extern fn d2i_RSA_PUBKEY_fp(fp: [*c]FILE, rsa: [*c]?*RSA) ?*RSA;
+// pub extern fn d2i_DSA_PUBKEY_fp(fp: [*c]FILE, dsa: [*c][*c]DSA) [*c]DSA;
+// pub extern fn d2i_DSAPrivateKey_fp(fp: [*c]FILE, dsa: [*c][*c]DSA) [*c]DSA;
+// pub extern fn d2i_EC_PUBKEY_fp(fp: [*c]FILE, eckey: [*c]?*EC_KEY) ?*EC_KEY;
+// pub extern fn d2i_ECPrivateKey_fp(fp: [*c]FILE, eckey: [*c]?*EC_KEY) ?*EC_KEY;
+// pub extern fn d2i_PKCS8_fp(fp: [*c]FILE, p8: [*c]?*X509_SIG) ?*X509_SIG;
+// pub extern fn d2i_PKCS8_PRIV_KEY_INFO_fp(fp: [*c]FILE, p8inf: [*c]?*PKCS8_PRIV_KEY_INFO) ?*PKCS8_PRIV_KEY_INFO;
+// pub extern fn d2i_PrivateKey_fp(fp: [*c]FILE, a: [*c][*c]EVP_PKEY) [*c]EVP_PKEY;
+// pub extern fn d2i_PUBKEY_fp(fp: [*c]FILE, a: [*c][*c]EVP_PKEY) [*c]EVP_PKEY;
+// pub extern fn i2d_X509_fp(fp: [*c]FILE, x509: ?*X509) c_int;
+// pub extern fn i2d_X509_CRL_fp(fp: [*c]FILE, crl: ?*X509_CRL) c_int;
+// pub extern fn i2d_X509_REQ_fp(fp: [*c]FILE, req: ?*X509_REQ) c_int;
+// pub extern fn i2d_RSAPrivateKey_fp(fp: [*c]FILE, rsa: ?*RSA) c_int;
+// pub extern fn i2d_RSAPublicKey_fp(fp: [*c]FILE, rsa: ?*RSA) c_int;
+// pub extern fn i2d_RSA_PUBKEY_fp(fp: [*c]FILE, rsa: ?*RSA) c_int;
+// pub extern fn i2d_DSA_PUBKEY_fp(fp: [*c]FILE, dsa: [*c]DSA) c_int;
+// pub extern fn i2d_DSAPrivateKey_fp(fp: [*c]FILE, dsa: [*c]DSA) c_int;
+// pub extern fn i2d_EC_PUBKEY_fp(fp: [*c]FILE, eckey: ?*EC_KEY) c_int;
+// pub extern fn i2d_ECPrivateKey_fp(fp: [*c]FILE, eckey: ?*EC_KEY) c_int;
+// pub extern fn i2d_PKCS8_fp(fp: [*c]FILE, p8: ?*X509_SIG) c_int;
+// pub extern fn i2d_PKCS8_PRIV_KEY_INFO_fp(fp: [*c]FILE, p8inf: ?*PKCS8_PRIV_KEY_INFO) c_int;
+// pub extern fn i2d_PKCS8PrivateKeyInfo_fp(fp: [*c]FILE, key: [*c]EVP_PKEY) c_int;
+// pub extern fn i2d_PrivateKey_fp(fp: [*c]FILE, pkey: [*c]EVP_PKEY) c_int;
+// pub extern fn i2d_PUBKEY_fp(fp: [*c]FILE, pkey: [*c]EVP_PKEY) c_int;
+pub extern fn X509_NAME_get_text_by_OBJ(name: ?*const X509_NAME, obj: ?*const ASN1_OBJECT, buf: [*c]u8, len: c_int) c_int;
+pub extern fn X509_NAME_get_text_by_NID(name: ?*const X509_NAME, nid: c_int, buf: [*c]u8, len: c_int) c_int;
+pub const struct_stack_st_X509_ATTRIBUTE = opaque {};
+pub const sk_X509_ATTRIBUTE_free_func = ?*const fn (?*X509_ATTRIBUTE) callconv(.C) void;
+pub const sk_X509_ATTRIBUTE_copy_func = ?*const fn (?*X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE;
+pub const sk_X509_ATTRIBUTE_cmp_func = ?*const fn ([*c]?*const X509_ATTRIBUTE, [*c]?*const X509_ATTRIBUTE) callconv(.C) c_int;
+pub fn sk_X509_ATTRIBUTE_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_free_func, @alignCast(@import("std").meta.alignment(fn (?*X509) callconv(.C) void), free_func)).?(@ptrCast(?*X509, ptr));
+ @as(sk_X509_ATTRIBUTE_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*X509_ATTRIBUTE, @ptrCast(ptr)));
}
-pub fn sk_X509_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_ATTRIBUTE_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_copy_func, @alignCast(@import("std").meta.alignment(fn (?*X509) callconv(.C) ?*X509), copy_func)).?(@ptrCast(?*X509, ptr)));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_ATTRIBUTE_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*X509_ATTRIBUTE, @ptrCast(ptr)))));
}
-pub fn sk_X509_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_ATTRIBUTE_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const X509 = @ptrCast(?*const X509, a.*);
- var b_ptr: ?*const X509 = @ptrCast(?*const X509, b.*);
- return @ptrCast(stack_X509_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509, [*c]?*const X509) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const X509_ATTRIBUTE = @as(?*const X509_ATTRIBUTE, @ptrCast(a.*));
+ var b_ptr: ?*const X509_ATTRIBUTE = @as(?*const X509_ATTRIBUTE, @ptrCast(b.*));
+ return @as(sk_X509_ATTRIBUTE_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_new(arg_comp: stack_X509_cmp_func) callconv(.C) ?*struct_stack_st_X509 {
+pub fn sk_X509_ATTRIBUTE_new(arg_comp: sk_X509_ATTRIBUTE_cmp_func) callconv(.C) ?*struct_stack_st_X509_ATTRIBUTE {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_ATTRIBUTE, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
-pub fn sk_X509_new_null() callconv(.C) ?*struct_stack_st_X509 {
- return @ptrCast(?*struct_stack_st_X509, sk_new_null());
+pub fn sk_X509_ATTRIBUTE_new_null() callconv(.C) ?*struct_stack_st_X509_ATTRIBUTE {
+ return @as(?*struct_stack_st_X509_ATTRIBUTE, @ptrCast(sk_new_null()));
}
-pub fn sk_X509_num(arg_sk: ?*const struct_stack_st_X509) callconv(.C) usize {
+pub fn sk_X509_ATTRIBUTE_num(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_zero(arg_sk: ?*struct_stack_st_X509) callconv(.C) void {
+pub fn sk_X509_ATTRIBUTE_zero(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_value(arg_sk: ?*const struct_stack_st_X509, arg_i: usize) callconv(.C) ?*X509 {
+pub fn sk_X509_ATTRIBUTE_value(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE, arg_i: usize) callconv(.C) ?*X509_ATTRIBUTE {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*X509, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as(?*X509_ATTRIBUTE, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
-pub fn sk_X509_set(arg_sk: ?*struct_stack_st_X509, arg_i: usize, arg_p: ?*X509) callconv(.C) ?*X509 {
+pub fn sk_X509_ATTRIBUTE_set(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_i: usize, arg_p: ?*X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*X509, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
+ return @as(?*X509_ATTRIBUTE, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
-pub fn sk_X509_free(arg_sk: ?*struct_stack_st_X509) callconv(.C) void {
+pub fn sk_X509_ATTRIBUTE_free(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_pop_free(arg_sk: ?*struct_stack_st_X509, arg_free_func: stack_X509_free_func) callconv(.C) void {
+pub fn sk_X509_ATTRIBUTE_pop_free(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_free_func: sk_X509_ATTRIBUTE_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_ATTRIBUTE_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
-pub fn sk_X509_insert(arg_sk: ?*struct_stack_st_X509, arg_p: ?*X509, arg_where: usize) callconv(.C) usize {
+pub fn sk_X509_ATTRIBUTE_insert(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_p: ?*X509_ATTRIBUTE, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
-pub fn sk_X509_delete(arg_sk: ?*struct_stack_st_X509, arg_where: usize) callconv(.C) ?*X509 {
+pub fn sk_X509_ATTRIBUTE_delete(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_where: usize) callconv(.C) ?*X509_ATTRIBUTE {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*X509, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as(?*X509_ATTRIBUTE, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
-pub fn sk_X509_delete_ptr(arg_sk: ?*struct_stack_st_X509, arg_p: ?*const X509) callconv(.C) ?*X509 {
+pub fn sk_X509_ATTRIBUTE_delete_ptr(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_p: ?*const X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*X509, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as(?*X509_ATTRIBUTE, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
-pub fn sk_X509_find(arg_sk: ?*const struct_stack_st_X509, arg_out_index: [*c]usize, arg_p: ?*const X509) callconv(.C) c_int {
+pub fn sk_X509_ATTRIBUTE_find(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE, arg_out_index: [*c]usize, arg_p: ?*const X509_ATTRIBUTE) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_ATTRIBUTE_call_cmp_func);
}
-pub fn sk_X509_shift(arg_sk: ?*struct_stack_st_X509) callconv(.C) ?*X509 {
+pub fn sk_X509_ATTRIBUTE_shift(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE {
var sk = arg_sk;
- return @ptrCast(?*X509, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_ATTRIBUTE, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
-pub fn sk_X509_push(arg_sk: ?*struct_stack_st_X509, arg_p: ?*X509) callconv(.C) usize {
+pub fn sk_X509_ATTRIBUTE_push(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_p: ?*X509_ATTRIBUTE) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
-pub fn sk_X509_pop(arg_sk: ?*struct_stack_st_X509) callconv(.C) ?*X509 {
+pub fn sk_X509_ATTRIBUTE_pop(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE) callconv(.C) ?*X509_ATTRIBUTE {
var sk = arg_sk;
- return @ptrCast(?*X509, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_ATTRIBUTE, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
-pub fn sk_X509_dup(arg_sk: ?*const struct_stack_st_X509) callconv(.C) ?*struct_stack_st_X509 {
+pub fn sk_X509_ATTRIBUTE_dup(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE) callconv(.C) ?*struct_stack_st_X509_ATTRIBUTE {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_ATTRIBUTE, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
-pub fn sk_X509_sort(arg_sk: ?*struct_stack_st_X509) callconv(.C) void {
+pub fn sk_X509_ATTRIBUTE_sort(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_ATTRIBUTE_call_cmp_func);
}
-pub fn sk_X509_is_sorted(arg_sk: ?*const struct_stack_st_X509) callconv(.C) c_int {
+pub fn sk_X509_ATTRIBUTE_is_sorted(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_set_cmp_func(arg_sk: ?*struct_stack_st_X509, arg_comp: stack_X509_cmp_func) callconv(.C) stack_X509_cmp_func {
+pub fn sk_X509_ATTRIBUTE_set_cmp_func(arg_sk: ?*struct_stack_st_X509_ATTRIBUTE, arg_comp: sk_X509_ATTRIBUTE_cmp_func) callconv(.C) sk_X509_ATTRIBUTE_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509, [*c]?*const X509) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_ATTRIBUTE_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_deep_copy(arg_sk: ?*const struct_stack_st_X509, arg_copy_func: ?*const fn (?*X509) callconv(.C) ?*X509, arg_free_func: ?*const fn (?*X509) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509 {
+pub fn sk_X509_ATTRIBUTE_deep_copy(arg_sk: ?*const struct_stack_st_X509_ATTRIBUTE, arg_copy_func: sk_X509_ATTRIBUTE_copy_func, arg_free_func: sk_X509_ATTRIBUTE_free_func) callconv(.C) ?*struct_stack_st_X509_ATTRIBUTE {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_ATTRIBUTE, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_ATTRIBUTE_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_ATTRIBUTE_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
+pub const struct_stack_st_DIST_POINT = opaque {};
+pub const struct_stack_st_GENERAL_NAME = opaque {};
pub const struct_stack_st_X509_TRUST = opaque {};
-pub const stack_X509_TRUST_free_func = ?*const fn ([*c]X509_TRUST) callconv(.C) void;
-pub const stack_X509_TRUST_copy_func = ?*const fn ([*c]X509_TRUST) callconv(.C) [*c]X509_TRUST;
-pub const stack_X509_TRUST_cmp_func = ?*const fn ([*c][*c]const X509_TRUST, [*c][*c]const X509_TRUST) callconv(.C) c_int;
-pub fn sk_X509_TRUST_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_X509_TRUST_free_func = ?*const fn ([*c]X509_TRUST) callconv(.C) void;
+pub const sk_X509_TRUST_copy_func = ?*const fn ([*c]X509_TRUST) callconv(.C) [*c]X509_TRUST;
+pub const sk_X509_TRUST_cmp_func = ?*const fn ([*c][*c]const X509_TRUST, [*c][*c]const X509_TRUST) callconv(.C) c_int;
+pub fn sk_X509_TRUST_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_TRUST_free_func, @alignCast(@import("std").meta.alignment(fn ([*c]X509_TRUST) callconv(.C) void), free_func)).?(@ptrCast([*c]X509_TRUST, @alignCast(@import("std").meta.alignment(X509_TRUST), ptr)));
+ @as(sk_X509_TRUST_free_func, @ptrCast(@alignCast(free_func))).?(@as([*c]X509_TRUST, @ptrCast(@alignCast(ptr))));
}
-pub fn sk_X509_TRUST_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_TRUST_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_TRUST_copy_func, @alignCast(@import("std").meta.alignment(fn ([*c]X509_TRUST) callconv(.C) [*c]X509_TRUST), copy_func)).?(@ptrCast([*c]X509_TRUST, @alignCast(@import("std").meta.alignment(X509_TRUST), ptr))));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_TRUST_copy_func, @ptrCast(@alignCast(copy_func))).?(@as([*c]X509_TRUST, @ptrCast(@alignCast(ptr))))));
}
-pub fn sk_X509_TRUST_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_TRUST_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: [*c]const X509_TRUST = @ptrCast([*c]const X509_TRUST, @alignCast(@import("std").meta.alignment(X509_TRUST), a.*));
- var b_ptr: [*c]const X509_TRUST = @ptrCast([*c]const X509_TRUST, @alignCast(@import("std").meta.alignment(X509_TRUST), b.*));
- return @ptrCast(stack_X509_TRUST_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const X509_TRUST, [*c][*c]const X509_TRUST) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: [*c]const X509_TRUST = @as([*c]const X509_TRUST, @ptrCast(@alignCast(a.*)));
+ var b_ptr: [*c]const X509_TRUST = @as([*c]const X509_TRUST, @ptrCast(@alignCast(b.*)));
+ return @as(sk_X509_TRUST_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_TRUST_new(arg_comp: stack_X509_TRUST_cmp_func) callconv(.C) ?*struct_stack_st_X509_TRUST {
+pub fn sk_X509_TRUST_new(arg_comp: sk_X509_TRUST_cmp_func) callconv(.C) ?*struct_stack_st_X509_TRUST {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_TRUST, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_TRUST, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_X509_TRUST_new_null() callconv(.C) ?*struct_stack_st_X509_TRUST {
- return @ptrCast(?*struct_stack_st_X509_TRUST, sk_new_null());
+ return @as(?*struct_stack_st_X509_TRUST, @ptrCast(sk_new_null()));
}
pub fn sk_X509_TRUST_num(arg_sk: ?*const struct_stack_st_X509_TRUST) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_TRUST_zero(arg_sk: ?*struct_stack_st_X509_TRUST) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_TRUST_value(arg_sk: ?*const struct_stack_st_X509_TRUST, arg_i: usize) callconv(.C) [*c]X509_TRUST {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast([*c]X509_TRUST, @alignCast(@import("std").meta.alignment(X509_TRUST), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
+ return @as([*c]X509_TRUST, @ptrCast(@alignCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i))));
}
pub fn sk_X509_TRUST_set(arg_sk: ?*struct_stack_st_X509_TRUST, arg_i: usize, arg_p: [*c]X509_TRUST) callconv(.C) [*c]X509_TRUST {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast([*c]X509_TRUST, @alignCast(@import("std").meta.alignment(X509_TRUST), sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p))));
+ return @as([*c]X509_TRUST, @ptrCast(@alignCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p))))));
}
pub fn sk_X509_TRUST_free(arg_sk: ?*struct_stack_st_X509_TRUST) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_TRUST_pop_free(arg_sk: ?*struct_stack_st_X509_TRUST, arg_free_func: stack_X509_TRUST_free_func) callconv(.C) void {
+pub fn sk_X509_TRUST_pop_free(arg_sk: ?*struct_stack_st_X509_TRUST, arg_free_func: sk_X509_TRUST_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_TRUST_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_TRUST_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_X509_TRUST_insert(arg_sk: ?*struct_stack_st_X509_TRUST, arg_p: [*c]X509_TRUST, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_X509_TRUST_delete(arg_sk: ?*struct_stack_st_X509_TRUST, arg_where: usize) callconv(.C) [*c]X509_TRUST {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast([*c]X509_TRUST, @alignCast(@import("std").meta.alignment(X509_TRUST), sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where)));
+ return @as([*c]X509_TRUST, @ptrCast(@alignCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where))));
}
pub fn sk_X509_TRUST_delete_ptr(arg_sk: ?*struct_stack_st_X509_TRUST, arg_p: [*c]const X509_TRUST) callconv(.C) [*c]X509_TRUST {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast([*c]X509_TRUST, @alignCast(@import("std").meta.alignment(X509_TRUST), sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p))));
+ return @as([*c]X509_TRUST, @ptrCast(@alignCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p))))));
}
pub fn sk_X509_TRUST_find(arg_sk: ?*const struct_stack_st_X509_TRUST, arg_out_index: [*c]usize, arg_p: [*c]const X509_TRUST) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_TRUST_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_TRUST_call_cmp_func);
}
pub fn sk_X509_TRUST_shift(arg_sk: ?*struct_stack_st_X509_TRUST) callconv(.C) [*c]X509_TRUST {
var sk = arg_sk;
- return @ptrCast([*c]X509_TRUST, @alignCast(@import("std").meta.alignment(X509_TRUST), sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]X509_TRUST, @ptrCast(@alignCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_X509_TRUST_push(arg_sk: ?*struct_stack_st_X509_TRUST, arg_p: [*c]X509_TRUST) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_X509_TRUST_pop(arg_sk: ?*struct_stack_st_X509_TRUST) callconv(.C) [*c]X509_TRUST {
var sk = arg_sk;
- return @ptrCast([*c]X509_TRUST, @alignCast(@import("std").meta.alignment(X509_TRUST), sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]X509_TRUST, @ptrCast(@alignCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_X509_TRUST_dup(arg_sk: ?*const struct_stack_st_X509_TRUST) callconv(.C) ?*struct_stack_st_X509_TRUST {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_TRUST, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_TRUST, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_TRUST_sort(arg_sk: ?*struct_stack_st_X509_TRUST) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_TRUST_call_cmp_func);
}
pub fn sk_X509_TRUST_is_sorted(arg_sk: ?*const struct_stack_st_X509_TRUST) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_TRUST_set_cmp_func(arg_sk: ?*struct_stack_st_X509_TRUST, arg_comp: stack_X509_TRUST_cmp_func) callconv(.C) stack_X509_TRUST_cmp_func {
+pub fn sk_X509_TRUST_set_cmp_func(arg_sk: ?*struct_stack_st_X509_TRUST, arg_comp: sk_X509_TRUST_cmp_func) callconv(.C) sk_X509_TRUST_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_TRUST_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const X509_TRUST, [*c][*c]const X509_TRUST) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_TRUST_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_TRUST_deep_copy(arg_sk: ?*const struct_stack_st_X509_TRUST, arg_copy_func: ?*const fn ([*c]X509_TRUST) callconv(.C) [*c]X509_TRUST, arg_free_func: ?*const fn ([*c]X509_TRUST) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_TRUST {
+pub fn sk_X509_TRUST_deep_copy(arg_sk: ?*const struct_stack_st_X509_TRUST, arg_copy_func: sk_X509_TRUST_copy_func, arg_free_func: sk_X509_TRUST_free_func) callconv(.C) ?*struct_stack_st_X509_TRUST {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_TRUST, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_TRUST_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_TRUST_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_TRUST, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_TRUST_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_TRUST_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
-pub const struct_stack_st_X509_REVOKED = opaque {};
-pub const stack_X509_REVOKED_free_func = ?*const fn ([*c]X509_REVOKED) callconv(.C) void;
-pub const stack_X509_REVOKED_copy_func = ?*const fn ([*c]X509_REVOKED) callconv(.C) [*c]X509_REVOKED;
-pub const stack_X509_REVOKED_cmp_func = ?*const fn ([*c][*c]const X509_REVOKED, [*c][*c]const X509_REVOKED) callconv(.C) c_int;
-pub fn sk_X509_REVOKED_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_X509_REVOKED_free_func = ?*const fn (?*X509_REVOKED) callconv(.C) void;
+pub const sk_X509_REVOKED_copy_func = ?*const fn (?*X509_REVOKED) callconv(.C) ?*X509_REVOKED;
+pub const sk_X509_REVOKED_cmp_func = ?*const fn ([*c]?*const X509_REVOKED, [*c]?*const X509_REVOKED) callconv(.C) c_int;
+pub fn sk_X509_REVOKED_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_REVOKED_free_func, @alignCast(@import("std").meta.alignment(fn ([*c]X509_REVOKED) callconv(.C) void), free_func)).?(@ptrCast([*c]X509_REVOKED, @alignCast(@import("std").meta.alignment(X509_REVOKED), ptr)));
+ @as(sk_X509_REVOKED_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*X509_REVOKED, @ptrCast(ptr)));
}
-pub fn sk_X509_REVOKED_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_REVOKED_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_REVOKED_copy_func, @alignCast(@import("std").meta.alignment(fn ([*c]X509_REVOKED) callconv(.C) [*c]X509_REVOKED), copy_func)).?(@ptrCast([*c]X509_REVOKED, @alignCast(@import("std").meta.alignment(X509_REVOKED), ptr))));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_REVOKED_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*X509_REVOKED, @ptrCast(ptr)))));
}
-pub fn sk_X509_REVOKED_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_REVOKED_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: [*c]const X509_REVOKED = @ptrCast([*c]const X509_REVOKED, @alignCast(@import("std").meta.alignment(X509_REVOKED), a.*));
- var b_ptr: [*c]const X509_REVOKED = @ptrCast([*c]const X509_REVOKED, @alignCast(@import("std").meta.alignment(X509_REVOKED), b.*));
- return @ptrCast(stack_X509_REVOKED_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const X509_REVOKED, [*c][*c]const X509_REVOKED) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const X509_REVOKED = @as(?*const X509_REVOKED, @ptrCast(a.*));
+ var b_ptr: ?*const X509_REVOKED = @as(?*const X509_REVOKED, @ptrCast(b.*));
+ return @as(sk_X509_REVOKED_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_REVOKED_new(arg_comp: stack_X509_REVOKED_cmp_func) callconv(.C) ?*struct_stack_st_X509_REVOKED {
+pub fn sk_X509_REVOKED_new(arg_comp: sk_X509_REVOKED_cmp_func) callconv(.C) ?*struct_stack_st_X509_REVOKED {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_REVOKED, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_REVOKED, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_X509_REVOKED_new_null() callconv(.C) ?*struct_stack_st_X509_REVOKED {
- return @ptrCast(?*struct_stack_st_X509_REVOKED, sk_new_null());
+ return @as(?*struct_stack_st_X509_REVOKED, @ptrCast(sk_new_null()));
}
pub fn sk_X509_REVOKED_num(arg_sk: ?*const struct_stack_st_X509_REVOKED) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_REVOKED_zero(arg_sk: ?*struct_stack_st_X509_REVOKED) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_REVOKED_value(arg_sk: ?*const struct_stack_st_X509_REVOKED, arg_i: usize) callconv(.C) [*c]X509_REVOKED {
+pub fn sk_X509_REVOKED_value(arg_sk: ?*const struct_stack_st_X509_REVOKED, arg_i: usize) callconv(.C) ?*X509_REVOKED {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast([*c]X509_REVOKED, @alignCast(@import("std").meta.alignment(X509_REVOKED), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
+ return @as(?*X509_REVOKED, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
-pub fn sk_X509_REVOKED_set(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_i: usize, arg_p: [*c]X509_REVOKED) callconv(.C) [*c]X509_REVOKED {
+pub fn sk_X509_REVOKED_set(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_i: usize, arg_p: ?*X509_REVOKED) callconv(.C) ?*X509_REVOKED {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast([*c]X509_REVOKED, @alignCast(@import("std").meta.alignment(X509_REVOKED), sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p))));
+ return @as(?*X509_REVOKED, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_REVOKED_free(arg_sk: ?*struct_stack_st_X509_REVOKED) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_REVOKED_pop_free(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_free_func: stack_X509_REVOKED_free_func) callconv(.C) void {
+pub fn sk_X509_REVOKED_pop_free(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_free_func: sk_X509_REVOKED_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_REVOKED_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_REVOKED_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
-pub fn sk_X509_REVOKED_insert(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_p: [*c]X509_REVOKED, arg_where: usize) callconv(.C) usize {
+pub fn sk_X509_REVOKED_insert(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_p: ?*X509_REVOKED, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
-pub fn sk_X509_REVOKED_delete(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_where: usize) callconv(.C) [*c]X509_REVOKED {
+pub fn sk_X509_REVOKED_delete(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_where: usize) callconv(.C) ?*X509_REVOKED {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast([*c]X509_REVOKED, @alignCast(@import("std").meta.alignment(X509_REVOKED), sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where)));
+ return @as(?*X509_REVOKED, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
-pub fn sk_X509_REVOKED_delete_ptr(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_p: [*c]const X509_REVOKED) callconv(.C) [*c]X509_REVOKED {
+pub fn sk_X509_REVOKED_delete_ptr(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_p: ?*const X509_REVOKED) callconv(.C) ?*X509_REVOKED {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast([*c]X509_REVOKED, @alignCast(@import("std").meta.alignment(X509_REVOKED), sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p))));
+ return @as(?*X509_REVOKED, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
-pub fn sk_X509_REVOKED_find(arg_sk: ?*const struct_stack_st_X509_REVOKED, arg_out_index: [*c]usize, arg_p: [*c]const X509_REVOKED) callconv(.C) c_int {
+pub fn sk_X509_REVOKED_find(arg_sk: ?*const struct_stack_st_X509_REVOKED, arg_out_index: [*c]usize, arg_p: ?*const X509_REVOKED) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_REVOKED_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_REVOKED_call_cmp_func);
}
-pub fn sk_X509_REVOKED_shift(arg_sk: ?*struct_stack_st_X509_REVOKED) callconv(.C) [*c]X509_REVOKED {
+pub fn sk_X509_REVOKED_shift(arg_sk: ?*struct_stack_st_X509_REVOKED) callconv(.C) ?*X509_REVOKED {
var sk = arg_sk;
- return @ptrCast([*c]X509_REVOKED, @alignCast(@import("std").meta.alignment(X509_REVOKED), sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as(?*X509_REVOKED, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
-pub fn sk_X509_REVOKED_push(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_p: [*c]X509_REVOKED) callconv(.C) usize {
+pub fn sk_X509_REVOKED_push(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_p: ?*X509_REVOKED) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
-pub fn sk_X509_REVOKED_pop(arg_sk: ?*struct_stack_st_X509_REVOKED) callconv(.C) [*c]X509_REVOKED {
+pub fn sk_X509_REVOKED_pop(arg_sk: ?*struct_stack_st_X509_REVOKED) callconv(.C) ?*X509_REVOKED {
var sk = arg_sk;
- return @ptrCast([*c]X509_REVOKED, @alignCast(@import("std").meta.alignment(X509_REVOKED), sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as(?*X509_REVOKED, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_REVOKED_dup(arg_sk: ?*const struct_stack_st_X509_REVOKED) callconv(.C) ?*struct_stack_st_X509_REVOKED {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_REVOKED, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_REVOKED, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_REVOKED_sort(arg_sk: ?*struct_stack_st_X509_REVOKED) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_REVOKED_call_cmp_func);
}
pub fn sk_X509_REVOKED_is_sorted(arg_sk: ?*const struct_stack_st_X509_REVOKED) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_REVOKED_set_cmp_func(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_comp: stack_X509_REVOKED_cmp_func) callconv(.C) stack_X509_REVOKED_cmp_func {
+pub fn sk_X509_REVOKED_set_cmp_func(arg_sk: ?*struct_stack_st_X509_REVOKED, arg_comp: sk_X509_REVOKED_cmp_func) callconv(.C) sk_X509_REVOKED_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_REVOKED_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const X509_REVOKED, [*c][*c]const X509_REVOKED) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_REVOKED_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_REVOKED_deep_copy(arg_sk: ?*const struct_stack_st_X509_REVOKED, arg_copy_func: ?*const fn ([*c]X509_REVOKED) callconv(.C) [*c]X509_REVOKED, arg_free_func: ?*const fn ([*c]X509_REVOKED) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_REVOKED {
+pub fn sk_X509_REVOKED_deep_copy(arg_sk: ?*const struct_stack_st_X509_REVOKED, arg_copy_func: sk_X509_REVOKED_copy_func, arg_free_func: sk_X509_REVOKED_free_func) callconv(.C) ?*struct_stack_st_X509_REVOKED {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_REVOKED, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_REVOKED_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_REVOKED_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
-}
-pub const struct_stack_st_GENERAL_NAMES = opaque {};
-pub const struct_stack_st_ACCESS_DESCRIPTION = opaque {};
-
-pub const OTHERNAME = extern struct {
- type_id: ?*ASN1_OBJECT,
- value: ?*ASN1_TYPE,
-};
-
-pub const GENERAL_NAME = extern struct {
- name_type: enum(c_int) {
- GEN_OTHERNAME = 0,
- GEN_EMAIL = 1,
- GEN_DNS = 2,
- GEN_X400 = 3,
- GEN_DIRNAME = 4,
- GEN_EDIPARTY = 5,
- GEN_URI = 6,
- GEN_IPADD = 7,
- GEN_RID = 8,
- },
- d: extern union {
- ptr: *c_char,
- otherName: *OTHERNAME,
- rfc822Name: *ASN1_IA5STRING,
- dNSName: *ASN1_IA5STRING,
- x400Address: *ASN1_STRING,
- directoryName: *X509_NAME,
- //EDIPARTYNAME
- ediPartyName: *anyopaque,
- uniformResourceIdentifier: *ASN1_IA5STRING,
- iPAddress: *ASN1_OCTET_STRING,
- registeredID: *ASN1_OBJECT,
- ip: *ASN1_OCTET_STRING,
- dirn: *X509_NAME,
- ia5: *ASN1_IA5STRING,
- rid: *ASN1_OBJECT,
- other: *ASN1_TYPE,
- },
-};
-
-pub const ACCESS_DESCRIPTION = extern struct {
- method: *ASN1_OBJECT,
- location: *GENERAL_NAME,
-};
-
-pub fn sk_GENERAL_NAME_num(arg_sk: ?*const struct_stack_st_GENERAL_NAME) callconv(.C) usize {
- var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
-}
-pub fn sk_GENERAL_NAME_free(arg_sk: ?*struct_stack_st_GENERAL_NAME) callconv(.C) void {
- var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
-}
-pub const stack_GENERAL_NAME_free_func = ?*const fn (?*struct_stack_st_GENERAL_NAME) callconv(.C) void;
-
-pub fn sk_GENERAL_NAME_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
- var free_func = arg_free_func;
- var ptr = arg_ptr;
- @ptrCast(stack_GENERAL_NAME_free_func, @alignCast(@import("std").meta.alignment(fn (?*struct_stack_st_GENERAL_NAME) callconv(.C) void), free_func)).?(@ptrCast(?*struct_stack_st_GENERAL_NAME, ptr));
-}
-pub fn sk_GENERAL_NAME_pop_free(arg_sk: ?*struct_stack_st_GENERAL_NAME, arg_free_func: stack_GENERAL_NAME_free_func) callconv(.C) void {
- var sk = arg_sk;
- var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_GENERAL_NAME_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
-}
-pub fn sk_GENERAL_NAME_value(arg_sk: ?*const struct_stack_st_GENERAL_NAME, arg_i: usize) callconv(.C) ?*GENERAL_NAME {
- var sk = arg_sk;
- var i = arg_i;
- return @ptrCast(?*GENERAL_NAME, @alignCast(@alignOf(GENERAL_NAME), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
-}
-
-pub fn sk_ACCESS_DESCRIPTION_num(arg_sk: ?*const AUTHORITY_INFO_ACCESS) callconv(.C) usize {
- var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
-}
-pub fn sk_ACCESS_DESCRIPTION_free(arg_sk: ?*AUTHORITY_INFO_ACCESS) callconv(.C) void {
- var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
-}
-pub const stack_ACCESS_DESCRIPTION_free_func = ?*const fn (?*AUTHORITY_INFO_ACCESS) callconv(.C) void;
-
-pub fn sk_ACCESS_DESCRIPTION_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
- var free_func = arg_free_func;
- var ptr = arg_ptr;
- @ptrCast(stack_ACCESS_DESCRIPTION_free_func, @alignCast(@import("std").meta.alignment(fn (?*AUTHORITY_INFO_ACCESS) callconv(.C) void), free_func)).?(@ptrCast(?*AUTHORITY_INFO_ACCESS, ptr));
-}
-pub fn sk_ACCESS_DESCRIPTION_pop_free(arg_sk: ?*AUTHORITY_INFO_ACCESS, arg_free_func: stack_ACCESS_DESCRIPTION_free_func) callconv(.C) void {
- var sk = arg_sk;
- var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_ACCESS_DESCRIPTION_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
-}
-pub fn sk_ACCESS_DESCRIPTION_value(arg_sk: ?*const AUTHORITY_INFO_ACCESS, arg_i: usize) callconv(.C) ?*ACCESS_DESCRIPTION {
- var sk = arg_sk;
- var i = arg_i;
- return @ptrCast(?*ACCESS_DESCRIPTION, @alignCast(@alignOf(ACCESS_DESCRIPTION), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
-}
-
-pub const stack_X509_CRL_free_func = ?*const fn (?*X509_CRL) callconv(.C) void;
-pub const stack_X509_CRL_copy_func = ?*const fn (?*X509_CRL) callconv(.C) ?*X509_CRL;
-pub const stack_X509_CRL_cmp_func = ?*const fn ([*c]?*const X509_CRL, [*c]?*const X509_CRL) callconv(.C) c_int;
-pub fn sk_X509_CRL_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
- var free_func = arg_free_func;
- var ptr = arg_ptr;
- @ptrCast(stack_X509_CRL_free_func, @alignCast(@import("std").meta.alignment(fn (?*X509_CRL) callconv(.C) void), free_func)).?(@ptrCast(?*X509_CRL, ptr));
-}
-pub fn sk_X509_CRL_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
- var copy_func = arg_copy_func;
- var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_CRL_copy_func, @alignCast(@import("std").meta.alignment(fn (?*X509_CRL) callconv(.C) ?*X509_CRL), copy_func)).?(@ptrCast(?*X509_CRL, ptr)));
-}
-pub fn sk_X509_CRL_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
- var cmp_func = arg_cmp_func;
- var a = arg_a;
- var b = arg_b;
- var a_ptr: ?*const X509_CRL = @ptrCast(?*const X509_CRL, a.*);
- var b_ptr: ?*const X509_CRL = @ptrCast(?*const X509_CRL, b.*);
- return @ptrCast(stack_X509_CRL_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_CRL, [*c]?*const X509_CRL) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
-}
-pub fn sk_X509_CRL_new(arg_comp: stack_X509_CRL_cmp_func) callconv(.C) ?*struct_stack_st_X509_CRL {
- var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_CRL, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
-}
-pub fn sk_X509_CRL_new_null() callconv(.C) ?*struct_stack_st_X509_CRL {
- return @ptrCast(?*struct_stack_st_X509_CRL, sk_new_null());
-}
-pub fn sk_X509_CRL_num(arg_sk: ?*const struct_stack_st_X509_CRL) callconv(.C) usize {
- var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
-}
-pub fn sk_X509_CRL_zero(arg_sk: ?*struct_stack_st_X509_CRL) callconv(.C) void {
- var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
-}
-pub fn sk_X509_CRL_value(arg_sk: ?*const struct_stack_st_X509_CRL, arg_i: usize) callconv(.C) ?*X509_CRL {
- var sk = arg_sk;
- var i = arg_i;
- return @ptrCast(?*X509_CRL, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
-}
-pub fn sk_X509_CRL_set(arg_sk: ?*struct_stack_st_X509_CRL, arg_i: usize, arg_p: ?*X509_CRL) callconv(.C) ?*X509_CRL {
- var sk = arg_sk;
- var i = arg_i;
- var p = arg_p;
- return @ptrCast(?*X509_CRL, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
-}
-pub fn sk_X509_CRL_free(arg_sk: ?*struct_stack_st_X509_CRL) callconv(.C) void {
- var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
-}
-pub fn sk_X509_CRL_pop_free(arg_sk: ?*struct_stack_st_X509_CRL, arg_free_func: stack_X509_CRL_free_func) callconv(.C) void {
- var sk = arg_sk;
- var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_CRL_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
-}
-pub fn sk_X509_CRL_insert(arg_sk: ?*struct_stack_st_X509_CRL, arg_p: ?*X509_CRL, arg_where: usize) callconv(.C) usize {
- var sk = arg_sk;
- var p = arg_p;
- var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
-}
-pub fn sk_X509_CRL_delete(arg_sk: ?*struct_stack_st_X509_CRL, arg_where: usize) callconv(.C) ?*X509_CRL {
- var sk = arg_sk;
- var where = arg_where;
- return @ptrCast(?*X509_CRL, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
-}
-pub fn sk_X509_CRL_delete_ptr(arg_sk: ?*struct_stack_st_X509_CRL, arg_p: ?*const X509_CRL) callconv(.C) ?*X509_CRL {
- var sk = arg_sk;
- var p = arg_p;
- return @ptrCast(?*X509_CRL, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
-}
-pub fn sk_X509_CRL_find(arg_sk: ?*const struct_stack_st_X509_CRL, arg_out_index: [*c]usize, arg_p: ?*const X509_CRL) callconv(.C) c_int {
- var sk = arg_sk;
- var out_index = arg_out_index;
- var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_CRL_call_cmp_func);
-}
-pub fn sk_X509_CRL_shift(arg_sk: ?*struct_stack_st_X509_CRL) callconv(.C) ?*X509_CRL {
- var sk = arg_sk;
- return @ptrCast(?*X509_CRL, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
-}
-pub fn sk_X509_CRL_push(arg_sk: ?*struct_stack_st_X509_CRL, arg_p: ?*X509_CRL) callconv(.C) usize {
- var sk = arg_sk;
- var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
-}
-pub fn sk_X509_CRL_pop(arg_sk: ?*struct_stack_st_X509_CRL) callconv(.C) ?*X509_CRL {
- var sk = arg_sk;
- return @ptrCast(?*X509_CRL, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
-}
-pub fn sk_X509_CRL_dup(arg_sk: ?*const struct_stack_st_X509_CRL) callconv(.C) ?*struct_stack_st_X509_CRL {
- var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_CRL, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
-}
-pub fn sk_X509_CRL_sort(arg_sk: ?*struct_stack_st_X509_CRL) callconv(.C) void {
- var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
-}
-pub fn sk_X509_CRL_is_sorted(arg_sk: ?*const struct_stack_st_X509_CRL) callconv(.C) c_int {
- var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
-}
-pub fn sk_X509_CRL_set_cmp_func(arg_sk: ?*struct_stack_st_X509_CRL, arg_comp: stack_X509_CRL_cmp_func) callconv(.C) stack_X509_CRL_cmp_func {
- var sk = arg_sk;
- var comp = arg_comp;
- return @ptrCast(stack_X509_CRL_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_CRL, [*c]?*const X509_CRL) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
-}
-pub fn sk_X509_CRL_deep_copy(arg_sk: ?*const struct_stack_st_X509_CRL, arg_copy_func: ?*const fn (?*X509_CRL) callconv(.C) ?*X509_CRL, arg_free_func: ?*const fn (?*X509_CRL) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_CRL {
- var sk = arg_sk;
- var copy_func = arg_copy_func;
- var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_CRL, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_CRL_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_CRL_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_REVOKED, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_REVOKED_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_REVOKED_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
pub const struct_stack_st_X509_INFO = opaque {};
-pub const stack_X509_INFO_free_func = ?*const fn ([*c]X509_INFO) callconv(.C) void;
-pub const stack_X509_INFO_copy_func = ?*const fn ([*c]X509_INFO) callconv(.C) [*c]X509_INFO;
-pub const stack_X509_INFO_cmp_func = ?*const fn ([*c][*c]const X509_INFO, [*c][*c]const X509_INFO) callconv(.C) c_int;
-pub fn sk_X509_INFO_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_X509_INFO_free_func = ?*const fn ([*c]X509_INFO) callconv(.C) void;
+pub const sk_X509_INFO_copy_func = ?*const fn ([*c]X509_INFO) callconv(.C) [*c]X509_INFO;
+pub const sk_X509_INFO_cmp_func = ?*const fn ([*c][*c]const X509_INFO, [*c][*c]const X509_INFO) callconv(.C) c_int;
+pub fn sk_X509_INFO_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_INFO_free_func, @alignCast(@import("std").meta.alignment(fn ([*c]X509_INFO) callconv(.C) void), free_func)).?(@ptrCast([*c]X509_INFO, @alignCast(@import("std").meta.alignment(X509_INFO), ptr)));
+ @as(sk_X509_INFO_free_func, @ptrCast(@alignCast(free_func))).?(@as([*c]X509_INFO, @ptrCast(@alignCast(ptr))));
}
-pub fn sk_X509_INFO_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_INFO_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_INFO_copy_func, @alignCast(@import("std").meta.alignment(fn ([*c]X509_INFO) callconv(.C) [*c]X509_INFO), copy_func)).?(@ptrCast([*c]X509_INFO, @alignCast(@import("std").meta.alignment(X509_INFO), ptr))));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_INFO_copy_func, @ptrCast(@alignCast(copy_func))).?(@as([*c]X509_INFO, @ptrCast(@alignCast(ptr))))));
}
-pub fn sk_X509_INFO_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_INFO_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: [*c]const X509_INFO = @ptrCast([*c]const X509_INFO, @alignCast(@import("std").meta.alignment(X509_INFO), a.*));
- var b_ptr: [*c]const X509_INFO = @ptrCast([*c]const X509_INFO, @alignCast(@import("std").meta.alignment(X509_INFO), b.*));
- return @ptrCast(stack_X509_INFO_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const X509_INFO, [*c][*c]const X509_INFO) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: [*c]const X509_INFO = @as([*c]const X509_INFO, @ptrCast(@alignCast(a.*)));
+ var b_ptr: [*c]const X509_INFO = @as([*c]const X509_INFO, @ptrCast(@alignCast(b.*)));
+ return @as(sk_X509_INFO_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_INFO_new(arg_comp: stack_X509_INFO_cmp_func) callconv(.C) ?*struct_stack_st_X509_INFO {
+pub fn sk_X509_INFO_new(arg_comp: sk_X509_INFO_cmp_func) callconv(.C) ?*struct_stack_st_X509_INFO {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_INFO, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_INFO, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_X509_INFO_new_null() callconv(.C) ?*struct_stack_st_X509_INFO {
- return @ptrCast(?*struct_stack_st_X509_INFO, sk_new_null());
+ return @as(?*struct_stack_st_X509_INFO, @ptrCast(sk_new_null()));
}
pub fn sk_X509_INFO_num(arg_sk: ?*const struct_stack_st_X509_INFO) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_INFO_zero(arg_sk: ?*struct_stack_st_X509_INFO) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_INFO_value(arg_sk: ?*const struct_stack_st_X509_INFO, arg_i: usize) callconv(.C) [*c]X509_INFO {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast([*c]X509_INFO, @alignCast(@import("std").meta.alignment(X509_INFO), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
+ return @as([*c]X509_INFO, @ptrCast(@alignCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i))));
}
pub fn sk_X509_INFO_set(arg_sk: ?*struct_stack_st_X509_INFO, arg_i: usize, arg_p: [*c]X509_INFO) callconv(.C) [*c]X509_INFO {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast([*c]X509_INFO, @alignCast(@import("std").meta.alignment(X509_INFO), sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p))));
+ return @as([*c]X509_INFO, @ptrCast(@alignCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p))))));
}
pub fn sk_X509_INFO_free(arg_sk: ?*struct_stack_st_X509_INFO) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_INFO_pop_free(arg_sk: ?*struct_stack_st_X509_INFO, arg_free_func: stack_X509_INFO_free_func) callconv(.C) void {
+pub fn sk_X509_INFO_pop_free(arg_sk: ?*struct_stack_st_X509_INFO, arg_free_func: sk_X509_INFO_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_INFO_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_INFO_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_X509_INFO_insert(arg_sk: ?*struct_stack_st_X509_INFO, arg_p: [*c]X509_INFO, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_X509_INFO_delete(arg_sk: ?*struct_stack_st_X509_INFO, arg_where: usize) callconv(.C) [*c]X509_INFO {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast([*c]X509_INFO, @alignCast(@import("std").meta.alignment(X509_INFO), sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where)));
+ return @as([*c]X509_INFO, @ptrCast(@alignCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where))));
}
pub fn sk_X509_INFO_delete_ptr(arg_sk: ?*struct_stack_st_X509_INFO, arg_p: [*c]const X509_INFO) callconv(.C) [*c]X509_INFO {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast([*c]X509_INFO, @alignCast(@import("std").meta.alignment(X509_INFO), sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p))));
+ return @as([*c]X509_INFO, @ptrCast(@alignCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p))))));
}
pub fn sk_X509_INFO_find(arg_sk: ?*const struct_stack_st_X509_INFO, arg_out_index: [*c]usize, arg_p: [*c]const X509_INFO) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_INFO_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_INFO_call_cmp_func);
}
pub fn sk_X509_INFO_shift(arg_sk: ?*struct_stack_st_X509_INFO) callconv(.C) [*c]X509_INFO {
var sk = arg_sk;
- return @ptrCast([*c]X509_INFO, @alignCast(@import("std").meta.alignment(X509_INFO), sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]X509_INFO, @ptrCast(@alignCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_X509_INFO_push(arg_sk: ?*struct_stack_st_X509_INFO, arg_p: [*c]X509_INFO) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_X509_INFO_pop(arg_sk: ?*struct_stack_st_X509_INFO) callconv(.C) [*c]X509_INFO {
var sk = arg_sk;
- return @ptrCast([*c]X509_INFO, @alignCast(@import("std").meta.alignment(X509_INFO), sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]X509_INFO, @ptrCast(@alignCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_X509_INFO_dup(arg_sk: ?*const struct_stack_st_X509_INFO) callconv(.C) ?*struct_stack_st_X509_INFO {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_INFO, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_INFO, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_INFO_sort(arg_sk: ?*struct_stack_st_X509_INFO) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_INFO_call_cmp_func);
}
pub fn sk_X509_INFO_is_sorted(arg_sk: ?*const struct_stack_st_X509_INFO) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_INFO_set_cmp_func(arg_sk: ?*struct_stack_st_X509_INFO, arg_comp: stack_X509_INFO_cmp_func) callconv(.C) stack_X509_INFO_cmp_func {
+pub fn sk_X509_INFO_set_cmp_func(arg_sk: ?*struct_stack_st_X509_INFO, arg_comp: sk_X509_INFO_cmp_func) callconv(.C) sk_X509_INFO_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_INFO_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const X509_INFO, [*c][*c]const X509_INFO) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_INFO_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_INFO_deep_copy(arg_sk: ?*const struct_stack_st_X509_INFO, arg_copy_func: ?*const fn ([*c]X509_INFO) callconv(.C) [*c]X509_INFO, arg_free_func: ?*const fn ([*c]X509_INFO) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_INFO {
+pub fn sk_X509_INFO_deep_copy(arg_sk: ?*const struct_stack_st_X509_INFO, arg_copy_func: sk_X509_INFO_copy_func, arg_free_func: sk_X509_INFO_free_func) callconv(.C) ?*struct_stack_st_X509_INFO {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_INFO, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_INFO_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_INFO_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_INFO, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_INFO_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_INFO_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
-pub const X509V3_EXT_METHOD = struct_stack_st_v3_ext_method;
-pub extern fn X509_get_version(x509: ?*const X509) c_long;
-pub extern fn X509_set_version(x509: ?*X509, version: c_long) c_int;
-pub extern fn X509_get0_serialNumber(x509: ?*const X509) [*c]const ASN1_INTEGER;
-pub extern fn X509_set_serialNumber(x509: ?*X509, serial: [*c]const ASN1_INTEGER) c_int;
-pub extern fn X509_get0_notBefore(x509: ?*const X509) [*c]const ASN1_TIME;
-pub extern fn X509_get0_notAfter(x509: ?*const X509) [*c]const ASN1_TIME;
-pub extern fn X509_set1_notBefore(x509: ?*X509, tm: [*c]const ASN1_TIME) c_int;
-pub extern fn X509_set1_notAfter(x509: ?*X509, tm: [*c]const ASN1_TIME) c_int;
-pub extern fn X509_getm_notBefore(x509: ?*X509) [*c]ASN1_TIME;
-pub extern fn X509_getm_notAfter(x: ?*X509) [*c]ASN1_TIME;
pub extern fn X509_get_notBefore(x509: ?*const X509) [*c]ASN1_TIME;
pub extern fn X509_get_notAfter(x509: ?*const X509) [*c]ASN1_TIME;
pub extern fn X509_set_notBefore(x509: ?*X509, tm: [*c]const ASN1_TIME) c_int;
pub extern fn X509_set_notAfter(x509: ?*X509, tm: [*c]const ASN1_TIME) c_int;
-pub extern fn X509_get0_uids(x509: ?*const X509, out_issuer_uid: [*c][*c]const ASN1_BIT_STRING, out_subject_uid: [*c][*c]const ASN1_BIT_STRING) void;
pub extern fn X509_get_pathlen(x509: ?*X509) c_long;
-pub extern fn X509_REQ_get_version(req: ?*const X509_REQ) c_long;
-pub extern fn X509_REQ_get_subject_name(req: ?*const X509_REQ) ?*X509_NAME;
-pub extern fn X509_CRL_get_version(crl: ?*const X509_CRL) c_long;
-pub extern fn X509_CRL_get0_lastUpdate(crl: ?*const X509_CRL) [*c]const ASN1_TIME;
-pub extern fn X509_CRL_get0_nextUpdate(crl: ?*const X509_CRL) [*c]const ASN1_TIME;
-pub extern fn X509_CRL_set1_lastUpdate(crl: ?*X509_CRL, tm: [*c]const ASN1_TIME) c_int;
-pub extern fn X509_CRL_set1_nextUpdate(crl: ?*X509_CRL, tm: [*c]const ASN1_TIME) c_int;
-pub extern fn X509_CRL_get_lastUpdate(crl: ?*X509_CRL) [*c]ASN1_TIME;
-pub extern fn X509_CRL_get_nextUpdate(crl: ?*X509_CRL) [*c]ASN1_TIME;
-pub extern fn X509_CRL_get_issuer(crl: ?*const X509_CRL) ?*X509_NAME;
-pub extern fn X509_CRL_get_REVOKED(crl: ?*X509_CRL) ?*struct_stack_st_X509_REVOKED;
-pub extern fn X509_CRL_get0_extensions(crl: ?*const X509_CRL) ?*const struct_stack_st_X509_EXTENSION;
pub extern fn X509_SIG_get0(sig: ?*const X509_SIG, out_alg: [*c][*c]const X509_ALGOR, out_digest: [*c][*c]const ASN1_OCTET_STRING) void;
pub extern fn X509_SIG_getm(sig: ?*X509_SIG, out_alg: [*c][*c]X509_ALGOR, out_digest: [*c][*c]ASN1_OCTET_STRING) void;
-pub extern fn X509_CRL_set_default_method(meth: ?*const X509_CRL_METHOD) void;
-pub extern fn X509_CRL_METHOD_new(crl_init: ?*const fn (?*X509_CRL) callconv(.C) c_int, crl_free: ?*const fn (?*X509_CRL) callconv(.C) c_int, crl_lookup: ?*const fn (?*X509_CRL, [*c][*c]X509_REVOKED, [*c]ASN1_INTEGER, ?*X509_NAME) callconv(.C) c_int, crl_verify: ?*const fn (?*X509_CRL, [*c]EVP_PKEY) callconv(.C) c_int) ?*X509_CRL_METHOD;
-pub extern fn X509_CRL_METHOD_free(m: ?*X509_CRL_METHOD) void;
-pub extern fn X509_CRL_set_meth_data(crl: ?*X509_CRL, dat: ?*anyopaque) void;
-pub extern fn X509_CRL_get_meth_data(crl: ?*X509_CRL) ?*anyopaque;
-pub extern fn X509_get_X509_PUBKEY(x509: ?*const X509) ?*X509_PUBKEY;
pub extern fn X509_verify_cert_error_string(err: c_long) [*c]const u8;
pub extern fn X509_verify(x509: ?*X509, pkey: [*c]EVP_PKEY) c_int;
pub extern fn X509_REQ_verify(req: ?*X509_REQ, pkey: [*c]EVP_PKEY) c_int;
@@ -4130,99 +4230,9 @@ pub extern fn NETSCAPE_SPKI_b64_decode(str: [*c]const u8, len: c_int) [*c]NETSCA
pub extern fn NETSCAPE_SPKI_b64_encode(spki: [*c]NETSCAPE_SPKI) [*c]u8;
pub extern fn NETSCAPE_SPKI_get_pubkey(spki: [*c]NETSCAPE_SPKI) [*c]EVP_PKEY;
pub extern fn NETSCAPE_SPKI_set_pubkey(spki: [*c]NETSCAPE_SPKI, pkey: [*c]EVP_PKEY) c_int;
-pub extern fn X509_signature_dump(bio: [*c]BIO, sig: [*c]const ASN1_STRING, indent: c_int) c_int;
-pub extern fn X509_signature_print(bio: [*c]BIO, alg: [*c]const X509_ALGOR, sig: [*c]const ASN1_STRING) c_int;
-pub extern fn X509_sign(x509: ?*X509, pkey: [*c]EVP_PKEY, md: ?*const EVP_MD) c_int;
-pub extern fn X509_sign_ctx(x509: ?*X509, ctx: [*c]EVP_MD_CTX) c_int;
-pub extern fn X509_REQ_sign(req: ?*X509_REQ, pkey: [*c]EVP_PKEY, md: ?*const EVP_MD) c_int;
-pub extern fn X509_REQ_sign_ctx(req: ?*X509_REQ, ctx: [*c]EVP_MD_CTX) c_int;
-pub extern fn X509_CRL_sign(crl: ?*X509_CRL, pkey: [*c]EVP_PKEY, md: ?*const EVP_MD) c_int;
-pub extern fn X509_CRL_sign_ctx(crl: ?*X509_CRL, ctx: [*c]EVP_MD_CTX) c_int;
pub extern fn NETSCAPE_SPKI_sign(spki: [*c]NETSCAPE_SPKI, pkey: [*c]EVP_PKEY, md: ?*const EVP_MD) c_int;
-pub extern fn X509_pubkey_digest(x509: ?*const X509, md: ?*const EVP_MD, out: [*c]u8, out_len: [*c]c_uint) c_int;
-pub extern fn X509_digest(x509: ?*const X509, md: ?*const EVP_MD, out: [*c]u8, out_len: [*c]c_uint) c_int;
-pub extern fn X509_CRL_digest(crl: ?*const X509_CRL, md: ?*const EVP_MD, out: [*c]u8, out_len: [*c]c_uint) c_int;
-pub extern fn X509_REQ_digest(req: ?*const X509_REQ, md: ?*const EVP_MD, out: [*c]u8, out_len: [*c]c_uint) c_int;
-pub extern fn X509_NAME_digest(name: ?*const X509_NAME, md: ?*const EVP_MD, out: [*c]u8, out_len: [*c]c_uint) c_int;
-pub extern fn X509_parse_from_buffer(buf: ?*CRYPTO_BUFFER) ?*X509;
-pub extern fn d2i_X509_fp(fp: [*c]FILE, x509: [*c]?*X509) ?*X509;
-pub extern fn i2d_X509_fp(fp: [*c]FILE, x509: ?*X509) c_int;
-pub extern fn d2i_X509_CRL_fp(fp: [*c]FILE, crl: [*c]?*X509_CRL) ?*X509_CRL;
-pub extern fn i2d_X509_CRL_fp(fp: [*c]FILE, crl: ?*X509_CRL) c_int;
-pub extern fn d2i_X509_REQ_fp(fp: [*c]FILE, req: [*c]?*X509_REQ) ?*X509_REQ;
-pub extern fn i2d_X509_REQ_fp(fp: [*c]FILE, req: ?*X509_REQ) c_int;
-pub extern fn d2i_RSAPrivateKey_fp(fp: [*c]FILE, rsa: [*c]?*RSA) ?*RSA;
-pub extern fn i2d_RSAPrivateKey_fp(fp: [*c]FILE, rsa: ?*RSA) c_int;
-pub extern fn d2i_RSAPublicKey_fp(fp: [*c]FILE, rsa: [*c]?*RSA) ?*RSA;
-pub extern fn i2d_RSAPublicKey_fp(fp: [*c]FILE, rsa: ?*RSA) c_int;
-pub extern fn d2i_RSA_PUBKEY_fp(fp: [*c]FILE, rsa: [*c]?*RSA) ?*RSA;
-pub extern fn i2d_RSA_PUBKEY_fp(fp: [*c]FILE, rsa: ?*RSA) c_int;
-pub extern fn d2i_DSA_PUBKEY_fp(fp: [*c]FILE, dsa: [*c][*c]DSA) [*c]DSA;
-pub extern fn i2d_DSA_PUBKEY_fp(fp: [*c]FILE, dsa: [*c]DSA) c_int;
-pub extern fn d2i_DSAPrivateKey_fp(fp: [*c]FILE, dsa: [*c][*c]DSA) [*c]DSA;
-pub extern fn i2d_DSAPrivateKey_fp(fp: [*c]FILE, dsa: [*c]DSA) c_int;
-pub extern fn d2i_EC_PUBKEY_fp(fp: [*c]FILE, eckey: [*c]?*EC_KEY) ?*EC_KEY;
-pub extern fn i2d_EC_PUBKEY_fp(fp: [*c]FILE, eckey: ?*EC_KEY) c_int;
-pub extern fn d2i_ECPrivateKey_fp(fp: [*c]FILE, eckey: [*c]?*EC_KEY) ?*EC_KEY;
-pub extern fn i2d_ECPrivateKey_fp(fp: [*c]FILE, eckey: ?*EC_KEY) c_int;
-pub extern fn d2i_PKCS8_fp(fp: [*c]FILE, p8: [*c]?*X509_SIG) ?*X509_SIG;
-pub extern fn i2d_PKCS8_fp(fp: [*c]FILE, p8: ?*X509_SIG) c_int;
-pub extern fn d2i_PKCS8_PRIV_KEY_INFO_fp(fp: [*c]FILE, p8inf: [*c]?*PKCS8_PRIV_KEY_INFO) ?*PKCS8_PRIV_KEY_INFO;
-pub extern fn i2d_PKCS8_PRIV_KEY_INFO_fp(fp: [*c]FILE, p8inf: ?*PKCS8_PRIV_KEY_INFO) c_int;
-pub extern fn i2d_PKCS8PrivateKeyInfo_fp(fp: [*c]FILE, key: [*c]EVP_PKEY) c_int;
-pub extern fn i2d_PrivateKey_fp(fp: [*c]FILE, pkey: [*c]EVP_PKEY) c_int;
-pub extern fn d2i_PrivateKey_fp(fp: [*c]FILE, a: [*c][*c]EVP_PKEY) [*c]EVP_PKEY;
-pub extern fn i2d_PUBKEY_fp(fp: [*c]FILE, pkey: [*c]EVP_PKEY) c_int;
-pub extern fn d2i_PUBKEY_fp(fp: [*c]FILE, a: [*c][*c]EVP_PKEY) [*c]EVP_PKEY;
-pub extern fn d2i_X509_bio(bp: [*c]BIO, x509: [*c]?*X509) ?*X509;
-pub extern fn i2d_X509_bio(bp: [*c]BIO, x509: ?*X509) c_int;
-pub extern fn d2i_X509_CRL_bio(bp: [*c]BIO, crl: [*c]?*X509_CRL) ?*X509_CRL;
-pub extern fn i2d_X509_CRL_bio(bp: [*c]BIO, crl: ?*X509_CRL) c_int;
-pub extern fn d2i_X509_REQ_bio(bp: [*c]BIO, req: [*c]?*X509_REQ) ?*X509_REQ;
-pub extern fn i2d_X509_REQ_bio(bp: [*c]BIO, req: ?*X509_REQ) c_int;
-pub extern fn d2i_RSAPrivateKey_bio(bp: [*c]BIO, rsa: [*c]?*RSA) ?*RSA;
-pub extern fn i2d_RSAPrivateKey_bio(bp: [*c]BIO, rsa: ?*RSA) c_int;
-pub extern fn d2i_RSAPublicKey_bio(bp: [*c]BIO, rsa: [*c]?*RSA) ?*RSA;
-pub extern fn i2d_RSAPublicKey_bio(bp: [*c]BIO, rsa: ?*RSA) c_int;
-pub extern fn d2i_RSA_PUBKEY_bio(bp: [*c]BIO, rsa: [*c]?*RSA) ?*RSA;
-pub extern fn i2d_RSA_PUBKEY_bio(bp: [*c]BIO, rsa: ?*RSA) c_int;
-pub extern fn d2i_DSA_PUBKEY_bio(bp: [*c]BIO, dsa: [*c][*c]DSA) [*c]DSA;
-pub extern fn i2d_DSA_PUBKEY_bio(bp: [*c]BIO, dsa: [*c]DSA) c_int;
-pub extern fn d2i_DSAPrivateKey_bio(bp: [*c]BIO, dsa: [*c][*c]DSA) [*c]DSA;
-pub extern fn i2d_DSAPrivateKey_bio(bp: [*c]BIO, dsa: [*c]DSA) c_int;
-pub extern fn d2i_EC_PUBKEY_bio(bp: [*c]BIO, eckey: [*c]?*EC_KEY) ?*EC_KEY;
-pub extern fn i2d_EC_PUBKEY_bio(bp: [*c]BIO, eckey: ?*EC_KEY) c_int;
-pub extern fn d2i_ECPrivateKey_bio(bp: [*c]BIO, eckey: [*c]?*EC_KEY) ?*EC_KEY;
-pub extern fn i2d_ECPrivateKey_bio(bp: [*c]BIO, eckey: ?*EC_KEY) c_int;
-pub extern fn d2i_PKCS8_bio(bp: [*c]BIO, p8: [*c]?*X509_SIG) ?*X509_SIG;
-pub extern fn i2d_PKCS8_bio(bp: [*c]BIO, p8: ?*X509_SIG) c_int;
-pub extern fn d2i_PKCS8_PRIV_KEY_INFO_bio(bp: [*c]BIO, p8inf: [*c]?*PKCS8_PRIV_KEY_INFO) ?*PKCS8_PRIV_KEY_INFO;
-pub extern fn i2d_PKCS8_PRIV_KEY_INFO_bio(bp: [*c]BIO, p8inf: ?*PKCS8_PRIV_KEY_INFO) c_int;
-pub extern fn i2d_PKCS8PrivateKeyInfo_bio(bp: [*c]BIO, key: [*c]EVP_PKEY) c_int;
-pub extern fn i2d_PrivateKey_bio(bp: [*c]BIO, pkey: [*c]EVP_PKEY) c_int;
-pub extern fn d2i_PrivateKey_bio(bp: [*c]BIO, a: [*c][*c]EVP_PKEY) [*c]EVP_PKEY;
-pub extern fn i2d_PUBKEY_bio(bp: [*c]BIO, pkey: [*c]EVP_PKEY) c_int;
-pub extern fn d2i_PUBKEY_bio(bp: [*c]BIO, a: [*c][*c]EVP_PKEY) [*c]EVP_PKEY;
-pub extern fn d2i_DHparams_bio(bp: [*c]BIO, dh: [*c][*c]DH) [*c]DH;
-pub extern fn i2d_DHparams_bio(bp: [*c]BIO, dh: [*c]const DH) c_int;
-pub extern fn X509_dup(x509: ?*X509) ?*X509;
-pub extern fn X509_ATTRIBUTE_dup(xa: ?*X509_ATTRIBUTE) ?*X509_ATTRIBUTE;
-pub extern fn X509_EXTENSION_dup(ex: ?*X509_EXTENSION) ?*X509_EXTENSION;
-pub extern fn X509V3_EXT_d2i(ex: ?*X509_EXTENSION) ?*anyopaque;
-pub extern fn X509V3_EXT_get(ex: ?*X509_EXTENSION) ?*X509V3_EXT_METHOD;
-pub extern fn X509V3_EXT_get_nid(ndi: c_int) ?*X509V3_EXT_METHOD;
-pub extern fn X509_CRL_dup(crl: ?*X509_CRL) ?*X509_CRL;
-pub extern fn X509_REVOKED_dup(rev: [*c]X509_REVOKED) [*c]X509_REVOKED;
-pub extern fn X509_REQ_dup(req: ?*X509_REQ) ?*X509_REQ;
-pub extern fn X509_ALGOR_dup(xn: [*c]X509_ALGOR) [*c]X509_ALGOR;
-pub extern fn X509_ALGOR_set0(alg: [*c]X509_ALGOR, obj: ?*ASN1_OBJECT, param_type: c_int, param_value: ?*anyopaque) c_int;
-pub extern fn X509_ALGOR_get0(out_obj: [*c]?*const ASN1_OBJECT, out_param_type: [*c]c_int, out_param_value: [*c]?*const anyopaque, alg: [*c]const X509_ALGOR) void;
-pub extern fn X509_ALGOR_set_md(alg: [*c]X509_ALGOR, md: ?*const EVP_MD) void;
-pub extern fn X509_ALGOR_cmp(a: [*c]const X509_ALGOR, b: [*c]const X509_ALGOR) c_int;
-pub extern fn X509_NAME_dup(xn: ?*X509_NAME) ?*X509_NAME;
-pub extern fn X509_NAME_ENTRY_dup(ne: ?*X509_NAME_ENTRY) ?*X509_NAME_ENTRY;
-pub extern fn X509_NAME_ENTRY_set(ne: ?*const X509_NAME_ENTRY) c_int;
-pub extern fn X509_NAME_get0_der(nm: ?*X509_NAME, pder: [*c][*c]const u8, pderlen: [*c]usize) c_int;
+pub extern fn X509_ATTRIBUTE_dup(xa: ?*const X509_ATTRIBUTE) ?*X509_ATTRIBUTE;
+pub extern fn X509_REVOKED_dup(rev: ?*const X509_REVOKED) ?*X509_REVOKED;
pub extern fn X509_cmp_time(s: [*c]const ASN1_TIME, t: [*c]time_t) c_int;
pub extern fn X509_cmp_current_time(s: [*c]const ASN1_TIME) c_int;
pub extern fn X509_time_adj(s: [*c]ASN1_TIME, offset_sec: c_long, t: [*c]time_t) [*c]ASN1_TIME;
@@ -4230,138 +4240,61 @@ pub extern fn X509_time_adj_ex(s: [*c]ASN1_TIME, offset_day: c_int, offset_sec:
pub extern fn X509_gmtime_adj(s: [*c]ASN1_TIME, offset_sec: c_long) [*c]ASN1_TIME;
pub extern fn X509_get_default_cert_area() [*c]const u8;
pub extern fn X509_get_default_cert_dir() [*c]const u8;
-pub extern fn X509_get_default_cert_file() [*c]const u8;
+// pub extern fn X509_get_default_cert_file() [*c]const u8;
pub extern fn X509_get_default_cert_dir_env() [*c]const u8;
-pub extern fn X509_get_default_cert_file_env() [*c]const u8;
+// pub extern fn X509_get_default_cert_file_env() [*c]const u8;
pub extern fn X509_get_default_private_dir() [*c]const u8;
-pub extern fn X509_to_X509_REQ(x: ?*X509, pkey: [*c]EVP_PKEY, md: ?*const EVP_MD) ?*X509_REQ;
-pub extern fn d2i_X509_ALGORS(a: [*c]?*X509_ALGORS, in: [*c][*c]const u8, len: c_long) ?*X509_ALGORS;
-pub extern fn i2d_X509_ALGORS(a: ?*X509_ALGORS, out: [*c][*c]u8) c_int;
-pub extern const X509_ALGORS_it: ASN1_ITEM;
pub extern fn X509_PUBKEY_new() ?*X509_PUBKEY;
pub extern fn X509_PUBKEY_free(a: ?*X509_PUBKEY) void;
pub extern fn d2i_X509_PUBKEY(a: [*c]?*X509_PUBKEY, in: [*c][*c]const u8, len: c_long) ?*X509_PUBKEY;
-pub extern fn i2d_X509_PUBKEY(a: ?*X509_PUBKEY, out: [*c][*c]u8) c_int;
+pub extern fn i2d_X509_PUBKEY(a: ?*const X509_PUBKEY, out: [*c][*c]u8) c_int;
pub extern const X509_PUBKEY_it: ASN1_ITEM;
pub extern fn X509_PUBKEY_set(x: [*c]?*X509_PUBKEY, pkey: [*c]EVP_PKEY) c_int;
pub extern fn X509_PUBKEY_get(key: ?*X509_PUBKEY) [*c]EVP_PKEY;
pub extern fn X509_SIG_new() ?*X509_SIG;
pub extern fn X509_SIG_free(a: ?*X509_SIG) void;
pub extern fn d2i_X509_SIG(a: [*c]?*X509_SIG, in: [*c][*c]const u8, len: c_long) ?*X509_SIG;
-pub extern fn i2d_X509_SIG(a: ?*X509_SIG, out: [*c][*c]u8) c_int;
+pub extern fn i2d_X509_SIG(a: ?*const X509_SIG, out: [*c][*c]u8) c_int;
pub extern const X509_SIG_it: ASN1_ITEM;
-pub extern fn X509_REQ_new() ?*X509_REQ;
-pub extern fn X509_REQ_free(a: ?*X509_REQ) void;
-pub extern fn d2i_X509_REQ(a: [*c]?*X509_REQ, in: [*c][*c]const u8, len: c_long) ?*X509_REQ;
-pub extern fn i2d_X509_REQ(a: ?*X509_REQ, out: [*c][*c]u8) c_int;
-pub extern const X509_REQ_it: ASN1_ITEM;
pub extern fn X509_ATTRIBUTE_new() ?*X509_ATTRIBUTE;
pub extern fn X509_ATTRIBUTE_free(a: ?*X509_ATTRIBUTE) void;
pub extern fn d2i_X509_ATTRIBUTE(a: [*c]?*X509_ATTRIBUTE, in: [*c][*c]const u8, len: c_long) ?*X509_ATTRIBUTE;
-pub extern fn i2d_X509_ATTRIBUTE(a: ?*X509_ATTRIBUTE, out: [*c][*c]u8) c_int;
+pub extern fn i2d_X509_ATTRIBUTE(a: ?*const X509_ATTRIBUTE, out: [*c][*c]u8) c_int;
pub extern const X509_ATTRIBUTE_it: ASN1_ITEM;
pub extern fn X509_ATTRIBUTE_create(nid: c_int, attrtype: c_int, value: ?*anyopaque) ?*X509_ATTRIBUTE;
-pub extern fn X509_EXTENSION_new() ?*X509_EXTENSION;
-pub extern fn X509_EXTENSION_free(a: ?*X509_EXTENSION) void;
-pub extern fn d2i_X509_EXTENSION(a: [*c]?*X509_EXTENSION, in: [*c][*c]const u8, len: c_long) ?*X509_EXTENSION;
-pub extern fn i2d_X509_EXTENSION(a: ?*X509_EXTENSION, out: [*c][*c]u8) c_int;
-pub extern const X509_EXTENSION_it: ASN1_ITEM;
-pub extern fn d2i_X509_EXTENSIONS(a: [*c]?*X509_EXTENSIONS, in: [*c][*c]const u8, len: c_long) ?*X509_EXTENSIONS;
-pub extern fn i2d_X509_EXTENSIONS(a: ?*X509_EXTENSIONS, out: [*c][*c]u8) c_int;
-pub extern const X509_EXTENSIONS_it: ASN1_ITEM;
-pub extern fn X509_NAME_ENTRY_new() ?*X509_NAME_ENTRY;
-pub extern fn X509_NAME_ENTRY_free(a: ?*X509_NAME_ENTRY) void;
-pub extern fn d2i_X509_NAME_ENTRY(a: [*c]?*X509_NAME_ENTRY, in: [*c][*c]const u8, len: c_long) ?*X509_NAME_ENTRY;
-pub extern fn i2d_X509_NAME_ENTRY(a: ?*X509_NAME_ENTRY, out: [*c][*c]u8) c_int;
-pub extern const X509_NAME_ENTRY_it: ASN1_ITEM;
-pub extern fn X509_NAME_new() ?*X509_NAME;
-pub extern fn X509_NAME_free(a: ?*X509_NAME) void;
-pub extern fn d2i_X509_NAME(a: [*c]?*X509_NAME, in: [*c][*c]const u8, len: c_long) ?*X509_NAME;
-pub extern fn i2d_X509_NAME(a: ?*X509_NAME, out: [*c][*c]u8) c_int;
-pub extern const X509_NAME_it: ASN1_ITEM;
-pub extern fn X509_NAME_set(xn: [*c]?*X509_NAME, name: ?*X509_NAME) c_int;
-pub extern fn X509_new() ?*X509;
-pub extern fn X509_free(a: ?*X509) void;
-pub extern fn d2i_X509(a: [*c]?*X509, in: [*c][*c]const u8, len: c_long) ?*X509;
-pub extern fn i2d_X509(a: ?*X509, out: [*c][*c]u8) c_int;
-pub extern const X509_it: ASN1_ITEM;
-pub extern fn X509_CERT_AUX_new() ?*X509_CERT_AUX;
-pub extern fn X509_CERT_AUX_free(a: ?*X509_CERT_AUX) void;
-pub extern fn d2i_X509_CERT_AUX(a: [*c]?*X509_CERT_AUX, in: [*c][*c]const u8, len: c_long) ?*X509_CERT_AUX;
-pub extern fn i2d_X509_CERT_AUX(a: ?*X509_CERT_AUX, out: [*c][*c]u8) c_int;
-pub extern const X509_CERT_AUX_it: ASN1_ITEM;
-pub extern fn X509_up_ref(x509: ?*X509) c_int;
-pub extern fn X509_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?CRYPTO_EX_dup, free_func: ?CRYPTO_EX_free) c_int;
-pub extern fn X509_set_ex_data(r: ?*X509, idx: c_int, arg: ?*anyopaque) c_int;
-pub extern fn X509_get_ex_data(r: ?*X509, idx: c_int) ?*anyopaque;
-pub extern fn i2d_X509_AUX(a: ?*X509, pp: [*c][*c]u8) c_int;
-pub extern fn d2i_X509_AUX(a: [*c]?*X509, pp: [*c][*c]const u8, length: c_long) ?*X509;
-pub extern fn i2d_re_X509_tbs(x509: ?*X509, outp: [*c][*c]u8) c_int;
-pub extern fn i2d_X509_tbs(x509: ?*X509, outp: [*c][*c]u8) c_int;
-pub extern fn X509_set1_signature_algo(x509: ?*X509, algo: [*c]const X509_ALGOR) c_int;
-pub extern fn X509_set1_signature_value(x509: ?*X509, sig: [*c]const u8, sig_len: usize) c_int;
-pub extern fn X509_get0_signature(out_sig: [*c][*c]const ASN1_BIT_STRING, out_alg: [*c][*c]const X509_ALGOR, x509: ?*const X509) void;
-pub extern fn X509_get_signature_nid(x509: ?*const X509) c_int;
-pub extern fn X509_alias_set1(x: ?*X509, name: [*c]const u8, len: c_int) c_int;
-pub extern fn X509_keyid_set1(x: ?*X509, id: [*c]const u8, len: c_int) c_int;
-pub extern fn X509_alias_get0(x: ?*X509, len: [*c]c_int) [*c]u8;
-pub extern fn X509_keyid_get0(x: ?*X509, len: [*c]c_int) [*c]u8;
-pub extern fn X509_TRUST_set_default(trust: ?*const fn (c_int, ?*X509, c_int) callconv(.C) c_int) ?*const fn (c_int, ?*X509, c_int) callconv(.C) c_int;
-pub extern fn X509_TRUST_set(t: [*c]c_int, trust: c_int) c_int;
pub extern fn X509_add1_trust_object(x: ?*X509, obj: ?*ASN1_OBJECT) c_int;
pub extern fn X509_add1_reject_object(x: ?*X509, obj: ?*ASN1_OBJECT) c_int;
pub extern fn X509_trust_clear(x: ?*X509) void;
pub extern fn X509_reject_clear(x: ?*X509) void;
-pub extern fn X509_REVOKED_new() [*c]X509_REVOKED;
-pub extern fn X509_REVOKED_free(a: [*c]X509_REVOKED) void;
-pub extern fn d2i_X509_REVOKED(a: [*c][*c]X509_REVOKED, in: [*c][*c]const u8, len: c_long) [*c]X509_REVOKED;
-pub extern fn i2d_X509_REVOKED(a: [*c]X509_REVOKED, out: [*c][*c]u8) c_int;
+pub extern fn X509_TRUST_set(t: [*c]c_int, trust: c_int) c_int;
+pub extern fn X509_REVOKED_new() ?*X509_REVOKED;
+pub extern fn X509_REVOKED_free(a: ?*X509_REVOKED) void;
+pub extern fn d2i_X509_REVOKED(a: [*c]?*X509_REVOKED, in: [*c][*c]const u8, len: c_long) ?*X509_REVOKED;
+pub extern fn i2d_X509_REVOKED(a: ?*const X509_REVOKED, out: [*c][*c]u8) c_int;
pub extern const X509_REVOKED_it: ASN1_ITEM;
-pub extern fn X509_CRL_new() ?*X509_CRL;
-pub extern fn X509_CRL_free(a: ?*X509_CRL) void;
-pub extern fn d2i_X509_CRL(a: [*c]?*X509_CRL, in: [*c][*c]const u8, len: c_long) ?*X509_CRL;
-pub extern fn i2d_X509_CRL(a: ?*X509_CRL, out: [*c][*c]u8) c_int;
-pub extern const X509_CRL_it: ASN1_ITEM;
-pub extern fn X509_CRL_add0_revoked(crl: ?*X509_CRL, rev: [*c]X509_REVOKED) c_int;
-pub extern fn X509_CRL_get0_by_serial(crl: ?*X509_CRL, ret: [*c][*c]X509_REVOKED, serial: [*c]ASN1_INTEGER) c_int;
-pub extern fn X509_CRL_get0_by_cert(crl: ?*X509_CRL, ret: [*c][*c]X509_REVOKED, x: ?*X509) c_int;
+pub extern fn X509_CRL_add0_revoked(crl: ?*X509_CRL, rev: ?*X509_REVOKED) c_int;
+pub extern fn X509_CRL_get0_by_serial(crl: ?*X509_CRL, ret: [*c]?*X509_REVOKED, serial: [*c]ASN1_INTEGER) c_int;
+pub extern fn X509_CRL_get0_by_cert(crl: ?*X509_CRL, ret: [*c]?*X509_REVOKED, x: ?*X509) c_int;
pub extern fn X509_PKEY_new() [*c]X509_PKEY;
pub extern fn X509_PKEY_free(a: [*c]X509_PKEY) void;
pub extern fn NETSCAPE_SPKI_new() [*c]NETSCAPE_SPKI;
pub extern fn NETSCAPE_SPKI_free(a: [*c]NETSCAPE_SPKI) void;
pub extern fn d2i_NETSCAPE_SPKI(a: [*c][*c]NETSCAPE_SPKI, in: [*c][*c]const u8, len: c_long) [*c]NETSCAPE_SPKI;
-pub extern fn i2d_NETSCAPE_SPKI(a: [*c]NETSCAPE_SPKI, out: [*c][*c]u8) c_int;
+pub extern fn i2d_NETSCAPE_SPKI(a: [*c]const NETSCAPE_SPKI, out: [*c][*c]u8) c_int;
pub extern const NETSCAPE_SPKI_it: ASN1_ITEM;
pub extern fn NETSCAPE_SPKAC_new() [*c]NETSCAPE_SPKAC;
pub extern fn NETSCAPE_SPKAC_free(a: [*c]NETSCAPE_SPKAC) void;
pub extern fn d2i_NETSCAPE_SPKAC(a: [*c][*c]NETSCAPE_SPKAC, in: [*c][*c]const u8, len: c_long) [*c]NETSCAPE_SPKAC;
-pub extern fn i2d_NETSCAPE_SPKAC(a: [*c]NETSCAPE_SPKAC, out: [*c][*c]u8) c_int;
+pub extern fn i2d_NETSCAPE_SPKAC(a: [*c]const NETSCAPE_SPKAC, out: [*c][*c]u8) c_int;
pub extern const NETSCAPE_SPKAC_it: ASN1_ITEM;
pub extern fn X509_INFO_new() [*c]X509_INFO;
pub extern fn X509_INFO_free(a: [*c]X509_INFO) void;
pub extern fn X509_NAME_oneline(a: ?*const X509_NAME, buf: [*c]u8, size: c_int) [*c]u8;
-pub extern fn ASN1_digest(i2d: ?i2d_of_void, @"type": ?*const EVP_MD, data: [*c]u8, md: [*c]u8, len: [*c]c_uint) c_int;
+pub extern fn ASN1_digest(i2d: ?*const i2d_of_void, @"type": ?*const EVP_MD, data: [*c]u8, md: [*c]u8, len: [*c]c_uint) c_int;
pub extern fn ASN1_item_digest(it: ?*const ASN1_ITEM, @"type": ?*const EVP_MD, data: ?*anyopaque, md: [*c]u8, len: [*c]c_uint) c_int;
pub extern fn ASN1_item_verify(it: ?*const ASN1_ITEM, algor1: [*c]const X509_ALGOR, signature: [*c]const ASN1_BIT_STRING, data: ?*anyopaque, pkey: [*c]EVP_PKEY) c_int;
pub extern fn ASN1_item_sign(it: ?*const ASN1_ITEM, algor1: [*c]X509_ALGOR, algor2: [*c]X509_ALGOR, signature: [*c]ASN1_BIT_STRING, data: ?*anyopaque, pkey: [*c]EVP_PKEY, @"type": ?*const EVP_MD) c_int;
pub extern fn ASN1_item_sign_ctx(it: ?*const ASN1_ITEM, algor1: [*c]X509_ALGOR, algor2: [*c]X509_ALGOR, signature: [*c]ASN1_BIT_STRING, asn: ?*anyopaque, ctx: [*c]EVP_MD_CTX) c_int;
-pub extern fn X509_get_serialNumber(x509: ?*X509) [*c]ASN1_INTEGER;
-pub extern fn X509_set_issuer_name(x509: ?*X509, name: ?*X509_NAME) c_int;
-pub extern fn X509_get_issuer_name(x509: ?*const X509) ?*X509_NAME;
-pub extern fn X509_set_subject_name(x509: ?*X509, name: ?*X509_NAME) c_int;
-pub extern fn X509_get_subject_name(x509: ?*const X509) ?*X509_NAME;
-pub extern fn X509_set_pubkey(x509: ?*X509, pkey: [*c]EVP_PKEY) c_int;
-pub extern fn X509_get_pubkey(x509: ?*X509) [*c]EVP_PKEY;
-pub extern fn X509_get0_pubkey_bitstr(x509: ?*const X509) [*c]ASN1_BIT_STRING;
-pub extern fn X509_get0_extensions(x509: ?*const X509) ?*const struct_stack_st_X509_EXTENSION;
-pub extern fn X509_get0_tbs_sigalg(x509: ?*const X509) [*c]const X509_ALGOR;
-pub extern fn X509_REQ_set_version(req: ?*X509_REQ, version: c_long) c_int;
-pub extern fn X509_REQ_set_subject_name(req: ?*X509_REQ, name: ?*X509_NAME) c_int;
-pub extern fn X509_REQ_get0_signature(req: ?*const X509_REQ, out_sig: [*c][*c]const ASN1_BIT_STRING, out_alg: [*c][*c]const X509_ALGOR) void;
-pub extern fn X509_REQ_get_signature_nid(req: ?*const X509_REQ) c_int;
-pub extern fn i2d_re_X509_REQ_tbs(req: ?*X509_REQ, outp: [*c][*c]u8) c_int;
-pub extern fn X509_REQ_set_pubkey(req: ?*X509_REQ, pkey: [*c]EVP_PKEY) c_int;
-pub extern fn X509_REQ_get_pubkey(req: ?*X509_REQ) [*c]EVP_PKEY;
pub extern fn X509_REQ_extension_nid(nid: c_int) c_int;
pub extern fn X509_REQ_get_extensions(req: ?*X509_REQ) ?*struct_stack_st_X509_EXTENSION;
pub extern fn X509_REQ_add_extensions_nid(req: ?*X509_REQ, exts: ?*const struct_stack_st_X509_EXTENSION, nid: c_int) c_int;
@@ -4375,28 +4308,15 @@ pub extern fn X509_REQ_add1_attr(req: ?*X509_REQ, attr: ?*X509_ATTRIBUTE) c_int;
pub extern fn X509_REQ_add1_attr_by_OBJ(req: ?*X509_REQ, obj: ?*const ASN1_OBJECT, attrtype: c_int, data: [*c]const u8, len: c_int) c_int;
pub extern fn X509_REQ_add1_attr_by_NID(req: ?*X509_REQ, nid: c_int, attrtype: c_int, data: [*c]const u8, len: c_int) c_int;
pub extern fn X509_REQ_add1_attr_by_txt(req: ?*X509_REQ, attrname: [*c]const u8, attrtype: c_int, data: [*c]const u8, len: c_int) c_int;
-pub extern fn X509_CRL_set_version(crl: ?*X509_CRL, version: c_long) c_int;
-pub extern fn X509_CRL_set_issuer_name(crl: ?*X509_CRL, name: ?*X509_NAME) c_int;
pub extern fn X509_CRL_sort(crl: ?*X509_CRL) c_int;
-pub extern fn X509_CRL_up_ref(crl: ?*X509_CRL) c_int;
-pub extern fn X509_CRL_get0_signature(crl: ?*const X509_CRL, out_sig: [*c][*c]const ASN1_BIT_STRING, out_alg: [*c][*c]const X509_ALGOR) void;
-pub extern fn X509_CRL_get_signature_nid(crl: ?*const X509_CRL) c_int;
-pub extern fn i2d_re_X509_CRL_tbs(crl: ?*X509_CRL, outp: [*c][*c]u8) c_int;
-pub extern fn i2d_X509_CRL_tbs(crl: ?*X509_CRL, outp: [*c][*c]u8) c_int;
-pub extern fn X509_CRL_set1_signature_algo(crl: ?*X509_CRL, algo: [*c]const X509_ALGOR) c_int;
-pub extern fn X509_CRL_set1_signature_value(crl: ?*X509_CRL, sig: [*c]const u8, sig_len: usize) c_int;
-pub extern fn X509_REVOKED_get0_serialNumber(revoked: [*c]const X509_REVOKED) [*c]const ASN1_INTEGER;
-pub extern fn X509_REVOKED_set_serialNumber(revoked: [*c]X509_REVOKED, serial: [*c]const ASN1_INTEGER) c_int;
-pub extern fn X509_REVOKED_get0_revocationDate(revoked: [*c]const X509_REVOKED) [*c]const ASN1_TIME;
-pub extern fn X509_REVOKED_set_revocationDate(revoked: [*c]X509_REVOKED, tm: [*c]const ASN1_TIME) c_int;
-pub extern fn X509_REVOKED_get0_extensions(r: [*c]const X509_REVOKED) ?*const struct_stack_st_X509_EXTENSION;
+pub extern fn X509_REVOKED_get0_serialNumber(revoked: ?*const X509_REVOKED) [*c]const ASN1_INTEGER;
+pub extern fn X509_REVOKED_set_serialNumber(revoked: ?*X509_REVOKED, serial: [*c]const ASN1_INTEGER) c_int;
+pub extern fn X509_REVOKED_get0_revocationDate(revoked: ?*const X509_REVOKED) [*c]const ASN1_TIME;
+pub extern fn X509_REVOKED_set_revocationDate(revoked: ?*X509_REVOKED, tm: [*c]const ASN1_TIME) c_int;
+pub extern fn X509_REVOKED_get0_extensions(r: ?*const X509_REVOKED) ?*const struct_stack_st_X509_EXTENSION;
pub extern fn X509_CRL_diff(base: ?*X509_CRL, newer: ?*X509_CRL, skey: [*c]EVP_PKEY, md: ?*const EVP_MD, flags: c_uint) ?*X509_CRL;
pub extern fn X509_REQ_check_private_key(x509: ?*X509_REQ, pkey: [*c]EVP_PKEY) c_int;
pub extern fn X509_check_private_key(x509: ?*X509, pkey: [*c]const EVP_PKEY) c_int;
-pub extern fn X509_chain_check_suiteb(perror_depth: [*c]c_int, x: ?*X509, chain: ?*struct_stack_st_X509, flags: c_ulong) c_int;
-pub extern fn X509_CRL_check_suiteb(crl: ?*X509_CRL, pk: [*c]EVP_PKEY, flags: c_ulong) c_int;
-pub extern fn X509_chain_up_ref(chain: ?*struct_stack_st_X509) ?*struct_stack_st_X509;
-pub extern fn X509_issuer_and_serial_cmp(a: ?*const X509, b: ?*const X509) c_int;
pub extern fn X509_issuer_name_cmp(a: ?*const X509, b: ?*const X509) c_int;
pub extern fn X509_issuer_name_hash(a: ?*X509) c_ulong;
pub extern fn X509_subject_name_cmp(a: ?*const X509, b: ?*const X509) c_int;
@@ -4409,81 +4329,31 @@ pub extern fn X509_NAME_hash(x: ?*X509_NAME) c_ulong;
pub extern fn X509_NAME_hash_old(x: ?*X509_NAME) c_ulong;
pub extern fn X509_CRL_cmp(a: ?*const X509_CRL, b: ?*const X509_CRL) c_int;
pub extern fn X509_CRL_match(a: ?*const X509_CRL, b: ?*const X509_CRL) c_int;
-pub extern fn X509_print_ex_fp(bp: [*c]FILE, x: ?*X509, nmflag: c_ulong, cflag: c_ulong) c_int;
-pub extern fn X509_print_fp(bp: [*c]FILE, x: ?*X509) c_int;
-pub extern fn X509_CRL_print_fp(bp: [*c]FILE, x: ?*X509_CRL) c_int;
-pub extern fn X509_REQ_print_fp(bp: [*c]FILE, req: ?*X509_REQ) c_int;
-pub extern fn X509_NAME_print_ex_fp(fp: [*c]FILE, nm: ?*const X509_NAME, indent: c_int, flags: c_ulong) c_int;
+// pub extern fn X509_print_ex_fp(bp: [*c]FILE, x: ?*X509, nmflag: c_ulong, cflag: c_ulong) c_int;
+// pub extern fn X509_print_fp(bp: [*c]FILE, x: ?*X509) c_int;
+// pub extern fn X509_CRL_print_fp(bp: [*c]FILE, x: ?*X509_CRL) c_int;
+// pub extern fn X509_REQ_print_fp(bp: [*c]FILE, req: ?*X509_REQ) c_int;
+// pub extern fn X509_NAME_print_ex_fp(fp: [*c]FILE, nm: ?*const X509_NAME, indent: c_int, flags: c_ulong) c_int;
pub extern fn X509_NAME_print(bp: [*c]BIO, name: ?*const X509_NAME, obase: c_int) c_int;
pub extern fn X509_NAME_print_ex(out: [*c]BIO, nm: ?*const X509_NAME, indent: c_int, flags: c_ulong) c_int;
pub extern fn X509_print_ex(bp: [*c]BIO, x: ?*X509, nmflag: c_ulong, cflag: c_ulong) c_int;
pub extern fn X509_print(bp: [*c]BIO, x: ?*X509) c_int;
-pub extern fn X509_ocspid_print(bp: [*c]BIO, x: ?*X509) c_int;
-pub extern fn X509_CERT_AUX_print(bp: [*c]BIO, x: ?*X509_CERT_AUX, indent: c_int) c_int;
pub extern fn X509_CRL_print(bp: [*c]BIO, x: ?*X509_CRL) c_int;
pub extern fn X509_REQ_print_ex(bp: [*c]BIO, x: ?*X509_REQ, nmflag: c_ulong, cflag: c_ulong) c_int;
pub extern fn X509_REQ_print(bp: [*c]BIO, req: ?*X509_REQ) c_int;
-pub extern fn X509_NAME_entry_count(name: ?*const X509_NAME) c_int;
-pub extern fn X509_NAME_get_text_by_NID(name: ?*const X509_NAME, nid: c_int, buf: [*c]u8, len: c_int) c_int;
-pub extern fn X509_NAME_get_text_by_OBJ(name: ?*const X509_NAME, obj: ?*const ASN1_OBJECT, buf: [*c]u8, len: c_int) c_int;
-pub extern fn X509_NAME_get_index_by_NID(name: ?*const X509_NAME, nid: c_int, lastpos: c_int) c_int;
-pub extern fn X509_NAME_get_index_by_OBJ(name: ?*const X509_NAME, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
-pub extern fn X509_NAME_get_entry(name: ?*const X509_NAME, loc: c_int) ?*X509_NAME_ENTRY;
-pub extern fn X509_NAME_delete_entry(name: ?*X509_NAME, loc: c_int) ?*X509_NAME_ENTRY;
-pub extern fn X509_NAME_add_entry(name: ?*X509_NAME, ne: ?*X509_NAME_ENTRY, loc: c_int, set: c_int) c_int;
-pub extern fn X509_NAME_add_entry_by_OBJ(name: ?*X509_NAME, obj: ?*ASN1_OBJECT, @"type": c_int, bytes: [*c]const u8, len: c_int, loc: c_int, set: c_int) c_int;
-pub extern fn X509_NAME_add_entry_by_NID(name: ?*X509_NAME, nid: c_int, @"type": c_int, bytes: [*c]const u8, len: c_int, loc: c_int, set: c_int) c_int;
-pub extern fn X509_NAME_ENTRY_create_by_txt(ne: [*c]?*X509_NAME_ENTRY, field: [*c]const u8, @"type": c_int, bytes: [*c]const u8, len: c_int) ?*X509_NAME_ENTRY;
-pub extern fn X509_NAME_ENTRY_create_by_NID(ne: [*c]?*X509_NAME_ENTRY, nid: c_int, @"type": c_int, bytes: [*c]const u8, len: c_int) ?*X509_NAME_ENTRY;
-pub extern fn X509_NAME_add_entry_by_txt(name: ?*X509_NAME, field: [*c]const u8, @"type": c_int, bytes: [*c]const u8, len: c_int, loc: c_int, set: c_int) c_int;
-pub extern fn X509_NAME_ENTRY_create_by_OBJ(ne: [*c]?*X509_NAME_ENTRY, obj: ?*const ASN1_OBJECT, @"type": c_int, bytes: [*c]const u8, len: c_int) ?*X509_NAME_ENTRY;
-pub extern fn X509_NAME_ENTRY_set_object(ne: ?*X509_NAME_ENTRY, obj: ?*const ASN1_OBJECT) c_int;
-pub extern fn X509_NAME_ENTRY_set_data(ne: ?*X509_NAME_ENTRY, @"type": c_int, bytes: [*c]const u8, len: c_int) c_int;
-pub extern fn X509_NAME_ENTRY_get_object(ne: ?*const X509_NAME_ENTRY) ?*ASN1_OBJECT;
-pub extern fn X509_NAME_ENTRY_get_data(ne: ?*const X509_NAME_ENTRY) [*c]ASN1_STRING;
-pub extern fn X509v3_get_ext_count(x: ?*const struct_stack_st_X509_EXTENSION) c_int;
-pub extern fn X509v3_get_ext_by_NID(x: ?*const struct_stack_st_X509_EXTENSION, nid: c_int, lastpos: c_int) c_int;
-pub extern fn X509v3_get_ext_by_OBJ(x: ?*const struct_stack_st_X509_EXTENSION, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
-pub extern fn X509v3_get_ext_by_critical(x: ?*const struct_stack_st_X509_EXTENSION, crit: c_int, lastpos: c_int) c_int;
-pub extern fn X509v3_get_ext(x: ?*const struct_stack_st_X509_EXTENSION, loc: c_int) ?*X509_EXTENSION;
-pub extern fn X509v3_delete_ext(x: ?*struct_stack_st_X509_EXTENSION, loc: c_int) ?*X509_EXTENSION;
-pub extern fn X509v3_add_ext(x: [*c]?*struct_stack_st_X509_EXTENSION, ex: ?*X509_EXTENSION, loc: c_int) ?*struct_stack_st_X509_EXTENSION;
-pub extern fn X509_get_ext_count(x: ?*const X509) c_int;
-pub extern fn X509_get_ext_by_NID(x: ?*const X509, nid: c_int, lastpos: c_int) c_int;
-pub extern fn X509_get_ext_by_OBJ(x: ?*const X509, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
-pub extern fn X509_get_ext_by_critical(x: ?*const X509, crit: c_int, lastpos: c_int) c_int;
-pub extern fn X509_get_ext(x: ?*const X509, loc: c_int) ?*X509_EXTENSION;
-pub extern fn X509_delete_ext(x: ?*X509, loc: c_int) ?*X509_EXTENSION;
-pub extern fn X509_add_ext(x: ?*X509, ex: ?*X509_EXTENSION, loc: c_int) c_int;
-pub extern fn X509_check_ca(x: ?*X509) c_int;
pub extern fn X509_get_ext_d2i(x509: ?*const X509, nid: c_int, out_critical: [*c]c_int, out_idx: [*c]c_int) ?*anyopaque;
pub extern fn X509_add1_ext_i2d(x: ?*X509, nid: c_int, value: ?*anyopaque, crit: c_int, flags: c_ulong) c_int;
-pub extern fn X509_CRL_get_ext_count(x: ?*const X509_CRL) c_int;
-pub extern fn X509_CRL_get_ext_by_NID(x: ?*const X509_CRL, nid: c_int, lastpos: c_int) c_int;
-pub extern fn X509_CRL_get_ext_by_OBJ(x: ?*const X509_CRL, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
-pub extern fn X509_CRL_get_ext_by_critical(x: ?*const X509_CRL, crit: c_int, lastpos: c_int) c_int;
-pub extern fn X509_CRL_get_ext(x: ?*const X509_CRL, loc: c_int) ?*X509_EXTENSION;
-pub extern fn X509_CRL_delete_ext(x: ?*X509_CRL, loc: c_int) ?*X509_EXTENSION;
-pub extern fn X509_CRL_add_ext(x: ?*X509_CRL, ex: ?*X509_EXTENSION, loc: c_int) c_int;
pub extern fn X509_CRL_get_ext_d2i(crl: ?*const X509_CRL, nid: c_int, out_critical: [*c]c_int, out_idx: [*c]c_int) ?*anyopaque;
pub extern fn X509_CRL_add1_ext_i2d(x: ?*X509_CRL, nid: c_int, value: ?*anyopaque, crit: c_int, flags: c_ulong) c_int;
-pub extern fn X509_REVOKED_get_ext_count(x: [*c]const X509_REVOKED) c_int;
-pub extern fn X509_REVOKED_get_ext_by_NID(x: [*c]const X509_REVOKED, nid: c_int, lastpos: c_int) c_int;
-pub extern fn X509_REVOKED_get_ext_by_OBJ(x: [*c]const X509_REVOKED, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
-pub extern fn X509_REVOKED_get_ext_by_critical(x: [*c]const X509_REVOKED, crit: c_int, lastpos: c_int) c_int;
-pub extern fn X509_REVOKED_get_ext(x: [*c]const X509_REVOKED, loc: c_int) ?*X509_EXTENSION;
-pub extern fn X509_REVOKED_delete_ext(x: [*c]X509_REVOKED, loc: c_int) ?*X509_EXTENSION;
-pub extern fn X509_REVOKED_add_ext(x: [*c]X509_REVOKED, ex: ?*X509_EXTENSION, loc: c_int) c_int;
-pub extern fn X509_REVOKED_get_ext_d2i(revoked: [*c]const X509_REVOKED, nid: c_int, out_critical: [*c]c_int, out_idx: [*c]c_int) ?*anyopaque;
-pub extern fn X509_REVOKED_add1_ext_i2d(x: [*c]X509_REVOKED, nid: c_int, value: ?*anyopaque, crit: c_int, flags: c_ulong) c_int;
-pub extern fn X509_EXTENSION_create_by_NID(ex: [*c]?*X509_EXTENSION, nid: c_int, crit: c_int, data: [*c]const ASN1_OCTET_STRING) ?*X509_EXTENSION;
-pub extern fn X509_EXTENSION_create_by_OBJ(ex: [*c]?*X509_EXTENSION, obj: ?*const ASN1_OBJECT, crit: c_int, data: [*c]const ASN1_OCTET_STRING) ?*X509_EXTENSION;
-pub extern fn X509_EXTENSION_set_object(ex: ?*X509_EXTENSION, obj: ?*const ASN1_OBJECT) c_int;
-pub extern fn X509_EXTENSION_set_critical(ex: ?*X509_EXTENSION, crit: c_int) c_int;
-pub extern fn X509_EXTENSION_set_data(ex: ?*X509_EXTENSION, data: [*c]const ASN1_OCTET_STRING) c_int;
-pub extern fn X509_EXTENSION_get_object(ex: ?*X509_EXTENSION) ?*ASN1_OBJECT;
-pub extern fn X509_EXTENSION_get_data(ne: ?*X509_EXTENSION) [*c]ASN1_OCTET_STRING;
-pub extern fn X509_EXTENSION_get_critical(ex: ?*const X509_EXTENSION) c_int;
+pub extern fn X509_REVOKED_get_ext_count(x: ?*const X509_REVOKED) c_int;
+pub extern fn X509_REVOKED_get_ext_by_NID(x: ?*const X509_REVOKED, nid: c_int, lastpos: c_int) c_int;
+pub extern fn X509_REVOKED_get_ext_by_OBJ(x: ?*const X509_REVOKED, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
+pub extern fn X509_REVOKED_get_ext_by_critical(x: ?*const X509_REVOKED, crit: c_int, lastpos: c_int) c_int;
+pub extern fn X509_REVOKED_get_ext(x: ?*const X509_REVOKED, loc: c_int) ?*X509_EXTENSION;
+pub extern fn X509_REVOKED_delete_ext(x: ?*X509_REVOKED, loc: c_int) ?*X509_EXTENSION;
+pub extern fn X509_REVOKED_add_ext(x: ?*X509_REVOKED, ex: ?*const X509_EXTENSION, loc: c_int) c_int;
+pub extern fn X509_REVOKED_get_ext_d2i(revoked: ?*const X509_REVOKED, nid: c_int, out_critical: [*c]c_int, out_idx: [*c]c_int) ?*anyopaque;
+pub extern fn X509_REVOKED_add1_ext_i2d(x: ?*X509_REVOKED, nid: c_int, value: ?*anyopaque, crit: c_int, flags: c_ulong) c_int;
pub extern fn X509at_get_attr_count(x: ?*const struct_stack_st_X509_ATTRIBUTE) c_int;
pub extern fn X509at_get_attr_by_NID(x: ?*const struct_stack_st_X509_ATTRIBUTE, nid: c_int, lastpos: c_int) c_int;
pub extern fn X509at_get_attr_by_OBJ(sk: ?*const struct_stack_st_X509_ATTRIBUTE, obj: ?*const ASN1_OBJECT, lastpos: c_int) c_int;
@@ -4493,27 +4363,23 @@ pub extern fn X509at_add1_attr(x: [*c]?*struct_stack_st_X509_ATTRIBUTE, attr: ?*
pub extern fn X509at_add1_attr_by_OBJ(x: [*c]?*struct_stack_st_X509_ATTRIBUTE, obj: ?*const ASN1_OBJECT, @"type": c_int, bytes: [*c]const u8, len: c_int) ?*struct_stack_st_X509_ATTRIBUTE;
pub extern fn X509at_add1_attr_by_NID(x: [*c]?*struct_stack_st_X509_ATTRIBUTE, nid: c_int, @"type": c_int, bytes: [*c]const u8, len: c_int) ?*struct_stack_st_X509_ATTRIBUTE;
pub extern fn X509at_add1_attr_by_txt(x: [*c]?*struct_stack_st_X509_ATTRIBUTE, attrname: [*c]const u8, @"type": c_int, bytes: [*c]const u8, len: c_int) ?*struct_stack_st_X509_ATTRIBUTE;
-pub extern fn X509_ATTRIBUTE_create_by_NID(attr: [*c]?*X509_ATTRIBUTE, nid: c_int, attrtype: c_int, data: ?[*]const u8, len: c_int) ?*X509_ATTRIBUTE;
-pub extern fn X509_ATTRIBUTE_create_by_OBJ(attr: [*c]?*X509_ATTRIBUTE, obj: ?*const ASN1_OBJECT, attrtype: c_int, data: ?[*]const u8, len: c_int) ?*X509_ATTRIBUTE;
+pub extern fn X509_ATTRIBUTE_create_by_NID(attr: [*c]?*X509_ATTRIBUTE, nid: c_int, attrtype: c_int, data: ?*const anyopaque, len: c_int) ?*X509_ATTRIBUTE;
+pub extern fn X509_ATTRIBUTE_create_by_OBJ(attr: [*c]?*X509_ATTRIBUTE, obj: ?*const ASN1_OBJECT, attrtype: c_int, data: ?*const anyopaque, len: c_int) ?*X509_ATTRIBUTE;
pub extern fn X509_ATTRIBUTE_create_by_txt(attr: [*c]?*X509_ATTRIBUTE, attrname: [*c]const u8, @"type": c_int, bytes: [*c]const u8, len: c_int) ?*X509_ATTRIBUTE;
pub extern fn X509_ATTRIBUTE_set1_object(attr: ?*X509_ATTRIBUTE, obj: ?*const ASN1_OBJECT) c_int;
-pub extern fn X509_ATTRIBUTE_set1_data(attr: ?*X509_ATTRIBUTE, attrtype: c_int, data: ?[*]const u8, len: c_int) c_int;
+pub extern fn X509_ATTRIBUTE_set1_data(attr: ?*X509_ATTRIBUTE, attrtype: c_int, data: ?*const anyopaque, len: c_int) c_int;
pub extern fn X509_ATTRIBUTE_get0_data(attr: ?*X509_ATTRIBUTE, idx: c_int, attrtype: c_int, unused: ?*anyopaque) ?*anyopaque;
pub extern fn X509_ATTRIBUTE_count(attr: ?*const X509_ATTRIBUTE) c_int;
pub extern fn X509_ATTRIBUTE_get0_object(attr: ?*X509_ATTRIBUTE) ?*ASN1_OBJECT;
pub extern fn X509_ATTRIBUTE_get0_type(attr: ?*X509_ATTRIBUTE, idx: c_int) [*c]ASN1_TYPE;
pub extern fn X509_verify_cert(ctx: ?*X509_STORE_CTX) c_int;
-pub extern fn X509_find_by_issuer_and_serial(sk: ?*struct_stack_st_X509, name: ?*X509_NAME, serial: [*c]ASN1_INTEGER) ?*X509;
-pub extern fn X509_find_by_subject(sk: ?*struct_stack_st_X509, name: ?*X509_NAME) ?*X509;
pub extern fn PKCS8_PRIV_KEY_INFO_new() ?*PKCS8_PRIV_KEY_INFO;
pub extern fn PKCS8_PRIV_KEY_INFO_free(a: ?*PKCS8_PRIV_KEY_INFO) void;
pub extern fn d2i_PKCS8_PRIV_KEY_INFO(a: [*c]?*PKCS8_PRIV_KEY_INFO, in: [*c][*c]const u8, len: c_long) ?*PKCS8_PRIV_KEY_INFO;
-pub extern fn i2d_PKCS8_PRIV_KEY_INFO(a: ?*PKCS8_PRIV_KEY_INFO, out: [*c][*c]u8) c_int;
+pub extern fn i2d_PKCS8_PRIV_KEY_INFO(a: ?*const PKCS8_PRIV_KEY_INFO, out: [*c][*c]u8) c_int;
pub extern const PKCS8_PRIV_KEY_INFO_it: ASN1_ITEM;
-pub extern fn EVP_PKCS82PKEY(p8: ?*PKCS8_PRIV_KEY_INFO) [*c]EVP_PKEY;
-pub extern fn EVP_PKEY2PKCS8(pkey: [*c]EVP_PKEY) ?*PKCS8_PRIV_KEY_INFO;
-pub extern fn PKCS8_pkey_set0(priv: ?*PKCS8_PRIV_KEY_INFO, aobj: ?*ASN1_OBJECT, version: c_int, ptype: c_int, pval: ?*anyopaque, penc: [*c]u8, penclen: c_int) c_int;
-pub extern fn PKCS8_pkey_get0(ppkalg: [*c]?*ASN1_OBJECT, pk: [*c][*c]const u8, ppklen: [*c]c_int, pa: [*c][*c]X509_ALGOR, p8: ?*PKCS8_PRIV_KEY_INFO) c_int;
+pub extern fn EVP_PKCS82PKEY(p8: ?*const PKCS8_PRIV_KEY_INFO) [*c]EVP_PKEY;
+pub extern fn EVP_PKEY2PKCS8(pkey: [*c]const EVP_PKEY) ?*PKCS8_PRIV_KEY_INFO;
pub extern fn X509_PUBKEY_set0_param(@"pub": ?*X509_PUBKEY, obj: ?*ASN1_OBJECT, param_type: c_int, param_value: ?*anyopaque, key: [*c]u8, key_len: c_int) c_int;
pub extern fn X509_PUBKEY_get0_param(out_obj: [*c]?*ASN1_OBJECT, out_key: [*c][*c]const u8, out_key_len: [*c]c_int, out_alg: [*c][*c]X509_ALGOR, @"pub": ?*X509_PUBKEY) c_int;
pub extern fn X509_PUBKEY_get0_public_key(@"pub": ?*const X509_PUBKEY) [*c]const ASN1_BIT_STRING;
@@ -4529,353 +4395,354 @@ pub extern fn X509_TRUST_get_trust(xp: [*c]const X509_TRUST) c_int;
pub extern fn RSA_PSS_PARAMS_new() [*c]RSA_PSS_PARAMS;
pub extern fn RSA_PSS_PARAMS_free(a: [*c]RSA_PSS_PARAMS) void;
pub extern fn d2i_RSA_PSS_PARAMS(a: [*c][*c]RSA_PSS_PARAMS, in: [*c][*c]const u8, len: c_long) [*c]RSA_PSS_PARAMS;
-pub extern fn i2d_RSA_PSS_PARAMS(a: [*c]RSA_PSS_PARAMS, out: [*c][*c]u8) c_int;
+pub extern fn i2d_RSA_PSS_PARAMS(a: [*c]const RSA_PSS_PARAMS, out: [*c][*c]u8) c_int;
pub extern const RSA_PSS_PARAMS_it: ASN1_ITEM;
pub const struct_stack_st_X509_LOOKUP = opaque {};
-pub const stack_X509_LOOKUP_free_func = ?*const fn (?*X509_LOOKUP) callconv(.C) void;
-pub const stack_X509_LOOKUP_copy_func = ?*const fn (?*X509_LOOKUP) callconv(.C) ?*X509_LOOKUP;
-pub const stack_X509_LOOKUP_cmp_func = ?*const fn ([*c]?*const X509_LOOKUP, [*c]?*const X509_LOOKUP) callconv(.C) c_int;
-pub fn sk_X509_LOOKUP_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_X509_LOOKUP_free_func = ?*const fn (?*X509_LOOKUP) callconv(.C) void;
+pub const sk_X509_LOOKUP_copy_func = ?*const fn (?*X509_LOOKUP) callconv(.C) ?*X509_LOOKUP;
+pub const sk_X509_LOOKUP_cmp_func = ?*const fn ([*c]?*const X509_LOOKUP, [*c]?*const X509_LOOKUP) callconv(.C) c_int;
+pub fn sk_X509_LOOKUP_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_LOOKUP_free_func, @alignCast(@import("std").meta.alignment(fn (?*X509_LOOKUP) callconv(.C) void), free_func)).?(@ptrCast(?*X509_LOOKUP, ptr));
+ @as(sk_X509_LOOKUP_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*X509_LOOKUP, @ptrCast(ptr)));
}
-pub fn sk_X509_LOOKUP_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_LOOKUP_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_LOOKUP_copy_func, @alignCast(@import("std").meta.alignment(fn (?*X509_LOOKUP) callconv(.C) ?*X509_LOOKUP), copy_func)).?(@ptrCast(?*X509_LOOKUP, ptr)));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_LOOKUP_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*X509_LOOKUP, @ptrCast(ptr)))));
}
-pub fn sk_X509_LOOKUP_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_LOOKUP_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const X509_LOOKUP = @ptrCast(?*const X509_LOOKUP, a.*);
- var b_ptr: ?*const X509_LOOKUP = @ptrCast(?*const X509_LOOKUP, b.*);
- return @ptrCast(stack_X509_LOOKUP_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_LOOKUP, [*c]?*const X509_LOOKUP) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const X509_LOOKUP = @as(?*const X509_LOOKUP, @ptrCast(a.*));
+ var b_ptr: ?*const X509_LOOKUP = @as(?*const X509_LOOKUP, @ptrCast(b.*));
+ return @as(sk_X509_LOOKUP_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_LOOKUP_new(arg_comp: stack_X509_LOOKUP_cmp_func) callconv(.C) ?*struct_stack_st_X509_LOOKUP {
+pub fn sk_X509_LOOKUP_new(arg_comp: sk_X509_LOOKUP_cmp_func) callconv(.C) ?*struct_stack_st_X509_LOOKUP {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_LOOKUP, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_LOOKUP, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_X509_LOOKUP_new_null() callconv(.C) ?*struct_stack_st_X509_LOOKUP {
- return @ptrCast(?*struct_stack_st_X509_LOOKUP, sk_new_null());
+ return @as(?*struct_stack_st_X509_LOOKUP, @ptrCast(sk_new_null()));
}
pub fn sk_X509_LOOKUP_num(arg_sk: ?*const struct_stack_st_X509_LOOKUP) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_LOOKUP_zero(arg_sk: ?*struct_stack_st_X509_LOOKUP) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_LOOKUP_value(arg_sk: ?*const struct_stack_st_X509_LOOKUP, arg_i: usize) callconv(.C) ?*X509_LOOKUP {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*X509_LOOKUP, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as(?*X509_LOOKUP, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
pub fn sk_X509_LOOKUP_set(arg_sk: ?*struct_stack_st_X509_LOOKUP, arg_i: usize, arg_p: ?*X509_LOOKUP) callconv(.C) ?*X509_LOOKUP {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*X509_LOOKUP, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
+ return @as(?*X509_LOOKUP, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_LOOKUP_free(arg_sk: ?*struct_stack_st_X509_LOOKUP) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_LOOKUP_pop_free(arg_sk: ?*struct_stack_st_X509_LOOKUP, arg_free_func: stack_X509_LOOKUP_free_func) callconv(.C) void {
+pub fn sk_X509_LOOKUP_pop_free(arg_sk: ?*struct_stack_st_X509_LOOKUP, arg_free_func: sk_X509_LOOKUP_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_LOOKUP_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_LOOKUP_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_X509_LOOKUP_insert(arg_sk: ?*struct_stack_st_X509_LOOKUP, arg_p: ?*X509_LOOKUP, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_X509_LOOKUP_delete(arg_sk: ?*struct_stack_st_X509_LOOKUP, arg_where: usize) callconv(.C) ?*X509_LOOKUP {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*X509_LOOKUP, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as(?*X509_LOOKUP, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
pub fn sk_X509_LOOKUP_delete_ptr(arg_sk: ?*struct_stack_st_X509_LOOKUP, arg_p: ?*const X509_LOOKUP) callconv(.C) ?*X509_LOOKUP {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*X509_LOOKUP, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as(?*X509_LOOKUP, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_LOOKUP_find(arg_sk: ?*const struct_stack_st_X509_LOOKUP, arg_out_index: [*c]usize, arg_p: ?*const X509_LOOKUP) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_LOOKUP_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_LOOKUP_call_cmp_func);
}
pub fn sk_X509_LOOKUP_shift(arg_sk: ?*struct_stack_st_X509_LOOKUP) callconv(.C) ?*X509_LOOKUP {
var sk = arg_sk;
- return @ptrCast(?*X509_LOOKUP, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_LOOKUP, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_LOOKUP_push(arg_sk: ?*struct_stack_st_X509_LOOKUP, arg_p: ?*X509_LOOKUP) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_X509_LOOKUP_pop(arg_sk: ?*struct_stack_st_X509_LOOKUP) callconv(.C) ?*X509_LOOKUP {
var sk = arg_sk;
- return @ptrCast(?*X509_LOOKUP, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_LOOKUP, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_LOOKUP_dup(arg_sk: ?*const struct_stack_st_X509_LOOKUP) callconv(.C) ?*struct_stack_st_X509_LOOKUP {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_LOOKUP, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_LOOKUP, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_LOOKUP_sort(arg_sk: ?*struct_stack_st_X509_LOOKUP) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_LOOKUP_call_cmp_func);
}
pub fn sk_X509_LOOKUP_is_sorted(arg_sk: ?*const struct_stack_st_X509_LOOKUP) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_LOOKUP_set_cmp_func(arg_sk: ?*struct_stack_st_X509_LOOKUP, arg_comp: stack_X509_LOOKUP_cmp_func) callconv(.C) stack_X509_LOOKUP_cmp_func {
+pub fn sk_X509_LOOKUP_set_cmp_func(arg_sk: ?*struct_stack_st_X509_LOOKUP, arg_comp: sk_X509_LOOKUP_cmp_func) callconv(.C) sk_X509_LOOKUP_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_LOOKUP_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_LOOKUP, [*c]?*const X509_LOOKUP) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_LOOKUP_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_LOOKUP_deep_copy(arg_sk: ?*const struct_stack_st_X509_LOOKUP, arg_copy_func: ?*const fn (?*X509_LOOKUP) callconv(.C) ?*X509_LOOKUP, arg_free_func: ?*const fn (?*X509_LOOKUP) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_LOOKUP {
+pub fn sk_X509_LOOKUP_deep_copy(arg_sk: ?*const struct_stack_st_X509_LOOKUP, arg_copy_func: sk_X509_LOOKUP_copy_func, arg_free_func: sk_X509_LOOKUP_free_func) callconv(.C) ?*struct_stack_st_X509_LOOKUP {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_LOOKUP, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_LOOKUP_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_LOOKUP_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_LOOKUP, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_LOOKUP_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_LOOKUP_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
pub const struct_stack_st_X509_OBJECT = opaque {};
-pub const stack_X509_OBJECT_free_func = ?*const fn (?*X509_OBJECT) callconv(.C) void;
-pub const stack_X509_OBJECT_copy_func = ?*const fn (?*X509_OBJECT) callconv(.C) ?*X509_OBJECT;
-pub const stack_X509_OBJECT_cmp_func = ?*const fn ([*c]?*const X509_OBJECT, [*c]?*const X509_OBJECT) callconv(.C) c_int;
-pub fn sk_X509_OBJECT_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_X509_OBJECT_free_func = ?*const fn (?*X509_OBJECT) callconv(.C) void;
+pub const sk_X509_OBJECT_copy_func = ?*const fn (?*X509_OBJECT) callconv(.C) ?*X509_OBJECT;
+pub const sk_X509_OBJECT_cmp_func = ?*const fn ([*c]?*const X509_OBJECT, [*c]?*const X509_OBJECT) callconv(.C) c_int;
+pub fn sk_X509_OBJECT_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_OBJECT_free_func, @alignCast(@import("std").meta.alignment(fn (?*X509_OBJECT) callconv(.C) void), free_func)).?(@ptrCast(?*X509_OBJECT, ptr));
+ @as(sk_X509_OBJECT_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*X509_OBJECT, @ptrCast(ptr)));
}
-pub fn sk_X509_OBJECT_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_OBJECT_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_OBJECT_copy_func, @alignCast(@import("std").meta.alignment(fn (?*X509_OBJECT) callconv(.C) ?*X509_OBJECT), copy_func)).?(@ptrCast(?*X509_OBJECT, ptr)));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_OBJECT_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*X509_OBJECT, @ptrCast(ptr)))));
}
-pub fn sk_X509_OBJECT_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_OBJECT_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const X509_OBJECT = @ptrCast(?*const X509_OBJECT, a.*);
- var b_ptr: ?*const X509_OBJECT = @ptrCast(?*const X509_OBJECT, b.*);
- return @ptrCast(stack_X509_OBJECT_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_OBJECT, [*c]?*const X509_OBJECT) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const X509_OBJECT = @as(?*const X509_OBJECT, @ptrCast(a.*));
+ var b_ptr: ?*const X509_OBJECT = @as(?*const X509_OBJECT, @ptrCast(b.*));
+ return @as(sk_X509_OBJECT_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_OBJECT_new(arg_comp: stack_X509_OBJECT_cmp_func) callconv(.C) ?*struct_stack_st_X509_OBJECT {
+pub fn sk_X509_OBJECT_new(arg_comp: sk_X509_OBJECT_cmp_func) callconv(.C) ?*struct_stack_st_X509_OBJECT {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_OBJECT, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_OBJECT, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_X509_OBJECT_new_null() callconv(.C) ?*struct_stack_st_X509_OBJECT {
- return @ptrCast(?*struct_stack_st_X509_OBJECT, sk_new_null());
+ return @as(?*struct_stack_st_X509_OBJECT, @ptrCast(sk_new_null()));
}
pub fn sk_X509_OBJECT_num(arg_sk: ?*const struct_stack_st_X509_OBJECT) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_OBJECT_zero(arg_sk: ?*struct_stack_st_X509_OBJECT) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_OBJECT_value(arg_sk: ?*const struct_stack_st_X509_OBJECT, arg_i: usize) callconv(.C) ?*X509_OBJECT {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*X509_OBJECT, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as(?*X509_OBJECT, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
pub fn sk_X509_OBJECT_set(arg_sk: ?*struct_stack_st_X509_OBJECT, arg_i: usize, arg_p: ?*X509_OBJECT) callconv(.C) ?*X509_OBJECT {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*X509_OBJECT, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
+ return @as(?*X509_OBJECT, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_OBJECT_free(arg_sk: ?*struct_stack_st_X509_OBJECT) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_OBJECT_pop_free(arg_sk: ?*struct_stack_st_X509_OBJECT, arg_free_func: stack_X509_OBJECT_free_func) callconv(.C) void {
+pub fn sk_X509_OBJECT_pop_free(arg_sk: ?*struct_stack_st_X509_OBJECT, arg_free_func: sk_X509_OBJECT_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_OBJECT_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_OBJECT_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_X509_OBJECT_insert(arg_sk: ?*struct_stack_st_X509_OBJECT, arg_p: ?*X509_OBJECT, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_X509_OBJECT_delete(arg_sk: ?*struct_stack_st_X509_OBJECT, arg_where: usize) callconv(.C) ?*X509_OBJECT {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*X509_OBJECT, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as(?*X509_OBJECT, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
pub fn sk_X509_OBJECT_delete_ptr(arg_sk: ?*struct_stack_st_X509_OBJECT, arg_p: ?*const X509_OBJECT) callconv(.C) ?*X509_OBJECT {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*X509_OBJECT, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as(?*X509_OBJECT, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_OBJECT_find(arg_sk: ?*const struct_stack_st_X509_OBJECT, arg_out_index: [*c]usize, arg_p: ?*const X509_OBJECT) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_OBJECT_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_OBJECT_call_cmp_func);
}
pub fn sk_X509_OBJECT_shift(arg_sk: ?*struct_stack_st_X509_OBJECT) callconv(.C) ?*X509_OBJECT {
var sk = arg_sk;
- return @ptrCast(?*X509_OBJECT, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_OBJECT, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_OBJECT_push(arg_sk: ?*struct_stack_st_X509_OBJECT, arg_p: ?*X509_OBJECT) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_X509_OBJECT_pop(arg_sk: ?*struct_stack_st_X509_OBJECT) callconv(.C) ?*X509_OBJECT {
var sk = arg_sk;
- return @ptrCast(?*X509_OBJECT, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_OBJECT, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_OBJECT_dup(arg_sk: ?*const struct_stack_st_X509_OBJECT) callconv(.C) ?*struct_stack_st_X509_OBJECT {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_OBJECT, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_OBJECT, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_OBJECT_sort(arg_sk: ?*struct_stack_st_X509_OBJECT) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_OBJECT_call_cmp_func);
}
pub fn sk_X509_OBJECT_is_sorted(arg_sk: ?*const struct_stack_st_X509_OBJECT) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_OBJECT_set_cmp_func(arg_sk: ?*struct_stack_st_X509_OBJECT, arg_comp: stack_X509_OBJECT_cmp_func) callconv(.C) stack_X509_OBJECT_cmp_func {
+pub fn sk_X509_OBJECT_set_cmp_func(arg_sk: ?*struct_stack_st_X509_OBJECT, arg_comp: sk_X509_OBJECT_cmp_func) callconv(.C) sk_X509_OBJECT_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_OBJECT_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_OBJECT, [*c]?*const X509_OBJECT) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_OBJECT_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_OBJECT_deep_copy(arg_sk: ?*const struct_stack_st_X509_OBJECT, arg_copy_func: ?*const fn (?*X509_OBJECT) callconv(.C) ?*X509_OBJECT, arg_free_func: ?*const fn (?*X509_OBJECT) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_OBJECT {
+pub fn sk_X509_OBJECT_deep_copy(arg_sk: ?*const struct_stack_st_X509_OBJECT, arg_copy_func: sk_X509_OBJECT_copy_func, arg_free_func: sk_X509_OBJECT_free_func) callconv(.C) ?*struct_stack_st_X509_OBJECT {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_OBJECT, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_OBJECT_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_OBJECT_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_OBJECT, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_OBJECT_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_OBJECT_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
pub const struct_stack_st_X509_VERIFY_PARAM = opaque {};
-pub const stack_X509_VERIFY_PARAM_free_func = ?*const fn (?*X509_VERIFY_PARAM) callconv(.C) void;
-pub const stack_X509_VERIFY_PARAM_copy_func = ?*const fn (?*X509_VERIFY_PARAM) callconv(.C) ?*X509_VERIFY_PARAM;
-pub const stack_X509_VERIFY_PARAM_cmp_func = ?*const fn ([*c]?*const X509_VERIFY_PARAM, [*c]?*const X509_VERIFY_PARAM) callconv(.C) c_int;
-pub fn sk_X509_VERIFY_PARAM_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_X509_VERIFY_PARAM_free_func = ?*const fn (?*X509_VERIFY_PARAM) callconv(.C) void;
+pub const sk_X509_VERIFY_PARAM_copy_func = ?*const fn (?*X509_VERIFY_PARAM) callconv(.C) ?*X509_VERIFY_PARAM;
+pub const sk_X509_VERIFY_PARAM_cmp_func = ?*const fn ([*c]?*const X509_VERIFY_PARAM, [*c]?*const X509_VERIFY_PARAM) callconv(.C) c_int;
+pub fn sk_X509_VERIFY_PARAM_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_X509_VERIFY_PARAM_free_func, @alignCast(@import("std").meta.alignment(fn (?*X509_VERIFY_PARAM) callconv(.C) void), free_func)).?(@ptrCast(?*X509_VERIFY_PARAM, ptr));
+ @as(sk_X509_VERIFY_PARAM_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*X509_VERIFY_PARAM, @ptrCast(ptr)));
}
-pub fn sk_X509_VERIFY_PARAM_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_X509_VERIFY_PARAM_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_X509_VERIFY_PARAM_copy_func, @alignCast(@import("std").meta.alignment(fn (?*X509_VERIFY_PARAM) callconv(.C) ?*X509_VERIFY_PARAM), copy_func)).?(@ptrCast(?*X509_VERIFY_PARAM, ptr)));
+ return @as(?*anyopaque, @ptrCast(@as(sk_X509_VERIFY_PARAM_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*X509_VERIFY_PARAM, @ptrCast(ptr)))));
}
-pub fn sk_X509_VERIFY_PARAM_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_X509_VERIFY_PARAM_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const X509_VERIFY_PARAM = @ptrCast(?*const X509_VERIFY_PARAM, a.*);
- var b_ptr: ?*const X509_VERIFY_PARAM = @ptrCast(?*const X509_VERIFY_PARAM, b.*);
- return @ptrCast(stack_X509_VERIFY_PARAM_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_VERIFY_PARAM, [*c]?*const X509_VERIFY_PARAM) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const X509_VERIFY_PARAM = @as(?*const X509_VERIFY_PARAM, @ptrCast(a.*));
+ var b_ptr: ?*const X509_VERIFY_PARAM = @as(?*const X509_VERIFY_PARAM, @ptrCast(b.*));
+ return @as(sk_X509_VERIFY_PARAM_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_X509_VERIFY_PARAM_new(arg_comp: stack_X509_VERIFY_PARAM_cmp_func) callconv(.C) ?*struct_stack_st_X509_VERIFY_PARAM {
+pub fn sk_X509_VERIFY_PARAM_new(arg_comp: sk_X509_VERIFY_PARAM_cmp_func) callconv(.C) ?*struct_stack_st_X509_VERIFY_PARAM {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_X509_VERIFY_PARAM, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_X509_VERIFY_PARAM, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_X509_VERIFY_PARAM_new_null() callconv(.C) ?*struct_stack_st_X509_VERIFY_PARAM {
- return @ptrCast(?*struct_stack_st_X509_VERIFY_PARAM, sk_new_null());
+ return @as(?*struct_stack_st_X509_VERIFY_PARAM, @ptrCast(sk_new_null()));
}
pub fn sk_X509_VERIFY_PARAM_num(arg_sk: ?*const struct_stack_st_X509_VERIFY_PARAM) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_VERIFY_PARAM_zero(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_X509_VERIFY_PARAM_value(arg_sk: ?*const struct_stack_st_X509_VERIFY_PARAM, arg_i: usize) callconv(.C) ?*X509_VERIFY_PARAM {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*X509_VERIFY_PARAM, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as(?*X509_VERIFY_PARAM, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
pub fn sk_X509_VERIFY_PARAM_set(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM, arg_i: usize, arg_p: ?*X509_VERIFY_PARAM) callconv(.C) ?*X509_VERIFY_PARAM {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*X509_VERIFY_PARAM, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p)));
+ return @as(?*X509_VERIFY_PARAM, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_VERIFY_PARAM_free(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_VERIFY_PARAM_pop_free(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM, arg_free_func: stack_X509_VERIFY_PARAM_free_func) callconv(.C) void {
+pub fn sk_X509_VERIFY_PARAM_pop_free(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM, arg_free_func: sk_X509_VERIFY_PARAM_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_VERIFY_PARAM_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_VERIFY_PARAM_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_X509_VERIFY_PARAM_insert(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM, arg_p: ?*X509_VERIFY_PARAM, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_X509_VERIFY_PARAM_delete(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM, arg_where: usize) callconv(.C) ?*X509_VERIFY_PARAM {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*X509_VERIFY_PARAM, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as(?*X509_VERIFY_PARAM, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
pub fn sk_X509_VERIFY_PARAM_delete_ptr(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM, arg_p: ?*const X509_VERIFY_PARAM) callconv(.C) ?*X509_VERIFY_PARAM {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*X509_VERIFY_PARAM, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as(?*X509_VERIFY_PARAM, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
pub fn sk_X509_VERIFY_PARAM_find(arg_sk: ?*const struct_stack_st_X509_VERIFY_PARAM, arg_out_index: [*c]usize, arg_p: ?*const X509_VERIFY_PARAM) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_X509_VERIFY_PARAM_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_X509_VERIFY_PARAM_call_cmp_func);
}
pub fn sk_X509_VERIFY_PARAM_shift(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM) callconv(.C) ?*X509_VERIFY_PARAM {
var sk = arg_sk;
- return @ptrCast(?*X509_VERIFY_PARAM, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_VERIFY_PARAM, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_VERIFY_PARAM_push(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM, arg_p: ?*X509_VERIFY_PARAM) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_X509_VERIFY_PARAM_pop(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM) callconv(.C) ?*X509_VERIFY_PARAM {
var sk = arg_sk;
- return @ptrCast(?*X509_VERIFY_PARAM, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*X509_VERIFY_PARAM, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_VERIFY_PARAM_dup(arg_sk: ?*const struct_stack_st_X509_VERIFY_PARAM) callconv(.C) ?*struct_stack_st_X509_VERIFY_PARAM {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_X509_VERIFY_PARAM, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_X509_VERIFY_PARAM, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_X509_VERIFY_PARAM_sort(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_X509_VERIFY_PARAM_call_cmp_func);
}
pub fn sk_X509_VERIFY_PARAM_is_sorted(arg_sk: ?*const struct_stack_st_X509_VERIFY_PARAM) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_X509_VERIFY_PARAM_set_cmp_func(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM, arg_comp: stack_X509_VERIFY_PARAM_cmp_func) callconv(.C) stack_X509_VERIFY_PARAM_cmp_func {
+pub fn sk_X509_VERIFY_PARAM_set_cmp_func(arg_sk: ?*struct_stack_st_X509_VERIFY_PARAM, arg_comp: sk_X509_VERIFY_PARAM_cmp_func) callconv(.C) sk_X509_VERIFY_PARAM_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_X509_VERIFY_PARAM_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const X509_VERIFY_PARAM, [*c]?*const X509_VERIFY_PARAM) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_X509_VERIFY_PARAM_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_X509_VERIFY_PARAM_deep_copy(arg_sk: ?*const struct_stack_st_X509_VERIFY_PARAM, arg_copy_func: ?*const fn (?*X509_VERIFY_PARAM) callconv(.C) ?*X509_VERIFY_PARAM, arg_free_func: ?*const fn (?*X509_VERIFY_PARAM) callconv(.C) void) callconv(.C) ?*struct_stack_st_X509_VERIFY_PARAM {
+pub fn sk_X509_VERIFY_PARAM_deep_copy(arg_sk: ?*const struct_stack_st_X509_VERIFY_PARAM, arg_copy_func: sk_X509_VERIFY_PARAM_copy_func, arg_free_func: sk_X509_VERIFY_PARAM_free_func) callconv(.C) ?*struct_stack_st_X509_VERIFY_PARAM {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_X509_VERIFY_PARAM, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_X509_VERIFY_PARAM_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_X509_VERIFY_PARAM_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_X509_VERIFY_PARAM, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_X509_VERIFY_PARAM_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_X509_VERIFY_PARAM_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
+pub extern fn X509_check_ca(x: ?*X509) c_int;
pub const X509_STORE_CTX_verify_cb = ?*const fn (c_int, ?*X509_STORE_CTX) callconv(.C) c_int;
pub const X509_STORE_CTX_verify_fn = ?*const fn (?*X509_STORE_CTX) callconv(.C) c_int;
pub const X509_STORE_CTX_get_issuer_fn = ?*const fn ([*c]?*X509, ?*X509_STORE_CTX, ?*X509) callconv(.C) c_int;
@@ -4936,33 +4803,28 @@ pub extern fn X509_STORE_CTX_get1_issuer(issuer: [*c]?*X509, ctx: ?*X509_STORE_C
pub extern fn X509_STORE_CTX_zero(ctx: ?*X509_STORE_CTX) void;
pub extern fn X509_STORE_CTX_free(ctx: ?*X509_STORE_CTX) void;
pub extern fn X509_STORE_CTX_init(ctx: ?*X509_STORE_CTX, store: ?*X509_STORE, x509: ?*X509, chain: ?*struct_stack_st_X509) c_int;
+pub extern fn X509_STORE_CTX_set0_trusted_stack(ctx: ?*X509_STORE_CTX, sk: ?*struct_stack_st_X509) void;
pub extern fn X509_STORE_CTX_trusted_stack(ctx: ?*X509_STORE_CTX, sk: ?*struct_stack_st_X509) void;
pub extern fn X509_STORE_CTX_cleanup(ctx: ?*X509_STORE_CTX) void;
pub extern fn X509_STORE_CTX_get0_store(ctx: ?*X509_STORE_CTX) ?*X509_STORE;
pub extern fn X509_STORE_CTX_get0_cert(ctx: ?*X509_STORE_CTX) ?*X509;
pub extern fn X509_STORE_add_lookup(v: ?*X509_STORE, m: ?*X509_LOOKUP_METHOD) ?*X509_LOOKUP;
pub extern fn X509_LOOKUP_hash_dir() ?*X509_LOOKUP_METHOD;
-pub extern fn X509_LOOKUP_file() ?*X509_LOOKUP_METHOD;
+// pub extern fn X509_LOOKUP_file() ?*X509_LOOKUP_METHOD;
pub extern fn X509_STORE_add_cert(ctx: ?*X509_STORE, x: ?*X509) c_int;
pub extern fn X509_STORE_add_crl(ctx: ?*X509_STORE, x: ?*X509_CRL) c_int;
pub extern fn X509_STORE_get_by_subject(vs: ?*X509_STORE_CTX, @"type": c_int, name: ?*X509_NAME, ret: ?*X509_OBJECT) c_int;
pub extern fn X509_LOOKUP_ctrl(ctx: ?*X509_LOOKUP, cmd: c_int, argc: [*c]const u8, argl: c_long, ret: [*c][*c]u8) c_int;
-pub extern fn X509_load_cert_file(ctx: ?*X509_LOOKUP, file: [*c]const u8, @"type": c_int) c_int;
-pub extern fn X509_load_crl_file(ctx: ?*X509_LOOKUP, file: [*c]const u8, @"type": c_int) c_int;
-pub extern fn X509_load_cert_crl_file(ctx: ?*X509_LOOKUP, file: [*c]const u8, @"type": c_int) c_int;
+// pub extern fn X509_load_cert_file(ctx: ?*X509_LOOKUP, file: [*c]const u8, @"type": c_int) c_int;
+// pub extern fn X509_load_crl_file(ctx: ?*X509_LOOKUP, file: [*c]const u8, @"type": c_int) c_int;
+// pub extern fn X509_load_cert_crl_file(ctx: ?*X509_LOOKUP, file: [*c]const u8, @"type": c_int) c_int;
pub extern fn X509_LOOKUP_new(method: ?*X509_LOOKUP_METHOD) ?*X509_LOOKUP;
pub extern fn X509_LOOKUP_free(ctx: ?*X509_LOOKUP) void;
pub extern fn X509_LOOKUP_init(ctx: ?*X509_LOOKUP) c_int;
pub extern fn X509_LOOKUP_by_subject(ctx: ?*X509_LOOKUP, @"type": c_int, name: ?*X509_NAME, ret: ?*X509_OBJECT) c_int;
-pub extern fn X509_LOOKUP_by_issuer_serial(ctx: ?*X509_LOOKUP, @"type": c_int, name: ?*X509_NAME, serial: [*c]ASN1_INTEGER, ret: ?*X509_OBJECT) c_int;
-pub extern fn X509_LOOKUP_by_fingerprint(ctx: ?*X509_LOOKUP, @"type": c_int, bytes: [*c]u8, len: c_int, ret: ?*X509_OBJECT) c_int;
-pub extern fn X509_LOOKUP_by_alias(ctx: ?*X509_LOOKUP, @"type": c_int, str: [*c]u8, len: c_int, ret: ?*X509_OBJECT) c_int;
pub extern fn X509_LOOKUP_shutdown(ctx: ?*X509_LOOKUP) c_int;
-pub extern fn X509_STORE_load_locations(ctx: ?*X509_STORE, file: [*c]const u8, dir: [*c]const u8) c_int;
+// pub extern fn X509_STORE_load_locations(ctx: ?*X509_STORE, file: [*c]const u8, dir: [*c]const u8) c_int;
pub extern fn X509_STORE_set_default_paths(ctx: ?*X509_STORE) c_int;
-pub extern fn X509_STORE_CTX_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?CRYPTO_EX_dup, free_func: ?CRYPTO_EX_free) c_int;
-pub extern fn X509_STORE_CTX_set_ex_data(ctx: ?*X509_STORE_CTX, idx: c_int, data: ?*anyopaque) c_int;
-pub extern fn X509_STORE_CTX_get_ex_data(ctx: ?*X509_STORE_CTX, idx: c_int) ?*anyopaque;
pub extern fn X509_STORE_CTX_get_error(ctx: ?*X509_STORE_CTX) c_int;
pub extern fn X509_STORE_CTX_set_error(ctx: ?*X509_STORE_CTX, s: c_int) void;
pub extern fn X509_STORE_CTX_get_error_depth(ctx: ?*X509_STORE_CTX) c_int;
@@ -4983,8 +4845,6 @@ pub extern fn X509_STORE_CTX_purpose_inherit(ctx: ?*X509_STORE_CTX, def_purpose:
pub extern fn X509_STORE_CTX_set_flags(ctx: ?*X509_STORE_CTX, flags: c_ulong) void;
pub extern fn X509_STORE_CTX_set_time(ctx: ?*X509_STORE_CTX, flags: c_ulong, t: time_t) void;
pub extern fn X509_STORE_CTX_set_verify_cb(ctx: ?*X509_STORE_CTX, verify_cb: ?*const fn (c_int, ?*X509_STORE_CTX) callconv(.C) c_int) void;
-pub extern fn X509_STORE_CTX_get0_policy_tree(ctx: ?*X509_STORE_CTX) ?*X509_POLICY_TREE;
-pub extern fn X509_STORE_CTX_get_explicit_policy(ctx: ?*X509_STORE_CTX) c_int;
pub extern fn X509_STORE_CTX_get0_param(ctx: ?*X509_STORE_CTX) ?*X509_VERIFY_PARAM;
pub extern fn X509_STORE_CTX_set0_param(ctx: ?*X509_STORE_CTX, param: ?*X509_VERIFY_PARAM) void;
pub extern fn X509_STORE_CTX_set_default(ctx: ?*X509_STORE_CTX, name: [*c]const u8) c_int;
@@ -5001,7 +4861,7 @@ pub extern fn X509_VERIFY_PARAM_set_trust(param: ?*X509_VERIFY_PARAM, trust: c_i
pub extern fn X509_VERIFY_PARAM_set_depth(param: ?*X509_VERIFY_PARAM, depth: c_int) void;
pub extern fn X509_VERIFY_PARAM_set_time(param: ?*X509_VERIFY_PARAM, t: time_t) void;
pub extern fn X509_VERIFY_PARAM_add0_policy(param: ?*X509_VERIFY_PARAM, policy: ?*ASN1_OBJECT) c_int;
-pub extern fn X509_VERIFY_PARAM_set1_policies(param: ?*X509_VERIFY_PARAM, policies: ?*struct_stack_st_ASN1_OBJECT) c_int;
+pub extern fn X509_VERIFY_PARAM_set1_policies(param: ?*X509_VERIFY_PARAM, policies: ?*const struct_stack_st_ASN1_OBJECT) c_int;
pub extern fn X509_VERIFY_PARAM_set1_host(param: ?*X509_VERIFY_PARAM, name: [*c]const u8, namelen: usize) c_int;
pub extern fn X509_VERIFY_PARAM_add1_host(param: ?*X509_VERIFY_PARAM, name: [*c]const u8, namelen: usize) c_int;
pub extern fn X509_VERIFY_PARAM_set_hostflags(param: ?*X509_VERIFY_PARAM, flags: c_uint) void;
@@ -5016,20 +4876,6 @@ pub extern fn X509_VERIFY_PARAM_get_count() c_int;
pub extern fn X509_VERIFY_PARAM_get0(id: c_int) ?*const X509_VERIFY_PARAM;
pub extern fn X509_VERIFY_PARAM_lookup(name: [*c]const u8) ?*const X509_VERIFY_PARAM;
pub extern fn X509_VERIFY_PARAM_table_cleanup() void;
-pub extern fn X509_policy_check(ptree: [*c]?*X509_POLICY_TREE, pexplicit_policy: [*c]c_int, certs: ?*struct_stack_st_X509, policy_oids: ?*struct_stack_st_ASN1_OBJECT, flags: c_uint) c_int;
-pub extern fn X509_policy_tree_free(tree: ?*X509_POLICY_TREE) void;
-pub extern fn X509_policy_tree_level_count(tree: ?*const X509_POLICY_TREE) c_int;
-pub extern fn X509_policy_tree_get0_level(tree: ?*const X509_POLICY_TREE, i: c_int) ?*X509_POLICY_LEVEL;
-pub const struct_stack_st_X509_POLICY_NODE = opaque {};
-pub extern fn X509_policy_tree_get0_policies(tree: ?*const X509_POLICY_TREE) ?*struct_stack_st_X509_POLICY_NODE;
-pub extern fn X509_policy_tree_get0_user_policies(tree: ?*const X509_POLICY_TREE) ?*struct_stack_st_X509_POLICY_NODE;
-pub extern fn X509_policy_level_node_count(level: ?*X509_POLICY_LEVEL) c_int;
-pub extern fn X509_policy_level_get0_node(level: ?*X509_POLICY_LEVEL, i: c_int) ?*X509_POLICY_NODE;
-pub extern fn X509_policy_node_get0_policy(node: ?*const X509_POLICY_NODE) ?*const ASN1_OBJECT;
-pub const struct_stack_st_POLICYQUALINFO = opaque {};
-pub extern fn X509_policy_node_get0_qualifiers(node: ?*const X509_POLICY_NODE) ?*struct_stack_st_POLICYQUALINFO;
-pub extern fn X509_policy_node_get0_parent(node: ?*const X509_POLICY_NODE) ?*const X509_POLICY_NODE;
-
pub extern fn OPENSSL_malloc(size: usize) ?*anyopaque;
pub extern fn OPENSSL_free(ptr: ?*anyopaque) void;
pub extern fn OPENSSL_realloc(ptr: ?*anyopaque, new_size: usize) ?*anyopaque;
@@ -5045,17 +4891,23 @@ pub extern fn OPENSSL_strncasecmp(a: [*c]const u8, b: [*c]const u8, n: usize) c_
pub extern fn BIO_snprintf(buf: [*c]u8, n: usize, format: [*c]const u8, ...) c_int;
pub extern fn BIO_vsnprintf(buf: [*c]u8, n: usize, format: [*c]const u8, args: va_list) c_int;
pub extern fn OPENSSL_strndup(str: [*c]const u8, size: usize) [*c]u8;
-pub extern fn OPENSSL_memdup(data: ?[*]const u8, size: usize) ?*anyopaque;
+pub extern fn OPENSSL_memdup(data: ?*const anyopaque, size: usize) ?*anyopaque;
pub extern fn OPENSSL_strlcpy(dst: [*c]u8, src: [*c]const u8, dst_size: usize) usize;
pub extern fn OPENSSL_strlcat(dst: [*c]u8, src: [*c]const u8, dst_size: usize) usize;
-pub extern fn CRYPTO_malloc(size: usize, file: [*c]const u8, line: c_int) ?*anyopaque;
-pub extern fn CRYPTO_realloc(ptr: ?*anyopaque, new_size: usize, file: [*c]const u8, line: c_int) ?*anyopaque;
-pub extern fn CRYPTO_free(ptr: ?*anyopaque, file: [*c]const u8, line: c_int) void;
+// pub extern fn CRYPTO_malloc(size: usize, file: [*c]const u8, line: c_int) ?*anyopaque;
+// pub extern fn CRYPTO_realloc(ptr: ?*anyopaque, new_size: usize, file: [*c]const u8, line: c_int) ?*anyopaque;
+// pub extern fn CRYPTO_free(ptr: ?*anyopaque, file: [*c]const u8, line: c_int) void;
pub extern fn OPENSSL_clear_free(ptr: ?*anyopaque, len: usize) void;
+pub extern fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) c_int;
+pub extern fn CRYPTO_secure_malloc_initialized() c_int;
+pub extern fn CRYPTO_secure_used() usize;
+pub extern fn OPENSSL_secure_malloc(size: usize) ?*anyopaque;
+pub extern fn OPENSSL_secure_clear_free(ptr: ?*anyopaque, len: usize) void;
pub extern fn CRYPTO_library_init() void;
pub extern fn CRYPTO_is_confidential_build() c_int;
pub extern fn CRYPTO_has_asm() c_int;
pub extern fn BORINGSSL_self_test() c_int;
+pub extern fn BORINGSSL_integrity_test() c_int;
pub extern fn CRYPTO_pre_sandbox_init() void;
pub extern fn FIPS_mode() c_int;
pub const fips_counter_evp_aes_128_gcm: c_int = 0;
@@ -5077,118 +4929,122 @@ pub extern fn OPENSSL_load_builtin_modules() void;
pub extern fn OPENSSL_init_crypto(opts: u64, settings: ?*const OPENSSL_INIT_SETTINGS) c_int;
pub extern fn OPENSSL_cleanup() void;
pub extern fn FIPS_mode_set(on: c_int) c_int;
-pub const pem_password_cb = *const fn ([*c]u8, c_int, c_int, ?*anyopaque) callconv(.C) c_int;
+pub extern fn FIPS_module_name() [*c]const u8;
+pub extern fn FIPS_version() u32;
+pub extern fn FIPS_query_algorithm_status(algorithm: [*c]const u8) c_int;
+pub const pem_password_cb = fn ([*c]u8, c_int, c_int, ?*anyopaque) callconv(.C) c_int;
pub extern fn PEM_get_EVP_CIPHER_INFO(header: [*c]u8, cipher: [*c]EVP_CIPHER_INFO) c_int;
-pub extern fn PEM_do_header(cipher: [*c]EVP_CIPHER_INFO, data: [*c]u8, len: [*c]c_long, callback: ?pem_password_cb, u: ?*anyopaque) c_int;
+pub extern fn PEM_do_header(cipher: [*c]EVP_CIPHER_INFO, data: [*c]u8, len: [*c]c_long, callback: ?*const pem_password_cb, u: ?*anyopaque) c_int;
pub extern fn PEM_read_bio(bp: [*c]BIO, name: [*c][*c]u8, header: [*c][*c]u8, data: [*c][*c]u8, len: [*c]c_long) c_int;
pub extern fn PEM_write_bio(bp: [*c]BIO, name: [*c]const u8, hdr: [*c]const u8, data: [*c]const u8, len: c_long) c_int;
-pub extern fn PEM_bytes_read_bio(pdata: [*c][*c]u8, plen: [*c]c_long, pnm: [*c][*c]u8, name: [*c]const u8, bp: [*c]BIO, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_ASN1_read_bio(d2i: ?d2i_of_void, name: [*c]const u8, bp: [*c]BIO, x: [*c]?*anyopaque, cb: ?pem_password_cb, u: ?*anyopaque) ?*anyopaque;
-pub extern fn PEM_ASN1_write_bio(i2d: ?i2d_of_void, name: [*c]const u8, bp: [*c]BIO, x: ?*anyopaque, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_X509_INFO_read_bio(bp: [*c]BIO, sk: ?*struct_stack_st_X509_INFO, cb: ?pem_password_cb, u: ?*anyopaque) ?*struct_stack_st_X509_INFO;
-pub extern fn PEM_X509_INFO_write_bio(bp: [*c]BIO, xi: [*c]X509_INFO, enc: [*c]EVP_CIPHER, kstr: [*c]u8, klen: c_int, cd: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_read(fp: [*c]FILE, name: [*c][*c]u8, header: [*c][*c]u8, data: [*c][*c]u8, len: [*c]c_long) c_int;
-pub extern fn PEM_write(fp: [*c]FILE, name: [*c]const u8, hdr: [*c]const u8, data: [*c]const u8, len: c_long) c_int;
-pub extern fn PEM_ASN1_read(d2i: ?d2i_of_void, name: [*c]const u8, fp: [*c]FILE, x: [*c]?*anyopaque, cb: ?pem_password_cb, u: ?*anyopaque) ?*anyopaque;
-pub extern fn PEM_ASN1_write(i2d: ?i2d_of_void, name: [*c]const u8, fp: [*c]FILE, x: ?*anyopaque, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, callback: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_X509_INFO_read(fp: [*c]FILE, sk: ?*struct_stack_st_X509_INFO, cb: ?pem_password_cb, u: ?*anyopaque) ?*struct_stack_st_X509_INFO;
+pub extern fn PEM_bytes_read_bio(pdata: [*c][*c]u8, plen: [*c]c_long, pnm: [*c][*c]u8, name: [*c]const u8, bp: [*c]BIO, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+pub extern fn PEM_ASN1_read_bio(d2i: ?*const d2i_of_void, name: [*c]const u8, bp: [*c]BIO, x: [*c]?*anyopaque, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*anyopaque;
+pub extern fn PEM_ASN1_write_bio(i2d: ?*const i2d_of_void, name: [*c]const u8, bp: [*c]BIO, x: ?*anyopaque, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+pub extern fn PEM_X509_INFO_read_bio(bp: [*c]BIO, sk: ?*struct_stack_st_X509_INFO, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*struct_stack_st_X509_INFO;
+// pub extern fn PEM_read(fp: [*c]FILE, name: [*c][*c]u8, header: [*c][*c]u8, data: [*c][*c]u8, len: [*c]c_long) c_int;
+// pub extern fn PEM_write(fp: [*c]FILE, name: [*c]const u8, hdr: [*c]const u8, data: [*c]const u8, len: c_long) c_int;
+// pub extern fn PEM_ASN1_read(d2i: ?*const d2i_of_void, name: [*c]const u8, fp: [*c]FILE, x: [*c]?*anyopaque, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*anyopaque;
+// pub extern fn PEM_ASN1_write(i2d: ?*const i2d_of_void, name: [*c]const u8, fp: [*c]FILE, x: ?*anyopaque, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, callback: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+// pub extern fn PEM_X509_INFO_read(fp: [*c]FILE, sk: ?*struct_stack_st_X509_INFO, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*struct_stack_st_X509_INFO;
pub extern fn PEM_def_callback(buf: [*c]u8, size: c_int, rwflag: c_int, userdata: ?*anyopaque) c_int;
pub extern fn PEM_proc_type(buf: [*c]u8, @"type": c_int) void;
pub extern fn PEM_dek_info(buf: [*c]u8, @"type": [*c]const u8, len: c_int, str: [*c]u8) void;
-pub extern fn PEM_read_bio_X509(bp: [*c]BIO, x: [*c]?*X509, cb: ?pem_password_cb, u: ?*anyopaque) ?*X509;
-pub extern fn PEM_read_X509(fp: [*c]FILE, x: [*c]?*X509, cb: ?pem_password_cb, u: ?*anyopaque) ?*X509;
+pub extern fn PEM_read_bio_X509(bp: [*c]BIO, x: [*c]?*X509, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*X509;
+// pub extern fn PEM_read_X509(fp: [*c]FILE, x: [*c]?*X509, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*X509;
pub extern fn PEM_write_bio_X509(bp: [*c]BIO, x: ?*X509) c_int;
-pub extern fn PEM_write_X509(fp: [*c]FILE, x: ?*X509) c_int;
-pub extern fn PEM_read_bio_X509_AUX(bp: [*c]BIO, x: [*c]?*X509, cb: ?pem_password_cb, u: ?*anyopaque) ?*X509;
-pub extern fn PEM_read_X509_AUX(fp: [*c]FILE, x: [*c]?*X509, cb: ?pem_password_cb, u: ?*anyopaque) ?*X509;
+// pub extern fn PEM_write_X509(fp: [*c]FILE, x: ?*X509) c_int;
+pub extern fn PEM_read_bio_X509_AUX(bp: [*c]BIO, x: [*c]?*X509, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*X509;
+// pub extern fn PEM_read_X509_AUX(fp: [*c]FILE, x: [*c]?*X509, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*X509;
pub extern fn PEM_write_bio_X509_AUX(bp: [*c]BIO, x: ?*X509) c_int;
-pub extern fn PEM_write_X509_AUX(fp: [*c]FILE, x: ?*X509) c_int;
-pub extern fn PEM_read_bio_X509_REQ(bp: [*c]BIO, x: [*c]?*X509_REQ, cb: ?pem_password_cb, u: ?*anyopaque) ?*X509_REQ;
-pub extern fn PEM_read_X509_REQ(fp: [*c]FILE, x: [*c]?*X509_REQ, cb: ?pem_password_cb, u: ?*anyopaque) ?*X509_REQ;
+// pub extern fn PEM_write_X509_AUX(fp: [*c]FILE, x: ?*X509) c_int;
+pub extern fn PEM_read_bio_X509_REQ(bp: [*c]BIO, x: [*c]?*X509_REQ, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*X509_REQ;
+// pub extern fn PEM_read_X509_REQ(fp: [*c]FILE, x: [*c]?*X509_REQ, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*X509_REQ;
pub extern fn PEM_write_bio_X509_REQ(bp: [*c]BIO, x: ?*X509_REQ) c_int;
-pub extern fn PEM_write_X509_REQ(fp: [*c]FILE, x: ?*X509_REQ) c_int;
+// pub extern fn PEM_write_X509_REQ(fp: [*c]FILE, x: ?*X509_REQ) c_int;
pub extern fn PEM_write_bio_X509_REQ_NEW(bp: [*c]BIO, x: ?*X509_REQ) c_int;
-pub extern fn PEM_write_X509_REQ_NEW(fp: [*c]FILE, x: ?*X509_REQ) c_int;
-pub extern fn PEM_read_bio_X509_CRL(bp: [*c]BIO, x: [*c]?*X509_CRL, cb: ?pem_password_cb, u: ?*anyopaque) ?*X509_CRL;
-pub extern fn PEM_read_X509_CRL(fp: [*c]FILE, x: [*c]?*X509_CRL, cb: ?pem_password_cb, u: ?*anyopaque) ?*X509_CRL;
+// pub extern fn PEM_write_X509_REQ_NEW(fp: [*c]FILE, x: ?*X509_REQ) c_int;
+pub extern fn PEM_read_bio_X509_CRL(bp: [*c]BIO, x: [*c]?*X509_CRL, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*X509_CRL;
+// pub extern fn PEM_read_X509_CRL(fp: [*c]FILE, x: [*c]?*X509_CRL, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*X509_CRL;
pub extern fn PEM_write_bio_X509_CRL(bp: [*c]BIO, x: ?*X509_CRL) c_int;
-pub extern fn PEM_write_X509_CRL(fp: [*c]FILE, x: ?*X509_CRL) c_int;
-pub extern fn PEM_read_bio_PKCS7(bp: [*c]BIO, x: [*c][*c]PKCS7, cb: ?pem_password_cb, u: ?*anyopaque) [*c]PKCS7;
-pub extern fn PEM_read_PKCS7(fp: [*c]FILE, x: [*c][*c]PKCS7, cb: ?pem_password_cb, u: ?*anyopaque) [*c]PKCS7;
+// pub extern fn PEM_write_X509_CRL(fp: [*c]FILE, x: ?*X509_CRL) c_int;
+pub extern fn PEM_read_bio_PKCS7(bp: [*c]BIO, x: [*c][*c]PKCS7, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]PKCS7;
+// pub extern fn PEM_read_PKCS7(fp: [*c]FILE, x: [*c][*c]PKCS7, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]PKCS7;
pub extern fn PEM_write_bio_PKCS7(bp: [*c]BIO, x: [*c]PKCS7) c_int;
-pub extern fn PEM_write_PKCS7(fp: [*c]FILE, x: [*c]PKCS7) c_int;
-pub extern fn PEM_read_bio_PKCS8(bp: [*c]BIO, x: [*c]?*X509_SIG, cb: ?pem_password_cb, u: ?*anyopaque) ?*X509_SIG;
-pub extern fn PEM_read_PKCS8(fp: [*c]FILE, x: [*c]?*X509_SIG, cb: ?pem_password_cb, u: ?*anyopaque) ?*X509_SIG;
+// pub extern fn PEM_write_PKCS7(fp: [*c]FILE, x: [*c]PKCS7) c_int;
+pub extern fn PEM_read_bio_PKCS8(bp: [*c]BIO, x: [*c]?*X509_SIG, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*X509_SIG;
+// pub extern fn PEM_read_PKCS8(fp: [*c]FILE, x: [*c]?*X509_SIG, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*X509_SIG;
pub extern fn PEM_write_bio_PKCS8(bp: [*c]BIO, x: ?*X509_SIG) c_int;
-pub extern fn PEM_write_PKCS8(fp: [*c]FILE, x: ?*X509_SIG) c_int;
-pub extern fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(bp: [*c]BIO, x: [*c]?*PKCS8_PRIV_KEY_INFO, cb: ?pem_password_cb, u: ?*anyopaque) ?*PKCS8_PRIV_KEY_INFO;
-pub extern fn PEM_read_PKCS8_PRIV_KEY_INFO(fp: [*c]FILE, x: [*c]?*PKCS8_PRIV_KEY_INFO, cb: ?pem_password_cb, u: ?*anyopaque) ?*PKCS8_PRIV_KEY_INFO;
+// pub extern fn PEM_write_PKCS8(fp: [*c]FILE, x: ?*X509_SIG) c_int;
+pub extern fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(bp: [*c]BIO, x: [*c]?*PKCS8_PRIV_KEY_INFO, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*PKCS8_PRIV_KEY_INFO;
+// pub extern fn PEM_read_PKCS8_PRIV_KEY_INFO(fp: [*c]FILE, x: [*c]?*PKCS8_PRIV_KEY_INFO, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*PKCS8_PRIV_KEY_INFO;
pub extern fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(bp: [*c]BIO, x: ?*PKCS8_PRIV_KEY_INFO) c_int;
-pub extern fn PEM_write_PKCS8_PRIV_KEY_INFO(fp: [*c]FILE, x: ?*PKCS8_PRIV_KEY_INFO) c_int;
-pub extern fn PEM_read_bio_RSAPrivateKey(bp: [*c]BIO, x: [*c]?*RSA, cb: ?pem_password_cb, u: ?*anyopaque) ?*RSA;
-pub extern fn PEM_read_RSAPrivateKey(fp: [*c]FILE, x: [*c]?*RSA, cb: ?pem_password_cb, u: ?*anyopaque) ?*RSA;
-pub extern fn PEM_write_bio_RSAPrivateKey(bp: [*c]BIO, x: ?*RSA, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_write_RSAPrivateKey(fp: [*c]FILE, x: ?*RSA, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_read_bio_RSAPublicKey(bp: [*c]BIO, x: [*c]?*RSA, cb: ?pem_password_cb, u: ?*anyopaque) ?*RSA;
-pub extern fn PEM_read_RSAPublicKey(fp: [*c]FILE, x: [*c]?*RSA, cb: ?pem_password_cb, u: ?*anyopaque) ?*RSA;
+// pub extern fn PEM_write_PKCS8_PRIV_KEY_INFO(fp: [*c]FILE, x: ?*PKCS8_PRIV_KEY_INFO) c_int;
+pub extern fn PEM_read_bio_RSAPrivateKey(bp: [*c]BIO, x: [*c]?*RSA, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*RSA;
+// pub extern fn PEM_read_RSAPrivateKey(fp: [*c]FILE, x: [*c]?*RSA, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*RSA;
+pub extern fn PEM_write_bio_RSAPrivateKey(bp: [*c]BIO, x: ?*RSA, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+// pub extern fn PEM_write_RSAPrivateKey(fp: [*c]FILE, x: ?*RSA, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+pub extern fn PEM_read_bio_RSAPublicKey(bp: [*c]BIO, x: [*c]?*RSA, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*RSA;
+// pub extern fn PEM_read_RSAPublicKey(fp: [*c]FILE, x: [*c]?*RSA, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*RSA;
pub extern fn PEM_write_bio_RSAPublicKey(bp: [*c]BIO, x: ?*const RSA) c_int;
-pub extern fn PEM_write_RSAPublicKey(fp: [*c]FILE, x: ?*const RSA) c_int;
-pub extern fn PEM_read_bio_RSA_PUBKEY(bp: [*c]BIO, x: [*c]?*RSA, cb: ?pem_password_cb, u: ?*anyopaque) ?*RSA;
-pub extern fn PEM_read_RSA_PUBKEY(fp: [*c]FILE, x: [*c]?*RSA, cb: ?pem_password_cb, u: ?*anyopaque) ?*RSA;
+// pub extern fn PEM_write_RSAPublicKey(fp: [*c]FILE, x: ?*const RSA) c_int;
+pub extern fn PEM_read_bio_RSA_PUBKEY(bp: [*c]BIO, x: [*c]?*RSA, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*RSA;
+// pub extern fn PEM_read_RSA_PUBKEY(fp: [*c]FILE, x: [*c]?*RSA, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*RSA;
pub extern fn PEM_write_bio_RSA_PUBKEY(bp: [*c]BIO, x: ?*RSA) c_int;
-pub extern fn PEM_write_RSA_PUBKEY(fp: [*c]FILE, x: ?*RSA) c_int;
-pub extern fn PEM_read_bio_DSAPrivateKey(bp: [*c]BIO, x: [*c][*c]DSA, cb: ?pem_password_cb, u: ?*anyopaque) [*c]DSA;
-pub extern fn PEM_read_DSAPrivateKey(fp: [*c]FILE, x: [*c][*c]DSA, cb: ?pem_password_cb, u: ?*anyopaque) [*c]DSA;
-pub extern fn PEM_write_bio_DSAPrivateKey(bp: [*c]BIO, x: [*c]DSA, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_write_DSAPrivateKey(fp: [*c]FILE, x: [*c]DSA, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_read_bio_DSA_PUBKEY(bp: [*c]BIO, x: [*c][*c]DSA, cb: ?pem_password_cb, u: ?*anyopaque) [*c]DSA;
-pub extern fn PEM_read_DSA_PUBKEY(fp: [*c]FILE, x: [*c][*c]DSA, cb: ?pem_password_cb, u: ?*anyopaque) [*c]DSA;
+// pub extern fn PEM_write_RSA_PUBKEY(fp: [*c]FILE, x: ?*RSA) c_int;
+pub extern fn PEM_read_bio_DSAPrivateKey(bp: [*c]BIO, x: [*c][*c]DSA, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]DSA;
+// pub extern fn PEM_read_DSAPrivateKey(fp: [*c]FILE, x: [*c][*c]DSA, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]DSA;
+pub extern fn PEM_write_bio_DSAPrivateKey(bp: [*c]BIO, x: [*c]DSA, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+// pub extern fn PEM_write_DSAPrivateKey(fp: [*c]FILE, x: [*c]DSA, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+pub extern fn PEM_read_bio_DSA_PUBKEY(bp: [*c]BIO, x: [*c][*c]DSA, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]DSA;
+// pub extern fn PEM_read_DSA_PUBKEY(fp: [*c]FILE, x: [*c][*c]DSA, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]DSA;
pub extern fn PEM_write_bio_DSA_PUBKEY(bp: [*c]BIO, x: [*c]DSA) c_int;
-pub extern fn PEM_write_DSA_PUBKEY(fp: [*c]FILE, x: [*c]DSA) c_int;
-pub extern fn PEM_read_bio_DSAparams(bp: [*c]BIO, x: [*c][*c]DSA, cb: ?pem_password_cb, u: ?*anyopaque) [*c]DSA;
-pub extern fn PEM_read_DSAparams(fp: [*c]FILE, x: [*c][*c]DSA, cb: ?pem_password_cb, u: ?*anyopaque) [*c]DSA;
+// pub extern fn PEM_write_DSA_PUBKEY(fp: [*c]FILE, x: [*c]DSA) c_int;
+pub extern fn PEM_read_bio_DSAparams(bp: [*c]BIO, x: [*c][*c]DSA, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]DSA;
+// pub extern fn PEM_read_DSAparams(fp: [*c]FILE, x: [*c][*c]DSA, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]DSA;
pub extern fn PEM_write_bio_DSAparams(bp: [*c]BIO, x: [*c]const DSA) c_int;
-pub extern fn PEM_write_DSAparams(fp: [*c]FILE, x: [*c]const DSA) c_int;
-pub extern fn PEM_read_bio_ECPrivateKey(bp: [*c]BIO, x: [*c]?*EC_KEY, cb: ?pem_password_cb, u: ?*anyopaque) ?*EC_KEY;
-pub extern fn PEM_read_ECPrivateKey(fp: [*c]FILE, x: [*c]?*EC_KEY, cb: ?pem_password_cb, u: ?*anyopaque) ?*EC_KEY;
-pub extern fn PEM_write_bio_ECPrivateKey(bp: [*c]BIO, x: ?*EC_KEY, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_write_ECPrivateKey(fp: [*c]FILE, x: ?*EC_KEY, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_read_bio_EC_PUBKEY(bp: [*c]BIO, x: [*c]?*EC_KEY, cb: ?pem_password_cb, u: ?*anyopaque) ?*EC_KEY;
-pub extern fn PEM_read_EC_PUBKEY(fp: [*c]FILE, x: [*c]?*EC_KEY, cb: ?pem_password_cb, u: ?*anyopaque) ?*EC_KEY;
+// pub extern fn PEM_write_DSAparams(fp: [*c]FILE, x: [*c]const DSA) c_int;
+pub extern fn PEM_read_bio_ECPrivateKey(bp: [*c]BIO, x: [*c]?*EC_KEY, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*EC_KEY;
+// pub extern fn PEM_read_ECPrivateKey(fp: [*c]FILE, x: [*c]?*EC_KEY, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*EC_KEY;
+pub extern fn PEM_write_bio_ECPrivateKey(bp: [*c]BIO, x: ?*EC_KEY, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+// pub extern fn PEM_write_ECPrivateKey(fp: [*c]FILE, x: ?*EC_KEY, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+pub extern fn PEM_read_bio_EC_PUBKEY(bp: [*c]BIO, x: [*c]?*EC_KEY, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*EC_KEY;
+// pub extern fn PEM_read_EC_PUBKEY(fp: [*c]FILE, x: [*c]?*EC_KEY, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*EC_KEY;
pub extern fn PEM_write_bio_EC_PUBKEY(bp: [*c]BIO, x: ?*EC_KEY) c_int;
-pub extern fn PEM_write_EC_PUBKEY(fp: [*c]FILE, x: ?*EC_KEY) c_int;
-pub extern fn PEM_read_bio_DHparams(bp: [*c]BIO, x: [*c][*c]DH, cb: ?pem_password_cb, u: ?*anyopaque) [*c]DH;
-pub extern fn PEM_read_DHparams(fp: [*c]FILE, x: [*c][*c]DH, cb: ?pem_password_cb, u: ?*anyopaque) [*c]DH;
-pub extern fn PEM_write_bio_DHparams(bp: [*c]BIO, x: [*c]const DH) c_int;
-pub extern fn PEM_write_DHparams(fp: [*c]FILE, x: [*c]const DH) c_int;
-pub extern fn PEM_read_bio_PrivateKey(bp: [*c]BIO, x: [*c][*c]EVP_PKEY, cb: ?pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
-pub extern fn PEM_read_PrivateKey(fp: [*c]FILE, x: [*c][*c]EVP_PKEY, cb: ?pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
-pub extern fn PEM_write_bio_PrivateKey(bp: [*c]BIO, x: [*c]EVP_PKEY, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_write_PrivateKey(fp: [*c]FILE, x: [*c]EVP_PKEY, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_read_bio_PUBKEY(bp: [*c]BIO, x: [*c][*c]EVP_PKEY, cb: ?pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
-pub extern fn PEM_read_PUBKEY(fp: [*c]FILE, x: [*c][*c]EVP_PKEY, cb: ?pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
+// pub extern fn PEM_write_EC_PUBKEY(fp: [*c]FILE, x: ?*EC_KEY) c_int;
+pub extern fn PEM_read_bio_DHparams(bp: [*c]BIO, x: [*c]?*DH, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*DH;
+// pub extern fn PEM_read_DHparams(fp: [*c]FILE, x: [*c]?*DH, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*DH;
+pub extern fn PEM_write_bio_DHparams(bp: [*c]BIO, x: ?*const DH) c_int;
+// pub extern fn PEM_write_DHparams(fp: [*c]FILE, x: ?*const DH) c_int;
+pub extern fn PEM_read_bio_PrivateKey(bp: [*c]BIO, x: [*c][*c]EVP_PKEY, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
+// pub extern fn PEM_read_PrivateKey(fp: [*c]FILE, x: [*c][*c]EVP_PKEY, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
+pub extern fn PEM_write_bio_PrivateKey(bp: [*c]BIO, x: [*c]EVP_PKEY, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+// pub extern fn PEM_write_PrivateKey(fp: [*c]FILE, x: [*c]EVP_PKEY, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+pub extern fn PEM_read_bio_PUBKEY(bp: [*c]BIO, x: [*c][*c]EVP_PKEY, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
+// pub extern fn PEM_read_PUBKEY(fp: [*c]FILE, x: [*c][*c]EVP_PKEY, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
pub extern fn PEM_write_bio_PUBKEY(bp: [*c]BIO, x: [*c]EVP_PKEY) c_int;
-pub extern fn PEM_write_PUBKEY(fp: [*c]FILE, x: [*c]EVP_PKEY) c_int;
-pub extern fn PEM_write_bio_PKCS8PrivateKey_nid(bp: [*c]BIO, x: [*c]EVP_PKEY, nid: c_int, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_write_bio_PKCS8PrivateKey([*c]BIO, [*c]EVP_PKEY, [*c]const EVP_CIPHER, [*c]u8, c_int, ?pem_password_cb, ?*anyopaque) c_int;
-pub extern fn i2d_PKCS8PrivateKey_bio(bp: [*c]BIO, x: [*c]EVP_PKEY, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn i2d_PKCS8PrivateKey_nid_bio(bp: [*c]BIO, x: [*c]EVP_PKEY, nid: c_int, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn d2i_PKCS8PrivateKey_bio(bp: [*c]BIO, x: [*c][*c]EVP_PKEY, cb: ?pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
-pub extern fn i2d_PKCS8PrivateKey_fp(fp: [*c]FILE, x: [*c]EVP_PKEY, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn i2d_PKCS8PrivateKey_nid_fp(fp: [*c]FILE, x: [*c]EVP_PKEY, nid: c_int, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn PEM_write_PKCS8PrivateKey_nid(fp: [*c]FILE, x: [*c]EVP_PKEY, nid: c_int, kstr: [*c]u8, klen: c_int, cb: ?pem_password_cb, u: ?*anyopaque) c_int;
-pub extern fn d2i_PKCS8PrivateKey_fp(fp: [*c]FILE, x: [*c][*c]EVP_PKEY, cb: ?pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
-pub extern fn PEM_write_PKCS8PrivateKey(fp: [*c]FILE, x: [*c]EVP_PKEY, enc: [*c]const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cd: ?pem_password_cb, u: ?*anyopaque) c_int; // /Users/jarred/Code/bun/src/deps/boringssl/include/openssl/type_check.h:75:42: warning: ignoring StaticAssert declaration
+// pub extern fn PEM_write_PUBKEY(fp: [*c]FILE, x: [*c]EVP_PKEY) c_int;
+pub extern fn PEM_write_bio_PKCS8PrivateKey_nid(bp: [*c]BIO, x: [*c]EVP_PKEY, nid: c_int, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+pub extern fn PEM_write_bio_PKCS8PrivateKey([*c]BIO, [*c]EVP_PKEY, ?*const EVP_CIPHER, [*c]u8, c_int, ?*const pem_password_cb, ?*anyopaque) c_int;
+pub extern fn i2d_PKCS8PrivateKey_bio(bp: [*c]BIO, x: [*c]EVP_PKEY, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+pub extern fn i2d_PKCS8PrivateKey_nid_bio(bp: [*c]BIO, x: [*c]EVP_PKEY, nid: c_int, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+pub extern fn d2i_PKCS8PrivateKey_bio(bp: [*c]BIO, x: [*c][*c]EVP_PKEY, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
+// pub extern fn i2d_PKCS8PrivateKey_fp(fp: [*c]FILE, x: [*c]EVP_PKEY, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+// pub extern fn i2d_PKCS8PrivateKey_nid_fp(fp: [*c]FILE, x: [*c]EVP_PKEY, nid: c_int, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+// pub extern fn PEM_write_PKCS8PrivateKey_nid(fp: [*c]FILE, x: [*c]EVP_PKEY, nid: c_int, kstr: [*c]u8, klen: c_int, cb: ?*const pem_password_cb, u: ?*anyopaque) c_int;
+// pub extern fn d2i_PKCS8PrivateKey_fp(fp: [*c]FILE, x: [*c][*c]EVP_PKEY, cb: ?*const pem_password_cb, u: ?*anyopaque) [*c]EVP_PKEY;
+// pub extern fn PEM_write_PKCS8PrivateKey(fp: [*c]FILE, x: [*c]EVP_PKEY, enc: ?*const EVP_CIPHER, kstr: [*c]u8, klen: c_int, cd: ?*const pem_password_cb, u: ?*anyopaque) c_int;
pub extern fn HMAC(evp_md: ?*const EVP_MD, key: ?*const anyopaque, key_len: usize, data: [*c]const u8, data_len: usize, out: [*c]u8, out_len: [*c]c_uint) [*c]u8;
pub extern fn HMAC_CTX_init(ctx: [*c]HMAC_CTX) void;
pub extern fn HMAC_CTX_new() [*c]HMAC_CTX;
pub extern fn HMAC_CTX_cleanup(ctx: [*c]HMAC_CTX) void;
+pub extern fn HMAC_CTX_cleanse(ctx: [*c]HMAC_CTX) void;
pub extern fn HMAC_CTX_free(ctx: [*c]HMAC_CTX) void;
pub extern fn HMAC_Init_ex(ctx: [*c]HMAC_CTX, key: ?*const anyopaque, key_len: usize, md: ?*const EVP_MD, impl: ?*ENGINE) c_int;
pub extern fn HMAC_Update(ctx: [*c]HMAC_CTX, data: [*c]const u8, data_len: usize) c_int;
pub extern fn HMAC_Final(ctx: [*c]HMAC_CTX, out: [*c]u8, out_len: [*c]c_uint) c_int;
pub extern fn HMAC_size(ctx: [*c]const HMAC_CTX) usize;
+pub extern fn HMAC_CTX_get_md(ctx: [*c]const HMAC_CTX) ?*const EVP_MD;
pub extern fn HMAC_CTX_copy_ex(dest: [*c]HMAC_CTX, src: [*c]const HMAC_CTX) c_int;
pub extern fn HMAC_CTX_reset(ctx: [*c]HMAC_CTX) void;
pub extern fn HMAC_Init(ctx: [*c]HMAC_CTX, key: ?*const anyopaque, key_len: c_int, md: ?*const EVP_MD) c_int;
@@ -5200,7 +5056,6 @@ pub extern fn DTLS_with_buffers_method() ?*const SSL_METHOD;
pub extern fn SSL_CTX_new(method: ?*const SSL_METHOD) ?*SSL_CTX;
pub extern fn SSL_CTX_up_ref(ctx: ?*SSL_CTX) c_int;
pub extern fn SSL_CTX_free(ctx: ?*SSL_CTX) void;
-pub extern fn SSL_new(ctx: ?*SSL_CTX) *SSL;
pub extern fn SSL_free(ssl: ?*SSL) void;
pub extern fn SSL_get_SSL_CTX(ssl: ?*const SSL) ?*SSL_CTX;
pub extern fn SSL_set_connect_state(ssl: ?*SSL) void;
@@ -5210,8 +5065,8 @@ pub extern fn SSL_is_dtls(ssl: ?*const SSL) c_int;
pub extern fn SSL_set_bio(ssl: ?*SSL, rbio: [*c]BIO, wbio: [*c]BIO) void;
pub extern fn SSL_set0_rbio(ssl: ?*SSL, rbio: [*c]BIO) void;
pub extern fn SSL_set0_wbio(ssl: ?*SSL, wbio: [*c]BIO) void;
-pub extern fn SSL_get_rbio(ssl: ?*const SSL) *BIO;
-pub extern fn SSL_get_wbio(ssl: ?*const SSL) *BIO;
+pub extern fn SSL_get_rbio(ssl: ?*const SSL) [*c]BIO;
+pub extern fn SSL_get_wbio(ssl: ?*const SSL) [*c]BIO;
pub extern fn SSL_get_fd(ssl: ?*const SSL) c_int;
pub extern fn SSL_get_rfd(ssl: ?*const SSL) c_int;
pub extern fn SSL_get_wfd(ssl: ?*const SSL) c_int;
@@ -5312,134 +5167,134 @@ pub extern fn SSL_CTX_use_PrivateKey_ASN1(pk: c_int, ctx: ?*SSL_CTX, der: [*c]co
pub extern fn SSL_use_PrivateKey_ASN1(@"type": c_int, ssl: ?*SSL, der: [*c]const u8, der_len: usize) c_int;
pub extern fn SSL_CTX_use_RSAPrivateKey_ASN1(ctx: ?*SSL_CTX, der: [*c]const u8, der_len: usize) c_int;
pub extern fn SSL_use_RSAPrivateKey_ASN1(ssl: ?*SSL, der: [*c]const u8, der_len: usize) c_int;
-pub extern fn SSL_CTX_use_RSAPrivateKey_file(ctx: ?*SSL_CTX, file: [*c]const u8, @"type": c_int) c_int;
-pub extern fn SSL_use_RSAPrivateKey_file(ssl: ?*SSL, file: [*c]const u8, @"type": c_int) c_int;
-pub extern fn SSL_CTX_use_certificate_file(ctx: ?*SSL_CTX, file: [*c]const u8, @"type": c_int) c_int;
-pub extern fn SSL_use_certificate_file(ssl: ?*SSL, file: [*c]const u8, @"type": c_int) c_int;
-pub extern fn SSL_CTX_use_PrivateKey_file(ctx: ?*SSL_CTX, file: [*c]const u8, @"type": c_int) c_int;
-pub extern fn SSL_use_PrivateKey_file(ssl: ?*SSL, file: [*c]const u8, @"type": c_int) c_int;
-pub extern fn SSL_CTX_use_certificate_chain_file(ctx: ?*SSL_CTX, file: [*c]const u8) c_int;
-pub extern fn SSL_CTX_set_default_passwd_cb(ctx: ?*SSL_CTX, cb: ?pem_password_cb) void;
-pub extern fn SSL_CTX_get_default_passwd_cb(ctx: ?*const SSL_CTX) ?pem_password_cb;
+// pub extern fn SSL_CTX_use_RSAPrivateKey_file(ctx: ?*SSL_CTX, file: [*c]const u8, @"type": c_int) c_int;
+// pub extern fn SSL_use_RSAPrivateKey_file(ssl: ?*SSL, file: [*c]const u8, @"type": c_int) c_int;
+// pub extern fn SSL_CTX_use_certificate_file(ctx: ?*SSL_CTX, file: [*c]const u8, @"type": c_int) c_int;
+// pub extern fn SSL_use_certificate_file(ssl: ?*SSL, file: [*c]const u8, @"type": c_int) c_int;
+// pub extern fn SSL_CTX_use_PrivateKey_file(ctx: ?*SSL_CTX, file: [*c]const u8, @"type": c_int) c_int;
+// pub extern fn SSL_use_PrivateKey_file(ssl: ?*SSL, file: [*c]const u8, @"type": c_int) c_int;
+// pub extern fn SSL_CTX_use_certificate_chain_file(ctx: ?*SSL_CTX, file: [*c]const u8) c_int;
+pub extern fn SSL_CTX_set_default_passwd_cb(ctx: ?*SSL_CTX, cb: ?*const pem_password_cb) void;
+pub extern fn SSL_CTX_get_default_passwd_cb(ctx: ?*const SSL_CTX) ?*const pem_password_cb;
pub extern fn SSL_CTX_set_default_passwd_cb_userdata(ctx: ?*SSL_CTX, data: ?*anyopaque) void;
pub extern fn SSL_CTX_get_default_passwd_cb_userdata(ctx: ?*const SSL_CTX) ?*anyopaque;
pub extern fn SSL_set_private_key_method(ssl: ?*SSL, key_method: [*c]const SSL_PRIVATE_KEY_METHOD) void;
pub extern fn SSL_CTX_set_private_key_method(ctx: ?*SSL_CTX, key_method: [*c]const SSL_PRIVATE_KEY_METHOD) void;
pub extern fn SSL_can_release_private_key(ssl: ?*const SSL) c_int;
pub const struct_stack_st_SSL_CIPHER = opaque {};
-pub const stack_SSL_CIPHER_free_func = ?*const fn (?*const SSL_CIPHER) callconv(.C) void;
-pub const stack_SSL_CIPHER_copy_func = ?*const fn (?*const SSL_CIPHER) callconv(.C) ?*const SSL_CIPHER;
-pub const stack_SSL_CIPHER_cmp_func = ?*const fn ([*c]?*const SSL_CIPHER, [*c]?*const SSL_CIPHER) callconv(.C) c_int;
-pub fn sk_SSL_CIPHER_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_SSL_CIPHER_free_func = ?*const fn (?*const SSL_CIPHER) callconv(.C) void;
+pub const sk_SSL_CIPHER_copy_func = ?*const fn (?*const SSL_CIPHER) callconv(.C) ?*const SSL_CIPHER;
+pub const sk_SSL_CIPHER_cmp_func = ?*const fn ([*c]?*const SSL_CIPHER, [*c]?*const SSL_CIPHER) callconv(.C) c_int;
+pub fn sk_SSL_CIPHER_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_SSL_CIPHER_free_func, @alignCast(@import("std").meta.alignment(fn (?*const SSL_CIPHER) callconv(.C) void), free_func)).?(@ptrCast(?*const SSL_CIPHER, ptr));
+ @as(sk_SSL_CIPHER_free_func, @ptrCast(@alignCast(free_func))).?(@as(?*const SSL_CIPHER, @ptrCast(ptr)));
}
-pub fn sk_SSL_CIPHER_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_SSL_CIPHER_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrFromInt(?*anyopaque, @intFromPtr(@ptrCast(stack_SSL_CIPHER_copy_func, @alignCast(@import("std").meta.alignment(fn (?*const SSL_CIPHER) callconv(.C) ?*const SSL_CIPHER), copy_func)).?(@ptrCast(?*const SSL_CIPHER, ptr))));
+ return @as(?*anyopaque, @ptrCast(@volatileCast(@constCast(@as(sk_SSL_CIPHER_copy_func, @ptrCast(@alignCast(copy_func))).?(@as(?*const SSL_CIPHER, @ptrCast(ptr)))))));
}
-pub fn sk_SSL_CIPHER_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_SSL_CIPHER_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: ?*const SSL_CIPHER = @ptrCast(?*const SSL_CIPHER, a.*);
- var b_ptr: ?*const SSL_CIPHER = @ptrCast(?*const SSL_CIPHER, b.*);
- return @ptrCast(stack_SSL_CIPHER_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const SSL_CIPHER, [*c]?*const SSL_CIPHER) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: ?*const SSL_CIPHER = @as(?*const SSL_CIPHER, @ptrCast(a.*));
+ var b_ptr: ?*const SSL_CIPHER = @as(?*const SSL_CIPHER, @ptrCast(b.*));
+ return @as(sk_SSL_CIPHER_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_SSL_CIPHER_new(arg_comp: stack_SSL_CIPHER_cmp_func) callconv(.C) ?*struct_stack_st_SSL_CIPHER {
+pub fn sk_SSL_CIPHER_new(arg_comp: sk_SSL_CIPHER_cmp_func) callconv(.C) ?*struct_stack_st_SSL_CIPHER {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_SSL_CIPHER, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_SSL_CIPHER, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_SSL_CIPHER_new_null() callconv(.C) ?*struct_stack_st_SSL_CIPHER {
- return @ptrCast(?*struct_stack_st_SSL_CIPHER, sk_new_null());
+ return @as(?*struct_stack_st_SSL_CIPHER, @ptrCast(sk_new_null()));
}
pub fn sk_SSL_CIPHER_num(arg_sk: ?*const struct_stack_st_SSL_CIPHER) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_SSL_CIPHER_zero(arg_sk: ?*struct_stack_st_SSL_CIPHER) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_SSL_CIPHER_value(arg_sk: ?*const struct_stack_st_SSL_CIPHER, arg_i: usize) callconv(.C) ?*const SSL_CIPHER {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast(?*const SSL_CIPHER, sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i));
+ return @as(?*const SSL_CIPHER, @ptrCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i)));
}
pub fn sk_SSL_CIPHER_set(arg_sk: ?*struct_stack_st_SSL_CIPHER, arg_i: usize, arg_p: ?*const SSL_CIPHER) callconv(.C) ?*const SSL_CIPHER {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast(?*const SSL_CIPHER, sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrFromInt(?*anyopaque, @intFromPtr(p))));
+ return @as(?*const SSL_CIPHER, @ptrCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(@volatileCast(@constCast(p)))))));
}
pub fn sk_SSL_CIPHER_free(arg_sk: ?*struct_stack_st_SSL_CIPHER) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_SSL_CIPHER_pop_free(arg_sk: ?*struct_stack_st_SSL_CIPHER, arg_free_func: stack_SSL_CIPHER_free_func) callconv(.C) void {
+pub fn sk_SSL_CIPHER_pop_free(arg_sk: ?*struct_stack_st_SSL_CIPHER, arg_free_func: sk_SSL_CIPHER_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_SSL_CIPHER_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_SSL_CIPHER_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_SSL_CIPHER_insert(arg_sk: ?*struct_stack_st_SSL_CIPHER, arg_p: ?*const SSL_CIPHER, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrFromInt(?*anyopaque, @intFromPtr(p)), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(@volatileCast(@constCast(p)))), where);
}
pub fn sk_SSL_CIPHER_delete(arg_sk: ?*struct_stack_st_SSL_CIPHER, arg_where: usize) callconv(.C) ?*const SSL_CIPHER {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast(?*const SSL_CIPHER, sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where));
+ return @as(?*const SSL_CIPHER, @ptrCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where)));
}
pub fn sk_SSL_CIPHER_delete_ptr(arg_sk: ?*struct_stack_st_SSL_CIPHER, arg_p: ?*const SSL_CIPHER) callconv(.C) ?*const SSL_CIPHER {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast(?*const SSL_CIPHER, sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p)));
+ return @as(?*const SSL_CIPHER, @ptrCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p)))));
}
pub fn sk_SSL_CIPHER_find(arg_sk: ?*const struct_stack_st_SSL_CIPHER, arg_out_index: [*c]usize, arg_p: ?*const SSL_CIPHER) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_SSL_CIPHER_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_SSL_CIPHER_call_cmp_func);
}
pub fn sk_SSL_CIPHER_shift(arg_sk: ?*struct_stack_st_SSL_CIPHER) callconv(.C) ?*const SSL_CIPHER {
var sk = arg_sk;
- return @ptrCast(?*const SSL_CIPHER, sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*const SSL_CIPHER, @ptrCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_SSL_CIPHER_push(arg_sk: ?*struct_stack_st_SSL_CIPHER, arg_p: ?*const SSL_CIPHER) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrFromInt(?*anyopaque, @intFromPtr(p)));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(@volatileCast(@constCast(p)))));
}
pub fn sk_SSL_CIPHER_pop(arg_sk: ?*struct_stack_st_SSL_CIPHER) callconv(.C) ?*const SSL_CIPHER {
var sk = arg_sk;
- return @ptrCast(?*const SSL_CIPHER, sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*const SSL_CIPHER, @ptrCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_SSL_CIPHER_dup(arg_sk: ?*const struct_stack_st_SSL_CIPHER) callconv(.C) ?*struct_stack_st_SSL_CIPHER {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_SSL_CIPHER, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_SSL_CIPHER, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_SSL_CIPHER_sort(arg_sk: ?*struct_stack_st_SSL_CIPHER) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_SSL_CIPHER_call_cmp_func);
}
pub fn sk_SSL_CIPHER_is_sorted(arg_sk: ?*const struct_stack_st_SSL_CIPHER) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_SSL_CIPHER_set_cmp_func(arg_sk: ?*struct_stack_st_SSL_CIPHER, arg_comp: stack_SSL_CIPHER_cmp_func) callconv(.C) stack_SSL_CIPHER_cmp_func {
+pub fn sk_SSL_CIPHER_set_cmp_func(arg_sk: ?*struct_stack_st_SSL_CIPHER, arg_comp: sk_SSL_CIPHER_cmp_func) callconv(.C) sk_SSL_CIPHER_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_SSL_CIPHER_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const SSL_CIPHER, [*c]?*const SSL_CIPHER) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_SSL_CIPHER_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_SSL_CIPHER_deep_copy(arg_sk: ?*const struct_stack_st_SSL_CIPHER, arg_copy_func: ?*const fn (?*const SSL_CIPHER) callconv(.C) ?*const SSL_CIPHER, arg_free_func: ?*const fn (?*const SSL_CIPHER) callconv(.C) void) callconv(.C) ?*struct_stack_st_SSL_CIPHER {
+pub fn sk_SSL_CIPHER_deep_copy(arg_sk: ?*const struct_stack_st_SSL_CIPHER, arg_copy_func: sk_SSL_CIPHER_copy_func, arg_free_func: sk_SSL_CIPHER_free_func) callconv(.C) ?*struct_stack_st_SSL_CIPHER {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_SSL_CIPHER, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_SSL_CIPHER_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_SSL_CIPHER_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_SSL_CIPHER, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_SSL_CIPHER_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_SSL_CIPHER_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
pub extern fn SSL_get_cipher_by_value(value: u16) ?*const SSL_CIPHER;
pub extern fn SSL_CIPHER_get_id(cipher: ?*const SSL_CIPHER) u32;
@@ -5479,10 +5334,10 @@ pub extern fn SSL_get_current_cipher(ssl: ?*const SSL) ?*const SSL_CIPHER;
pub extern fn SSL_session_reused(ssl: ?*const SSL) c_int;
pub extern fn SSL_get_secure_renegotiation_support(ssl: ?*const SSL) c_int;
pub extern fn SSL_export_keying_material(ssl: ?*SSL, out: [*c]u8, out_len: usize, label: [*c]const u8, label_len: usize, context: [*c]const u8, context_len: usize, use_context: c_int) c_int;
-pub extern fn PEM_read_bio_SSL_SESSION(bp: [*c]BIO, x: [*c]?*SSL_SESSION, cb: ?pem_password_cb, u: ?*anyopaque) ?*SSL_SESSION;
-pub extern fn PEM_read_SSL_SESSION(fp: [*c]FILE, x: [*c]?*SSL_SESSION, cb: ?pem_password_cb, u: ?*anyopaque) ?*SSL_SESSION;
+pub extern fn PEM_read_bio_SSL_SESSION(bp: [*c]BIO, x: [*c]?*SSL_SESSION, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*SSL_SESSION;
+// pub extern fn PEM_read_SSL_SESSION(fp: [*c]FILE, x: [*c]?*SSL_SESSION, cb: ?*const pem_password_cb, u: ?*anyopaque) ?*SSL_SESSION;
pub extern fn PEM_write_bio_SSL_SESSION(bp: [*c]BIO, x: ?*SSL_SESSION) c_int;
-pub extern fn PEM_write_SSL_SESSION(fp: [*c]FILE, x: ?*SSL_SESSION) c_int;
+// pub extern fn PEM_write_SSL_SESSION(fp: [*c]FILE, x: ?*SSL_SESSION) c_int;
pub extern fn SSL_SESSION_new(ctx: ?*const SSL_CTX) ?*SSL_SESSION;
pub extern fn SSL_SESSION_up_ref(session: ?*SSL_SESSION) c_int;
pub extern fn SSL_SESSION_free(session: ?*SSL_SESSION) void;
@@ -5541,31 +5396,29 @@ pub extern fn SSL_CTX_set_tlsext_ticket_keys(ctx: ?*SSL_CTX, in: ?*const anyopaq
pub extern fn SSL_CTX_set_tlsext_ticket_key_cb(ctx: ?*SSL_CTX, callback: ?*const fn (?*SSL, [*c]u8, [*c]u8, [*c]EVP_CIPHER_CTX, [*c]HMAC_CTX, c_int) callconv(.C) c_int) c_int;
pub extern fn SSL_CTX_set_ticket_aead_method(ctx: ?*SSL_CTX, aead_method: [*c]const SSL_TICKET_AEAD_METHOD) void;
pub extern fn SSL_process_tls13_new_session_ticket(ssl: ?*SSL, buf: [*c]const u8, buf_len: usize) ?*SSL_SESSION;
+pub extern fn SSL_CTX_set_num_tickets(ctx: ?*SSL_CTX, num_tickets: usize) c_int;
+pub extern fn SSL_CTX_get_num_tickets(ctx: ?*const SSL_CTX) usize;
pub extern fn SSL_CTX_set1_curves(ctx: ?*SSL_CTX, curves: [*c]const c_int, curves_len: usize) c_int;
pub extern fn SSL_set1_curves(ssl: ?*SSL, curves: [*c]const c_int, curves_len: usize) c_int;
pub extern fn SSL_CTX_set1_curves_list(ctx: ?*SSL_CTX, curves: [*c]const u8) c_int;
pub extern fn SSL_set1_curves_list(ssl: ?*SSL, curves: [*c]const u8) c_int;
pub extern fn SSL_get_curve_id(ssl: ?*const SSL) u16;
pub extern fn SSL_get_curve_name(curve_id: u16) [*c]const u8;
+pub extern fn SSL_CTX_set1_groups(ctx: ?*SSL_CTX, groups: [*c]const c_int, groups_len: usize) c_int;
+pub extern fn SSL_set1_groups(ssl: ?*SSL, groups: [*c]const c_int, groups_len: usize) c_int;
+pub extern fn SSL_CTX_set1_groups_list(ctx: ?*SSL_CTX, groups: [*c]const u8) c_int;
+pub extern fn SSL_set1_groups_list(ssl: ?*SSL, groups: [*c]const u8) c_int;
pub extern fn SSL_CTX_set_verify(ctx: ?*SSL_CTX, mode: c_int, callback: ?*const fn (c_int, ?*X509_STORE_CTX) callconv(.C) c_int) void;
pub extern fn SSL_set_verify(ssl: ?*SSL, mode: c_int, callback: ?*const fn (c_int, ?*X509_STORE_CTX) callconv(.C) c_int) void;
-// pub const ssl_verify_ok: c_int = 0;
-// pub const ssl_verify_invalid: c_int = 1;
-// pub const ssl_verify_retry: c_int = 2;
-// pub const enum_ssl_verify_result_t = c_uint;
-pub const VerifyResult = enum(c_int) {
- ok = 0,
- invalid = 1,
- retry = 2,
-};
-pub const VerifyCallback = *const fn (*SSL, [*c]u8) callconv(.C) VerifyResult;
-
-pub extern fn SSL_CTX_set_custom_verify(ctx: ?*SSL_CTX, mode: c_int, callback: ?VerifyCallback) void;
-pub extern fn SSL_set_custom_verify(ssl: ?*SSL, mode: c_int, callback: ?VerifyCallback) void;
+pub const ssl_verify_ok: c_int = 0;
+pub const ssl_verify_invalid: c_int = 1;
+pub const ssl_verify_retry: c_int = 2;
+pub extern fn SSL_set_custom_verify(ssl: ?*SSL, mode: c_int, callback: ?*const fn (?*SSL, [*c]u8) callconv(.C) enum_ssl_verify_result_t) void;
pub extern fn SSL_CTX_get_verify_mode(ctx: ?*const SSL_CTX) c_int;
pub extern fn SSL_get_verify_mode(ssl: ?*const SSL) c_int;
pub extern fn SSL_CTX_get_verify_callback(ctx: ?*const SSL_CTX) ?*const fn (c_int, ?*X509_STORE_CTX) callconv(.C) c_int;
pub extern fn SSL_get_verify_callback(ssl: ?*const SSL) ?*const fn (c_int, ?*X509_STORE_CTX) callconv(.C) c_int;
+pub extern fn SSL_set1_host(ssl: ?*SSL, hostname: [*c]const u8) c_int;
pub extern fn SSL_CTX_set_verify_depth(ctx: ?*SSL_CTX, depth: c_int) void;
pub extern fn SSL_set_verify_depth(ssl: ?*SSL, depth: c_int) void;
pub extern fn SSL_CTX_get_verify_depth(ctx: ?*const SSL_CTX) c_int;
@@ -5581,7 +5434,7 @@ pub extern fn SSL_set_trust(ssl: ?*SSL, trust: c_int) c_int;
pub extern fn SSL_CTX_set_cert_store(ctx: ?*SSL_CTX, store: ?*X509_STORE) void;
pub extern fn SSL_CTX_get_cert_store(ctx: ?*const SSL_CTX) ?*X509_STORE;
pub extern fn SSL_CTX_set_default_verify_paths(ctx: ?*SSL_CTX) c_int;
-pub extern fn SSL_CTX_load_verify_locations(ctx: ?*SSL_CTX, ca_file: [*c]const u8, ca_dir: [*c]const u8) c_int;
+// pub extern fn SSL_CTX_load_verify_locations(ctx: ?*SSL_CTX, ca_file: [*c]const u8, ca_dir: [*c]const u8) c_int;
pub extern fn SSL_get_verify_result(ssl: ?*const SSL) c_long;
pub extern fn SSL_alert_from_verify_result(result: c_long) c_int;
pub extern fn SSL_get_ex_data_X509_STORE_CTX_idx() c_int;
@@ -5596,6 +5449,7 @@ pub extern fn SSL_set0_verify_cert_store(ssl: ?*SSL, store: ?*X509_STORE) c_int;
pub extern fn SSL_set1_verify_cert_store(ssl: ?*SSL, store: ?*X509_STORE) c_int;
pub extern fn SSL_CTX_set_verify_algorithm_prefs(ctx: ?*SSL_CTX, prefs: [*c]const u16, num_prefs: usize) c_int;
pub extern fn SSL_set_verify_algorithm_prefs(ssl: ?*SSL, prefs: [*c]const u16, num_prefs: usize) c_int;
+pub extern fn SSL_set_hostflags(ssl: ?*SSL, flags: c_uint) void;
pub extern fn SSL_set_client_CA_list(ssl: ?*SSL, name_list: ?*struct_stack_st_X509_NAME) void;
pub extern fn SSL_CTX_set_client_CA_list(ctx: ?*SSL_CTX, name_list: ?*struct_stack_st_X509_NAME) void;
pub extern fn SSL_set0_client_CAs(ssl: ?*SSL, name_list: ?*struct_stack_st_CRYPTO_BUFFER) void;
@@ -5605,24 +5459,25 @@ pub extern fn SSL_get0_server_requested_CAs(ssl: ?*const SSL) ?*const struct_sta
pub extern fn SSL_CTX_get_client_CA_list(ctx: ?*const SSL_CTX) ?*struct_stack_st_X509_NAME;
pub extern fn SSL_add_client_CA(ssl: ?*SSL, x509: ?*X509) c_int;
pub extern fn SSL_CTX_add_client_CA(ctx: ?*SSL_CTX, x509: ?*X509) c_int;
-pub extern fn SSL_load_client_CA_file(file: [*c]const u8) ?*struct_stack_st_X509_NAME;
+// pub extern fn SSL_load_client_CA_file(file: [*c]const u8) ?*struct_stack_st_X509_NAME;
pub extern fn SSL_dup_CA_list(list: ?*struct_stack_st_X509_NAME) ?*struct_stack_st_X509_NAME;
-pub extern fn SSL_add_file_cert_subjects_to_stack(out: ?*struct_stack_st_X509_NAME, file: [*c]const u8) c_int;
+// pub extern fn SSL_add_file_cert_subjects_to_stack(out: ?*struct_stack_st_X509_NAME, file: [*c]const u8) c_int;
+pub extern fn SSL_add_bio_cert_subjects_to_stack(out: ?*struct_stack_st_X509_NAME, bio: [*c]BIO) c_int;
pub extern fn SSL_set_tlsext_host_name(ssl: ?*SSL, name: [*c]const u8) c_int;
pub extern fn SSL_get_servername(ssl: ?*const SSL, @"type": c_int) [*c]const u8;
pub extern fn SSL_get_servername_type(ssl: ?*const SSL) c_int;
pub extern fn SSL_CTX_set_tlsext_servername_callback(ctx: ?*SSL_CTX, callback: ?*const fn (?*SSL, [*c]c_int, ?*anyopaque) callconv(.C) c_int) c_int;
pub extern fn SSL_CTX_set_tlsext_servername_arg(ctx: ?*SSL_CTX, arg: ?*anyopaque) c_int;
pub extern fn SSL_set_SSL_CTX(ssl: ?*SSL, ctx: ?*SSL_CTX) ?*SSL_CTX;
-pub extern fn SSL_CTX_set_alpn_protos(ctx: ?*SSL_CTX, protos: [*c]const u8, protos_len: c_uint) c_int;
-pub extern fn SSL_set_alpn_protos(ssl: ?*SSL, protos: [*c]const u8, protos_len: c_uint) c_int;
+pub extern fn SSL_CTX_set_alpn_protos(ctx: ?*SSL_CTX, protos: [*c]const u8, protos_len: usize) c_int;
+pub extern fn SSL_set_alpn_protos(ssl: ?*SSL, protos: [*c]const u8, protos_len: usize) c_int;
pub extern fn SSL_CTX_set_alpn_select_cb(ctx: ?*SSL_CTX, cb: ?*const fn (?*SSL, [*c][*c]const u8, [*c]u8, [*c]const u8, c_uint, ?*anyopaque) callconv(.C) c_int, arg: ?*anyopaque) void;
pub extern fn SSL_get0_alpn_selected(ssl: ?*const SSL, out_data: [*c][*c]const u8, out_len: [*c]c_uint) void;
pub extern fn SSL_CTX_set_allow_unknown_alpn_protos(ctx: ?*SSL_CTX, enabled: c_int) void;
pub extern fn SSL_add_application_settings(ssl: ?*SSL, proto: [*c]const u8, proto_len: usize, settings: [*c]const u8, settings_len: usize) c_int;
pub extern fn SSL_get0_peer_application_settings(ssl: ?*const SSL, out_data: [*c][*c]const u8, out_len: [*c]usize) void;
pub extern fn SSL_has_application_settings(ssl: ?*const SSL) c_int;
-pub const ssl_cert_compression_func_t = ?*const fn (?*SSL, [*c]CBB, [*c]const u8, usize) callconv(.C) c_int;
+pub const ssl_cert_compression_func_t = ?*const fn (?*SSL, ?*CBB, [*c]const u8, usize) callconv(.C) c_int;
pub const ssl_cert_decompression_func_t = ?*const fn (?*SSL, [*c]?*CRYPTO_BUFFER, usize, [*c]const u8, usize) callconv(.C) c_int;
pub extern fn SSL_CTX_add_cert_compression_alg(ctx: ?*SSL_CTX, alg_id: u16, compress: ssl_cert_compression_func_t, decompress: ssl_cert_decompression_func_t) c_int;
pub extern fn SSL_CTX_set_next_protos_advertised_cb(ctx: ?*SSL_CTX, cb: ?*const fn (?*SSL, [*c][*c]const u8, [*c]c_uint, ?*anyopaque) callconv(.C) c_int, arg: ?*anyopaque) void;
@@ -5635,124 +5490,124 @@ pub extern fn SSL_CTX_set1_tls_channel_id(ctx: ?*SSL_CTX, private_key: [*c]EVP_P
pub extern fn SSL_set1_tls_channel_id(ssl: ?*SSL, private_key: [*c]EVP_PKEY) c_int;
pub extern fn SSL_get_tls_channel_id(ssl: ?*SSL, out: [*c]u8, max_out: usize) usize;
pub const struct_stack_st_SRTP_PROTECTION_PROFILE = opaque {};
-pub const stack_SRTP_PROTECTION_PROFILE_free_func = ?*const fn ([*c]const SRTP_PROTECTION_PROFILE) callconv(.C) void;
-pub const stack_SRTP_PROTECTION_PROFILE_copy_func = ?*const fn ([*c]const SRTP_PROTECTION_PROFILE) callconv(.C) [*c]const SRTP_PROTECTION_PROFILE;
-pub const stack_SRTP_PROTECTION_PROFILE_cmp_func = ?*const fn ([*c][*c]const SRTP_PROTECTION_PROFILE, [*c][*c]const SRTP_PROTECTION_PROFILE) callconv(.C) c_int;
-pub fn sk_SRTP_PROTECTION_PROFILE_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_SRTP_PROTECTION_PROFILE_free_func = ?*const fn ([*c]const SRTP_PROTECTION_PROFILE) callconv(.C) void;
+pub const sk_SRTP_PROTECTION_PROFILE_copy_func = ?*const fn ([*c]const SRTP_PROTECTION_PROFILE) callconv(.C) [*c]const SRTP_PROTECTION_PROFILE;
+pub const sk_SRTP_PROTECTION_PROFILE_cmp_func = ?*const fn ([*c][*c]const SRTP_PROTECTION_PROFILE, [*c][*c]const SRTP_PROTECTION_PROFILE) callconv(.C) c_int;
+pub fn sk_SRTP_PROTECTION_PROFILE_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_SRTP_PROTECTION_PROFILE_free_func, @alignCast(@import("std").meta.alignment(fn ([*c]const SRTP_PROTECTION_PROFILE) callconv(.C) void), free_func)).?(@ptrCast([*c]const SRTP_PROTECTION_PROFILE, @alignCast(@import("std").meta.alignment(SRTP_PROTECTION_PROFILE), ptr)));
+ @as(sk_SRTP_PROTECTION_PROFILE_free_func, @ptrCast(@alignCast(free_func))).?(@as([*c]const SRTP_PROTECTION_PROFILE, @ptrCast(@alignCast(ptr))));
}
-pub fn sk_SRTP_PROTECTION_PROFILE_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_SRTP_PROTECTION_PROFILE_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrFromInt(?*anyopaque, @intFromPtr(@ptrCast(stack_SRTP_PROTECTION_PROFILE_copy_func, @alignCast(@import("std").meta.alignment(fn ([*c]const SRTP_PROTECTION_PROFILE) callconv(.C) [*c]const SRTP_PROTECTION_PROFILE), copy_func)).?(@ptrCast([*c]const SRTP_PROTECTION_PROFILE, @alignCast(@import("std").meta.alignment(SRTP_PROTECTION_PROFILE), ptr)))));
+ return @as(?*anyopaque, @ptrCast(@volatileCast(@constCast(@as(sk_SRTP_PROTECTION_PROFILE_copy_func, @ptrCast(@alignCast(copy_func))).?(@as([*c]const SRTP_PROTECTION_PROFILE, @ptrCast(@alignCast(ptr))))))));
}
-pub fn sk_SRTP_PROTECTION_PROFILE_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_SRTP_PROTECTION_PROFILE_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: [*c]const SRTP_PROTECTION_PROFILE = @ptrCast([*c]const SRTP_PROTECTION_PROFILE, @alignCast(@import("std").meta.alignment(SRTP_PROTECTION_PROFILE), a.*));
- var b_ptr: [*c]const SRTP_PROTECTION_PROFILE = @ptrCast([*c]const SRTP_PROTECTION_PROFILE, @alignCast(@import("std").meta.alignment(SRTP_PROTECTION_PROFILE), b.*));
- return @ptrCast(stack_SRTP_PROTECTION_PROFILE_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const SRTP_PROTECTION_PROFILE, [*c][*c]const SRTP_PROTECTION_PROFILE) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: [*c]const SRTP_PROTECTION_PROFILE = @as([*c]const SRTP_PROTECTION_PROFILE, @ptrCast(@alignCast(a.*)));
+ var b_ptr: [*c]const SRTP_PROTECTION_PROFILE = @as([*c]const SRTP_PROTECTION_PROFILE, @ptrCast(@alignCast(b.*)));
+ return @as(sk_SRTP_PROTECTION_PROFILE_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_SRTP_PROTECTION_PROFILE_new(arg_comp: stack_SRTP_PROTECTION_PROFILE_cmp_func) callconv(.C) ?*struct_stack_st_SRTP_PROTECTION_PROFILE {
+pub fn sk_SRTP_PROTECTION_PROFILE_new(arg_comp: sk_SRTP_PROTECTION_PROFILE_cmp_func) callconv(.C) ?*struct_stack_st_SRTP_PROTECTION_PROFILE {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_SRTP_PROTECTION_PROFILE, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_SRTP_PROTECTION_PROFILE, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_new_null() callconv(.C) ?*struct_stack_st_SRTP_PROTECTION_PROFILE {
- return @ptrCast(?*struct_stack_st_SRTP_PROTECTION_PROFILE, sk_new_null());
+ return @as(?*struct_stack_st_SRTP_PROTECTION_PROFILE, @ptrCast(sk_new_null()));
}
pub fn sk_SRTP_PROTECTION_PROFILE_num(arg_sk: ?*const struct_stack_st_SRTP_PROTECTION_PROFILE) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_zero(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_value(arg_sk: ?*const struct_stack_st_SRTP_PROTECTION_PROFILE, arg_i: usize) callconv(.C) [*c]const SRTP_PROTECTION_PROFILE {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast([*c]const SRTP_PROTECTION_PROFILE, @alignCast(@import("std").meta.alignment(SRTP_PROTECTION_PROFILE), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
+ return @as([*c]const SRTP_PROTECTION_PROFILE, @ptrCast(@alignCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_set(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE, arg_i: usize, arg_p: [*c]const SRTP_PROTECTION_PROFILE) callconv(.C) [*c]const SRTP_PROTECTION_PROFILE {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast([*c]const SRTP_PROTECTION_PROFILE, @alignCast(@import("std").meta.alignment(SRTP_PROTECTION_PROFILE), sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrFromInt(?*anyopaque, @intFromPtr(p)))));
+ return @as([*c]const SRTP_PROTECTION_PROFILE, @ptrCast(@alignCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(@volatileCast(@constCast(p))))))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_free(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_SRTP_PROTECTION_PROFILE_pop_free(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE, arg_free_func: stack_SRTP_PROTECTION_PROFILE_free_func) callconv(.C) void {
+pub fn sk_SRTP_PROTECTION_PROFILE_pop_free(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE, arg_free_func: sk_SRTP_PROTECTION_PROFILE_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_SRTP_PROTECTION_PROFILE_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_SRTP_PROTECTION_PROFILE_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_insert(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE, arg_p: [*c]const SRTP_PROTECTION_PROFILE, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrFromInt(?*anyopaque, @intFromPtr(p)), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(@volatileCast(@constCast(p)))), where);
}
pub fn sk_SRTP_PROTECTION_PROFILE_delete(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE, arg_where: usize) callconv(.C) [*c]const SRTP_PROTECTION_PROFILE {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast([*c]const SRTP_PROTECTION_PROFILE, @alignCast(@import("std").meta.alignment(SRTP_PROTECTION_PROFILE), sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where)));
+ return @as([*c]const SRTP_PROTECTION_PROFILE, @ptrCast(@alignCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_delete_ptr(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE, arg_p: [*c]const SRTP_PROTECTION_PROFILE) callconv(.C) [*c]const SRTP_PROTECTION_PROFILE {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast([*c]const SRTP_PROTECTION_PROFILE, @alignCast(@import("std").meta.alignment(SRTP_PROTECTION_PROFILE), sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p))));
+ return @as([*c]const SRTP_PROTECTION_PROFILE, @ptrCast(@alignCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p))))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_find(arg_sk: ?*const struct_stack_st_SRTP_PROTECTION_PROFILE, arg_out_index: [*c]usize, arg_p: [*c]const SRTP_PROTECTION_PROFILE) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_SRTP_PROTECTION_PROFILE_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_SRTP_PROTECTION_PROFILE_call_cmp_func);
}
pub fn sk_SRTP_PROTECTION_PROFILE_shift(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE) callconv(.C) [*c]const SRTP_PROTECTION_PROFILE {
var sk = arg_sk;
- return @ptrCast([*c]const SRTP_PROTECTION_PROFILE, @alignCast(@import("std").meta.alignment(SRTP_PROTECTION_PROFILE), sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]const SRTP_PROTECTION_PROFILE, @ptrCast(@alignCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_push(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE, arg_p: [*c]const SRTP_PROTECTION_PROFILE) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrFromInt(?*anyopaque, @intFromPtr(p)));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(@volatileCast(@constCast(p)))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_pop(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE) callconv(.C) [*c]const SRTP_PROTECTION_PROFILE {
var sk = arg_sk;
- return @ptrCast([*c]const SRTP_PROTECTION_PROFILE, @alignCast(@import("std").meta.alignment(SRTP_PROTECTION_PROFILE), sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]const SRTP_PROTECTION_PROFILE, @ptrCast(@alignCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_dup(arg_sk: ?*const struct_stack_st_SRTP_PROTECTION_PROFILE) callconv(.C) ?*struct_stack_st_SRTP_PROTECTION_PROFILE {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_SRTP_PROTECTION_PROFILE, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_SRTP_PROTECTION_PROFILE, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_SRTP_PROTECTION_PROFILE_sort(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_SRTP_PROTECTION_PROFILE_call_cmp_func);
}
pub fn sk_SRTP_PROTECTION_PROFILE_is_sorted(arg_sk: ?*const struct_stack_st_SRTP_PROTECTION_PROFILE) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_SRTP_PROTECTION_PROFILE_set_cmp_func(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE, arg_comp: stack_SRTP_PROTECTION_PROFILE_cmp_func) callconv(.C) stack_SRTP_PROTECTION_PROFILE_cmp_func {
+pub fn sk_SRTP_PROTECTION_PROFILE_set_cmp_func(arg_sk: ?*struct_stack_st_SRTP_PROTECTION_PROFILE, arg_comp: sk_SRTP_PROTECTION_PROFILE_cmp_func) callconv(.C) sk_SRTP_PROTECTION_PROFILE_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_SRTP_PROTECTION_PROFILE_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const SRTP_PROTECTION_PROFILE, [*c][*c]const SRTP_PROTECTION_PROFILE) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_SRTP_PROTECTION_PROFILE_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_SRTP_PROTECTION_PROFILE_deep_copy(arg_sk: ?*const struct_stack_st_SRTP_PROTECTION_PROFILE, arg_copy_func: ?*const fn ([*c]const SRTP_PROTECTION_PROFILE) callconv(.C) [*c]const SRTP_PROTECTION_PROFILE, arg_free_func: ?*const fn ([*c]const SRTP_PROTECTION_PROFILE) callconv(.C) void) callconv(.C) ?*struct_stack_st_SRTP_PROTECTION_PROFILE {
+pub fn sk_SRTP_PROTECTION_PROFILE_deep_copy(arg_sk: ?*const struct_stack_st_SRTP_PROTECTION_PROFILE, arg_copy_func: sk_SRTP_PROTECTION_PROFILE_copy_func, arg_free_func: sk_SRTP_PROTECTION_PROFILE_free_func) callconv(.C) ?*struct_stack_st_SRTP_PROTECTION_PROFILE {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_SRTP_PROTECTION_PROFILE, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_SRTP_PROTECTION_PROFILE_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_SRTP_PROTECTION_PROFILE_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_SRTP_PROTECTION_PROFILE, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_SRTP_PROTECTION_PROFILE_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_SRTP_PROTECTION_PROFILE_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
-pub extern fn SSL_CTX_set_srtp_profiles(ctx: ?*SSL_CTX, profiles: [*c]const u8) c_int;
-pub extern fn SSL_set_srtp_profiles(ssl: ?*SSL, profiles: [*c]const u8) c_int;
-pub extern fn SSL_get_srtp_profiles(ssl: ?*const SSL) ?*const struct_stack_st_SRTP_PROTECTION_PROFILE;
-pub extern fn SSL_get_selected_srtp_profile(ssl: ?*SSL) [*c]const SRTP_PROTECTION_PROFILE;
+// pub extern fn SSL_CTX_set_srtp_profiles(ctx: ?*SSL_CTX, profiles: [*c]const u8) c_int;
+// pub extern fn SSL_set_srtp_profiles(ssl: ?*SSL, profiles: [*c]const u8) c_int;
+// pub extern fn SSL_get_srtp_profiles(ssl: ?*const SSL) ?*const struct_stack_st_SRTP_PROTECTION_PROFILE;
+// pub extern fn SSL_get_selected_srtp_profile(ssl: ?*SSL) [*c]const SRTP_PROTECTION_PROFILE;
pub extern fn SSL_CTX_set_psk_client_callback(ctx: ?*SSL_CTX, cb: ?*const fn (?*SSL, [*c]const u8, [*c]u8, c_uint, [*c]u8, c_uint) callconv(.C) c_uint) void;
pub extern fn SSL_set_psk_client_callback(ssl: ?*SSL, cb: ?*const fn (?*SSL, [*c]const u8, [*c]u8, c_uint, [*c]u8, c_uint) callconv(.C) c_uint) void;
pub extern fn SSL_CTX_set_psk_server_callback(ctx: ?*SSL_CTX, cb: ?*const fn (?*SSL, [*c]const u8, [*c]u8, c_uint) callconv(.C) c_uint) void;
@@ -5818,22 +5673,22 @@ pub extern fn SSL_alert_desc_string_long(value: c_int) [*c]const u8;
pub extern fn SSL_send_fatal_alert(ssl: ?*SSL, alert: u8) c_int;
pub extern fn SSL_set_ex_data(ssl: ?*SSL, idx: c_int, data: ?*anyopaque) c_int;
pub extern fn SSL_get_ex_data(ssl: ?*const SSL, idx: c_int) ?*anyopaque;
-pub extern fn SSL_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?CRYPTO_EX_dup, free_func: ?CRYPTO_EX_free) c_int;
+pub extern fn SSL_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?*const CRYPTO_EX_dup, free_func: ?*const CRYPTO_EX_free) c_int;
pub extern fn SSL_SESSION_set_ex_data(session: ?*SSL_SESSION, idx: c_int, data: ?*anyopaque) c_int;
pub extern fn SSL_SESSION_get_ex_data(session: ?*const SSL_SESSION, idx: c_int) ?*anyopaque;
-pub extern fn SSL_SESSION_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?CRYPTO_EX_dup, free_func: ?CRYPTO_EX_free) c_int;
+pub extern fn SSL_SESSION_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?*const CRYPTO_EX_dup, free_func: ?*const CRYPTO_EX_free) c_int;
pub extern fn SSL_CTX_set_ex_data(ctx: ?*SSL_CTX, idx: c_int, data: ?*anyopaque) c_int;
pub extern fn SSL_CTX_get_ex_data(ctx: ?*const SSL_CTX, idx: c_int) ?*anyopaque;
-pub extern fn SSL_CTX_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?CRYPTO_EX_dup, free_func: ?CRYPTO_EX_free) c_int;
+pub extern fn SSL_CTX_get_ex_new_index(argl: c_long, argp: ?*anyopaque, unused: [*c]CRYPTO_EX_unused, dup_unused: ?*const CRYPTO_EX_dup, free_func: ?*const CRYPTO_EX_free) c_int;
pub extern fn SSL_get_ivs(ssl: ?*const SSL, out_read_iv: [*c][*c]const u8, out_write_iv: [*c][*c]const u8, out_iv_len: [*c]usize) c_int;
pub extern fn SSL_get_key_block_len(ssl: ?*const SSL) usize;
pub extern fn SSL_generate_key_block(ssl: ?*const SSL, out: [*c]u8, out_len: usize) c_int;
pub extern fn SSL_get_read_sequence(ssl: ?*const SSL) u64;
pub extern fn SSL_get_write_sequence(ssl: ?*const SSL) u64;
pub extern fn SSL_CTX_set_record_protocol_version(ctx: ?*SSL_CTX, version: c_int) c_int;
-pub extern fn SSL_serialize_capabilities(ssl: ?*const SSL, out: [*c]CBB) c_int;
+pub extern fn SSL_serialize_capabilities(ssl: ?*const SSL, out: ?*CBB) c_int;
pub extern fn SSL_request_handshake_hints(ssl: ?*SSL, client_hello: [*c]const u8, client_hello_len: usize, capabilities: [*c]const u8, capabilities_len: usize) c_int;
-pub extern fn SSL_serialize_handshake_hints(ssl: ?*const SSL, out: [*c]CBB) c_int;
+pub extern fn SSL_serialize_handshake_hints(ssl: ?*const SSL, out: ?*CBB) c_int;
pub extern fn SSL_set_handshake_hints(ssl: ?*SSL, hints: [*c]const u8, hints_len: usize) c_int;
pub extern fn SSL_CTX_set_msg_callback(ctx: ?*SSL_CTX, cb: ?*const fn (c_int, c_int, c_int, ?*const anyopaque, usize, ?*SSL, ?*anyopaque) callconv(.C) void) void;
pub extern fn SSL_CTX_set_msg_callback_arg(ctx: ?*SSL_CTX, arg: ?*anyopaque) void;
@@ -5868,6 +5723,7 @@ pub extern fn SSL_CTX_set_select_certificate_cb(ctx: ?*SSL_CTX, cb: ?*const fn (
pub extern fn SSL_CTX_set_dos_protection_cb(ctx: ?*SSL_CTX, cb: ?*const fn ([*c]const SSL_CLIENT_HELLO) callconv(.C) c_int) void;
pub extern fn SSL_CTX_set_reverify_on_resume(ctx: ?*SSL_CTX, enabled: c_int) void;
pub extern fn SSL_set_enforce_rsa_key_usage(ssl: ?*SSL, enabled: c_int) void;
+pub extern fn SSL_was_key_usage_invalid(ssl: ?*const SSL) c_int;
pub extern fn SSL_CTX_set_info_callback(ctx: ?*SSL_CTX, cb: ?*const fn (?*const SSL, c_int, c_int) callconv(.C) void) void;
pub extern fn SSL_CTX_get_info_callback(ctx: ?*SSL_CTX) ?*const fn (?*const SSL, c_int, c_int) callconv(.C) void;
pub extern fn SSL_set_info_callback(ssl: ?*SSL, cb: ?*const fn (?*const SSL, c_int, c_int) callconv(.C) void) void;
@@ -5960,132 +5816,132 @@ pub extern fn i2d_SSL_SESSION_bio(bio: [*c]BIO, session: ?*const SSL_SESSION) c_
pub extern fn d2i_SSL_SESSION_bio(bio: [*c]BIO, out: [*c]?*SSL_SESSION) ?*SSL_SESSION;
pub extern fn ERR_load_SSL_strings() void;
pub extern fn SSL_load_error_strings() void;
-pub extern fn SSL_CTX_set_tlsext_use_srtp(ctx: ?*SSL_CTX, profiles: [*c]const u8) c_int;
-pub extern fn SSL_set_tlsext_use_srtp(ssl: ?*SSL, profiles: [*c]const u8) c_int;
+// pub extern fn SSL_CTX_set_tlsext_use_srtp(ctx: ?*SSL_CTX, profiles: [*c]const u8) c_int;
+// pub extern fn SSL_set_tlsext_use_srtp(ssl: ?*SSL, profiles: [*c]const u8) c_int;
pub extern fn SSL_get_current_compression(ssl: ?*SSL) ?*const COMP_METHOD;
pub extern fn SSL_get_current_expansion(ssl: ?*SSL) ?*const COMP_METHOD;
pub extern fn SSL_get_server_tmp_key(ssl: ?*SSL, out_key: [*c][*c]EVP_PKEY) c_int;
-pub extern fn SSL_CTX_set_tmp_dh(ctx: ?*SSL_CTX, dh: [*c]const DH) c_int;
-pub extern fn SSL_set_tmp_dh(ssl: ?*SSL, dh: [*c]const DH) c_int;
-pub extern fn SSL_CTX_set_tmp_dh_callback(ctx: ?*SSL_CTX, cb: ?*const fn (?*SSL, c_int, c_int) callconv(.C) [*c]DH) void;
-pub extern fn SSL_set_tmp_dh_callback(ssl: ?*SSL, cb: ?*const fn (?*SSL, c_int, c_int) callconv(.C) [*c]DH) void;
+pub extern fn SSL_CTX_set_tmp_dh(ctx: ?*SSL_CTX, dh: ?*const DH) c_int;
+pub extern fn SSL_set_tmp_dh(ssl: ?*SSL, dh: ?*const DH) c_int;
+pub extern fn SSL_CTX_set_tmp_dh_callback(ctx: ?*SSL_CTX, cb: ?*const fn (?*SSL, c_int, c_int) callconv(.C) ?*DH) void;
+pub extern fn SSL_set_tmp_dh_callback(ssl: ?*SSL, cb: ?*const fn (?*SSL, c_int, c_int) callconv(.C) ?*DH) void;
pub extern fn SSL_CTX_set1_sigalgs(ctx: ?*SSL_CTX, values: [*c]const c_int, num_values: usize) c_int;
pub extern fn SSL_set1_sigalgs(ssl: ?*SSL, values: [*c]const c_int, num_values: usize) c_int;
pub extern fn SSL_CTX_set1_sigalgs_list(ctx: ?*SSL_CTX, str: [*c]const u8) c_int;
pub extern fn SSL_set1_sigalgs_list(ssl: ?*SSL, str: [*c]const u8) c_int;
-pub const stack_SSL_COMP_free_func = ?*const fn ([*c]SSL_COMP) callconv(.C) void;
-pub const stack_SSL_COMP_copy_func = ?*const fn ([*c]SSL_COMP) callconv(.C) [*c]SSL_COMP;
-pub const stack_SSL_COMP_cmp_func = ?*const fn ([*c][*c]const SSL_COMP, [*c][*c]const SSL_COMP) callconv(.C) c_int;
-pub fn sk_SSL_COMP_call_free_func(arg_free_func: stack_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
+pub const sk_SSL_COMP_free_func = ?*const fn ([*c]SSL_COMP) callconv(.C) void;
+pub const sk_SSL_COMP_copy_func = ?*const fn ([*c]SSL_COMP) callconv(.C) [*c]SSL_COMP;
+pub const sk_SSL_COMP_cmp_func = ?*const fn ([*c][*c]const SSL_COMP, [*c][*c]const SSL_COMP) callconv(.C) c_int;
+pub fn sk_SSL_COMP_call_free_func(arg_free_func: OPENSSL_sk_free_func, arg_ptr: ?*anyopaque) callconv(.C) void {
var free_func = arg_free_func;
var ptr = arg_ptr;
- @ptrCast(stack_SSL_COMP_free_func, @alignCast(@import("std").meta.alignment(fn ([*c]SSL_COMP) callconv(.C) void), free_func)).?(@ptrCast([*c]SSL_COMP, @alignCast(@import("std").meta.alignment(SSL_COMP), ptr)));
+ @as(sk_SSL_COMP_free_func, @ptrCast(@alignCast(free_func))).?(@as([*c]SSL_COMP, @ptrCast(@alignCast(ptr))));
}
-pub fn sk_SSL_COMP_call_copy_func(arg_copy_func: stack_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
+pub fn sk_SSL_COMP_call_copy_func(arg_copy_func: OPENSSL_sk_copy_func, arg_ptr: ?*anyopaque) callconv(.C) ?*anyopaque {
var copy_func = arg_copy_func;
var ptr = arg_ptr;
- return @ptrCast(?*anyopaque, @ptrCast(stack_SSL_COMP_copy_func, @alignCast(@import("std").meta.alignment(fn ([*c]SSL_COMP) callconv(.C) [*c]SSL_COMP), copy_func)).?(@ptrCast([*c]SSL_COMP, @alignCast(@import("std").meta.alignment(SSL_COMP), ptr))));
+ return @as(?*anyopaque, @ptrCast(@as(sk_SSL_COMP_copy_func, @ptrCast(@alignCast(copy_func))).?(@as([*c]SSL_COMP, @ptrCast(@alignCast(ptr))))));
}
-pub fn sk_SSL_COMP_call_cmp_func(arg_cmp_func: stack_cmp_func, arg_a: [*c]?*const anyopaque, arg_b: [*c]?*const anyopaque) callconv(.C) c_int {
+pub fn sk_SSL_COMP_call_cmp_func(arg_cmp_func: OPENSSL_sk_cmp_func, arg_a: [*c]const ?*const anyopaque, arg_b: [*c]const ?*const anyopaque) callconv(.C) c_int {
var cmp_func = arg_cmp_func;
var a = arg_a;
var b = arg_b;
- var a_ptr: [*c]const SSL_COMP = @ptrCast([*c]const SSL_COMP, @alignCast(@import("std").meta.alignment(SSL_COMP), a.*));
- var b_ptr: [*c]const SSL_COMP = @ptrCast([*c]const SSL_COMP, @alignCast(@import("std").meta.alignment(SSL_COMP), b.*));
- return @ptrCast(stack_SSL_COMP_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const SSL_COMP, [*c][*c]const SSL_COMP) callconv(.C) c_int), cmp_func)).?(&a_ptr, &b_ptr);
+ var a_ptr: [*c]const SSL_COMP = @as([*c]const SSL_COMP, @ptrCast(@alignCast(a.*)));
+ var b_ptr: [*c]const SSL_COMP = @as([*c]const SSL_COMP, @ptrCast(@alignCast(b.*)));
+ return @as(sk_SSL_COMP_cmp_func, @ptrCast(@alignCast(cmp_func))).?(&a_ptr, &b_ptr);
}
-pub fn sk_SSL_COMP_new(arg_comp: stack_SSL_COMP_cmp_func) callconv(.C) ?*struct_stack_st_SSL_COMP {
+pub fn sk_SSL_COMP_new(arg_comp: sk_SSL_COMP_cmp_func) callconv(.C) ?*struct_stack_st_SSL_COMP {
var comp = arg_comp;
- return @ptrCast(?*struct_stack_st_SSL_COMP, sk_new(@ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp))));
+ return @as(?*struct_stack_st_SSL_COMP, @ptrCast(sk_new(@as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp))))));
}
pub fn sk_SSL_COMP_new_null() callconv(.C) ?*struct_stack_st_SSL_COMP {
- return @ptrCast(?*struct_stack_st_SSL_COMP, sk_new_null());
+ return @as(?*struct_stack_st_SSL_COMP, @ptrCast(sk_new_null()));
}
pub fn sk_SSL_COMP_num(arg_sk: ?*const struct_stack_st_SSL_COMP) callconv(.C) usize {
var sk = arg_sk;
- return sk_num(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_num(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_SSL_COMP_zero(arg_sk: ?*struct_stack_st_SSL_COMP) callconv(.C) void {
var sk = arg_sk;
- sk_zero(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_zero(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
pub fn sk_SSL_COMP_value(arg_sk: ?*const struct_stack_st_SSL_COMP, arg_i: usize) callconv(.C) [*c]SSL_COMP {
var sk = arg_sk;
var i = arg_i;
- return @ptrCast([*c]SSL_COMP, @alignCast(@import("std").meta.alignment(SSL_COMP), sk_value(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i)));
+ return @as([*c]SSL_COMP, @ptrCast(@alignCast(sk_value(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), i))));
}
pub fn sk_SSL_COMP_set(arg_sk: ?*struct_stack_st_SSL_COMP, arg_i: usize, arg_p: [*c]SSL_COMP) callconv(.C) [*c]SSL_COMP {
var sk = arg_sk;
var i = arg_i;
var p = arg_p;
- return @ptrCast([*c]SSL_COMP, @alignCast(@import("std").meta.alignment(SSL_COMP), sk_set(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), i, @ptrCast(?*anyopaque, p))));
+ return @as([*c]SSL_COMP, @ptrCast(@alignCast(sk_set(@as([*c]_STACK, @ptrCast(@alignCast(sk))), i, @as(?*anyopaque, @ptrCast(p))))));
}
pub fn sk_SSL_COMP_free(arg_sk: ?*struct_stack_st_SSL_COMP) callconv(.C) void {
var sk = arg_sk;
- sk_free(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_free(@as([*c]_STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_SSL_COMP_pop_free(arg_sk: ?*struct_stack_st_SSL_COMP, arg_free_func: stack_SSL_COMP_free_func) callconv(.C) void {
+pub fn sk_SSL_COMP_pop_free(arg_sk: ?*struct_stack_st_SSL_COMP, arg_free_func: sk_SSL_COMP_free_func) callconv(.C) void {
var sk = arg_sk;
var free_func = arg_free_func;
- sk_pop_free_ex(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_SSL_COMP_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func)));
+ sk_pop_free_ex(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_SSL_COMP_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))));
}
pub fn sk_SSL_COMP_insert(arg_sk: ?*struct_stack_st_SSL_COMP, arg_p: [*c]SSL_COMP, arg_where: usize) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
var where = arg_where;
- return sk_insert(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p), where);
+ return sk_insert(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)), where);
}
pub fn sk_SSL_COMP_delete(arg_sk: ?*struct_stack_st_SSL_COMP, arg_where: usize) callconv(.C) [*c]SSL_COMP {
var sk = arg_sk;
var where = arg_where;
- return @ptrCast([*c]SSL_COMP, @alignCast(@import("std").meta.alignment(SSL_COMP), sk_delete(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), where)));
+ return @as([*c]SSL_COMP, @ptrCast(@alignCast(sk_delete(@as([*c]_STACK, @ptrCast(@alignCast(sk))), where))));
}
pub fn sk_SSL_COMP_delete_ptr(arg_sk: ?*struct_stack_st_SSL_COMP, arg_p: [*c]const SSL_COMP) callconv(.C) [*c]SSL_COMP {
var sk = arg_sk;
var p = arg_p;
- return @ptrCast([*c]SSL_COMP, @alignCast(@import("std").meta.alignment(SSL_COMP), sk_delete_ptr(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*const anyopaque, p))));
+ return @as([*c]SSL_COMP, @ptrCast(@alignCast(sk_delete_ptr(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*const anyopaque, @ptrCast(p))))));
}
pub fn sk_SSL_COMP_find(arg_sk: ?*const struct_stack_st_SSL_COMP, arg_out_index: [*c]usize, arg_p: [*c]const SSL_COMP) callconv(.C) c_int {
var sk = arg_sk;
var out_index = arg_out_index;
var p = arg_p;
- return sk_find(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), out_index, @ptrCast(?*const anyopaque, p), sk_SSL_COMP_call_cmp_func);
+ return sk_find(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), out_index, @as(?*const anyopaque, @ptrCast(p)), &sk_SSL_COMP_call_cmp_func);
}
pub fn sk_SSL_COMP_shift(arg_sk: ?*struct_stack_st_SSL_COMP) callconv(.C) [*c]SSL_COMP {
var sk = arg_sk;
- return @ptrCast([*c]SSL_COMP, @alignCast(@import("std").meta.alignment(SSL_COMP), sk_shift(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]SSL_COMP, @ptrCast(@alignCast(sk_shift(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_SSL_COMP_push(arg_sk: ?*struct_stack_st_SSL_COMP, arg_p: [*c]SSL_COMP) callconv(.C) usize {
var sk = arg_sk;
var p = arg_p;
- return sk_push(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(?*anyopaque, p));
+ return sk_push(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(?*anyopaque, @ptrCast(p)));
}
pub fn sk_SSL_COMP_pop(arg_sk: ?*struct_stack_st_SSL_COMP) callconv(.C) [*c]SSL_COMP {
var sk = arg_sk;
- return @ptrCast([*c]SSL_COMP, @alignCast(@import("std").meta.alignment(SSL_COMP), sk_pop(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)))));
+ return @as([*c]SSL_COMP, @ptrCast(@alignCast(sk_pop(@as([*c]_STACK, @ptrCast(@alignCast(sk)))))));
}
pub fn sk_SSL_COMP_dup(arg_sk: ?*const struct_stack_st_SSL_COMP) callconv(.C) ?*struct_stack_st_SSL_COMP {
var sk = arg_sk;
- return @ptrCast(?*struct_stack_st_SSL_COMP, sk_dup(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk))));
+ return @as(?*struct_stack_st_SSL_COMP, @ptrCast(sk_dup(@as([*c]const _STACK, @ptrCast(@alignCast(sk))))));
}
pub fn sk_SSL_COMP_sort(arg_sk: ?*struct_stack_st_SSL_COMP) callconv(.C) void {
var sk = arg_sk;
- sk_sort(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ sk_sort(@as([*c]_STACK, @ptrCast(@alignCast(sk))), &sk_SSL_COMP_call_cmp_func);
}
pub fn sk_SSL_COMP_is_sorted(arg_sk: ?*const struct_stack_st_SSL_COMP) callconv(.C) c_int {
var sk = arg_sk;
- return sk_is_sorted(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)));
+ return sk_is_sorted(@as([*c]const _STACK, @ptrCast(@alignCast(sk))));
}
-pub fn sk_SSL_COMP_set_cmp_func(arg_sk: ?*struct_stack_st_SSL_COMP, arg_comp: stack_SSL_COMP_cmp_func) callconv(.C) stack_SSL_COMP_cmp_func {
+pub fn sk_SSL_COMP_set_cmp_func(arg_sk: ?*struct_stack_st_SSL_COMP, arg_comp: sk_SSL_COMP_cmp_func) callconv(.C) sk_SSL_COMP_cmp_func {
var sk = arg_sk;
var comp = arg_comp;
- return @ptrCast(stack_SSL_COMP_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c][*c]const SSL_COMP, [*c][*c]const SSL_COMP) callconv(.C) c_int), sk_set_cmp_func(@ptrCast([*c]_STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), @ptrCast(stack_cmp_func, @alignCast(@import("std").meta.alignment(fn ([*c]?*const anyopaque, [*c]?*const anyopaque) callconv(.C) c_int), comp)))));
+ return @as(sk_SSL_COMP_cmp_func, @ptrCast(@alignCast(sk_set_cmp_func(@as([*c]_STACK, @ptrCast(@alignCast(sk))), @as(OPENSSL_sk_cmp_func, @ptrCast(@alignCast(comp)))))));
}
-pub fn sk_SSL_COMP_deep_copy(arg_sk: ?*const struct_stack_st_SSL_COMP, arg_copy_func: ?*const fn ([*c]SSL_COMP) callconv(.C) [*c]SSL_COMP, arg_free_func: ?*const fn ([*c]SSL_COMP) callconv(.C) void) callconv(.C) ?*struct_stack_st_SSL_COMP {
+pub fn sk_SSL_COMP_deep_copy(arg_sk: ?*const struct_stack_st_SSL_COMP, arg_copy_func: sk_SSL_COMP_copy_func, arg_free_func: sk_SSL_COMP_free_func) callconv(.C) ?*struct_stack_st_SSL_COMP {
var sk = arg_sk;
var copy_func = arg_copy_func;
var free_func = arg_free_func;
- return @ptrCast(?*struct_stack_st_SSL_COMP, sk_deep_copy(@ptrCast([*c]const _STACK, @alignCast(@import("std").meta.alignment(_STACK), sk)), sk_SSL_COMP_call_copy_func, @ptrCast(stack_copy_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) ?*anyopaque), copy_func)), sk_SSL_COMP_call_free_func, @ptrCast(stack_free_func, @alignCast(@import("std").meta.alignment(fn (?*anyopaque) callconv(.C) void), free_func))));
+ return @as(?*struct_stack_st_SSL_COMP, @ptrCast(sk_deep_copy(@as([*c]const _STACK, @ptrCast(@alignCast(sk))), &sk_SSL_COMP_call_copy_func, @as(OPENSSL_sk_copy_func, @ptrCast(@alignCast(copy_func))), &sk_SSL_COMP_call_free_func, @as(OPENSSL_sk_free_func, @ptrCast(@alignCast(free_func))))));
}
pub extern fn SSL_cache_hit(ssl: ?*SSL) c_int;
pub extern fn SSL_get_default_timeout(ssl: ?*const SSL) c_long;
@@ -6119,9 +5975,119 @@ pub extern fn SSL_get_tlsext_status_ocsp_resp(ssl: ?*const SSL, out: [*c][*c]con
pub extern fn SSL_CTX_set_tlsext_status_cb(ctx: ?*SSL_CTX, callback: ?*const fn (?*SSL, ?*anyopaque) callconv(.C) c_int) c_int;
pub extern fn SSL_CTX_set_tlsext_status_arg(ctx: ?*SSL_CTX, arg: ?*anyopaque) c_int;
pub extern fn SSL_CIPHER_get_value(cipher: ?*const SSL_CIPHER) u16;
+pub const ssl_compliance_policy_fips_202205: c_int = 0;
+pub const enum_ssl_compliance_policy_t = c_uint;
+pub extern fn SSL_CTX_set_compliance_policy(ctx: ?*SSL_CTX, policy: enum_ssl_compliance_policy_t) c_int;
+pub extern fn SSL_set_compliance_policy(ssl: ?*SSL, policy: enum_ssl_compliance_policy_t) c_int;
+pub const OPENSSL_HEADER_OPENSSLCONF_H = "";
+pub const OPENSSL_NO_ASYNC = "";
+pub const OPENSSL_NO_BF = "";
+pub const OPENSSL_NO_BLAKE2 = "";
+pub const OPENSSL_NO_BUF_FREELISTS = "";
+pub const OPENSSL_NO_CAMELLIA = "";
+pub const OPENSSL_NO_CAPIENG = "";
+pub const OPENSSL_NO_CAST = "";
+pub const OPENSSL_NO_CMS = "";
+pub const OPENSSL_NO_COMP = "";
+pub const OPENSSL_NO_CT = "";
+pub const OPENSSL_NO_DANE = "";
+pub const OPENSSL_NO_DEPRECATED = "";
+pub const OPENSSL_NO_DGRAM = "";
+pub const OPENSSL_NO_DYNAMIC_ENGINE = "";
+pub const OPENSSL_NO_EC_NISTP_64_GCC_128 = "";
+pub const OPENSSL_NO_EC2M = "";
+pub const OPENSSL_NO_EGD = "";
+pub const OPENSSL_NO_ENGINE = "";
+pub const OPENSSL_NO_GMP = "";
+pub const OPENSSL_NO_GOST = "";
+pub const OPENSSL_NO_HEARTBEATS = "";
+pub const OPENSSL_NO_HW = "";
+pub const OPENSSL_NO_IDEA = "";
+pub const OPENSSL_NO_JPAKE = "";
+pub const OPENSSL_NO_KRB5 = "";
+pub const OPENSSL_NO_MD2 = "";
+pub const OPENSSL_NO_MDC2 = "";
+pub const OPENSSL_NO_OCB = "";
+pub const OPENSSL_NO_OCSP = "";
+pub const OPENSSL_NO_RC2 = "";
+pub const OPENSSL_NO_RC5 = "";
+pub const OPENSSL_NO_RFC3779 = "";
+pub const OPENSSL_NO_RIPEMD = "";
+pub const OPENSSL_NO_RMD160 = "";
+pub const OPENSSL_NO_SCTP = "";
+pub const OPENSSL_NO_SEED = "";
+pub const OPENSSL_NO_SM2 = "";
+pub const OPENSSL_NO_SM3 = "";
+pub const OPENSSL_NO_SM4 = "";
+pub const OPENSSL_NO_SRP = "";
+pub const OPENSSL_NO_SSL_TRACE = "";
+pub const OPENSSL_NO_SSL2 = "";
+pub const OPENSSL_NO_SSL3 = "";
+pub const OPENSSL_NO_SSL3_METHOD = "";
+pub const OPENSSL_NO_STATIC_ENGINE = "";
+pub const OPENSSL_NO_STORE = "";
+pub const OPENSSL_NO_WHIRLPOOL = "";
+pub const OPENSSL_64_BIT = "";
+pub const OPENSSL_AARCH64 = "";
+pub const OPENSSL_APPLE = "";
+pub const OPENSSL_MACOS = "";
+pub const OPENSSL_THREADS = "";
+pub const OPENSSL_IS_BORINGSSL = "";
pub const OPENSSL_VERSION_NUMBER = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x1010107f, .hexadecimal);
pub const SSLEAY_VERSION_NUMBER = OPENSSL_VERSION_NUMBER;
-pub const BORINGSSL_API_VERSION = @as(c_int, 16);
+pub const BORINGSSL_API_VERSION = @as(c_int, 18);
+pub const OPENSSL_EXPORT = "";
+pub const BORINGSSL_ENUM_INT = "";
+pub const BORINGSSL_NO_CXX = "";
+pub const OPENSSL_HEADER_BIO_H = "";
+pub const _STDIO_H_ = "";
+pub const __STDIO_H_ = "";
+pub const __TYPES_H_ = "";
+pub const _FORTIFY_SOURCE = @as(c_int, 2);
+pub const _VA_LIST_T = "";
+pub const _SYS_STDIO_H_ = "";
+pub const RENAME_SECLUDE = @as(c_int, 0x00000001);
+pub const RENAME_SWAP = @as(c_int, 0x00000002);
+pub const RENAME_EXCL = @as(c_int, 0x00000004);
+pub const RENAME_RESERVED1 = @as(c_int, 0x00000008);
+pub const RENAME_NOFOLLOW_ANY = @as(c_int, 0x00000010);
+pub const _FSTDIO = "";
+pub const __SLBF = @as(c_int, 0x0001);
+pub const __SNBF = @as(c_int, 0x0002);
+pub const __SRD = @as(c_int, 0x0004);
+pub const __SWR = @as(c_int, 0x0008);
+pub const __SRW = @as(c_int, 0x0010);
+pub const __SEOF = @as(c_int, 0x0020);
+pub const __SERR = @as(c_int, 0x0040);
+pub const __SMBF = @as(c_int, 0x0080);
+pub const __SAPP = @as(c_int, 0x0100);
+pub const __SSTR = @as(c_int, 0x0200);
+pub const __SOPT = @as(c_int, 0x0400);
+pub const __SNPT = @as(c_int, 0x0800);
+pub const __SOFF = @as(c_int, 0x1000);
+pub const __SMOD = @as(c_int, 0x2000);
+pub const __SALC = @as(c_int, 0x4000);
+pub const __SIGN = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x8000, .hexadecimal);
+pub const _IOFBF = @as(c_int, 0);
+pub const _IOLBF = @as(c_int, 1);
+pub const _IONBF = @as(c_int, 2);
+pub const BUFSIZ = @as(c_int, 1024);
+pub const EOF = -@as(c_int, 1);
+pub const FOPEN_MAX = @as(c_int, 20);
+pub const FILENAME_MAX = @as(c_int, 1024);
+pub const P_tmpdir = "/var/tmp/";
+pub const L_tmpnam = @as(c_int, 1024);
+pub const TMP_MAX = @import("std").zig.c_translation.promoteIntLiteral(c_int, 308915776, .decimal);
+pub const SEEK_SET = @as(c_int, 0);
+pub const SEEK_CUR = @as(c_int, 1);
+pub const SEEK_END = @as(c_int, 2);
+pub const L_ctermid = @as(c_int, 1024);
+pub const _CTERMID_H_ = "";
+pub const _SECURE__STDIO_H_ = "";
+pub const _SECURE__COMMON_H_ = "";
+pub const _USE_FORTIFY_LEVEL = @as(c_int, 2);
+pub const OPENSSL_HEADER_BUFFER_H = "";
+pub const OPENSSL_HEADER_ERR_H = "";
pub inline fn ERR_GET_LIB(packed_error: anytype) c_int {
return @import("std").zig.c_translation.cast(c_int, (packed_error >> @as(c_int, 24)) & @as(c_int, 0xff));
}
@@ -6129,6 +6095,7 @@ pub inline fn ERR_GET_REASON(packed_error: anytype) c_int {
return @import("std").zig.c_translation.cast(c_int, packed_error & @as(c_int, 0xfff));
}
pub const ERR_FLAG_STRING = @as(c_int, 1);
+pub const ERR_FLAG_MALLOCED = @as(c_int, 2);
pub const ERR_R_SYS_LIB = ERR_LIB_SYS;
pub const ERR_R_BN_LIB = ERR_LIB_BN;
pub const ERR_R_RSA_LIB = ERR_LIB_RSA;
@@ -6149,19 +6116,13 @@ pub const ERR_R_PKCS7_LIB = ERR_LIB_PKCS7;
pub const ERR_R_PKCS8_LIB = ERR_LIB_PKCS8;
pub const ERR_R_X509V3_LIB = ERR_LIB_X509V3;
pub const ERR_R_RAND_LIB = ERR_LIB_RAND;
-pub const ERR_R_DSO_LIB = ERR_LIB_DSO;
pub const ERR_R_ENGINE_LIB = ERR_LIB_ENGINE;
pub const ERR_R_OCSP_LIB = ERR_LIB_OCSP;
pub const ERR_R_UI_LIB = ERR_LIB_UI;
pub const ERR_R_COMP_LIB = ERR_LIB_COMP;
pub const ERR_R_ECDSA_LIB = ERR_LIB_ECDSA;
pub const ERR_R_ECDH_LIB = ERR_LIB_ECDH;
-pub const ERR_R_STORE_LIB = ERR_LIB_STORE;
-pub const ERR_R_FIPS_LIB = ERR_LIB_FIPS;
-pub const ERR_R_CMS_LIB = ERR_LIB_CMS;
-pub const ERR_R_TS_LIB = ERR_LIB_TS;
pub const ERR_R_HMAC_LIB = ERR_LIB_HMAC;
-pub const ERR_R_JPAKE_LIB = ERR_LIB_JPAKE;
pub const ERR_R_USER_LIB = ERR_LIB_USER;
pub const ERR_R_DIGEST_LIB = ERR_LIB_DIGEST;
pub const ERR_R_CIPHER_LIB = ERR_LIB_CIPHER;
@@ -6175,17 +6136,21 @@ pub const ERR_R_INTERNAL_ERROR = @as(c_int, 4) | ERR_R_FATAL;
pub const ERR_R_OVERFLOW = @as(c_int, 5) | ERR_R_FATAL;
pub const ERR_ERROR_STRING_BUF_LEN = @as(c_int, 120);
pub inline fn ERR_GET_FUNC(packed_error: anytype) @TypeOf(@as(c_int, 0)) {
- _ = packed_error;
+ _ = @TypeOf(packed_error);
return @as(c_int, 0);
}
pub const ERR_TXT_STRING = ERR_FLAG_STRING;
+pub const ERR_TXT_MALLOCED = ERR_FLAG_MALLOCED;
pub const ERR_NUM_ERRORS = @as(c_int, 16);
pub inline fn ERR_PACK(lib: anytype, reason: anytype) @TypeOf(((@import("std").zig.c_translation.cast(u32, lib) & @as(c_int, 0xff)) << @as(c_int, 24)) | (@import("std").zig.c_translation.cast(u32, reason) & @as(c_int, 0xfff))) {
return ((@import("std").zig.c_translation.cast(u32, lib) & @as(c_int, 0xff)) << @as(c_int, 24)) | (@import("std").zig.c_translation.cast(u32, reason) & @as(c_int, 0xfff));
}
+pub const OPENSSL_HEADER_EX_DATA_H = "";
+pub const OPENSSL_HEADER_STACK_H = "";
pub inline fn DEFINE_STACK_OF(@"type": anytype) @TypeOf(DEFINE_NAMED_STACK_OF(@"type", @"type")) {
return DEFINE_NAMED_STACK_OF(@"type", @"type");
}
+pub const OPENSSL_HEADER_THREAD_H = "";
pub const CRYPTO_LOCK = @as(c_int, 1);
pub const CRYPTO_UNLOCK = @as(c_int, 2);
pub const CRYPTO_READ = @as(c_int, 4);
@@ -6325,6 +6290,9 @@ pub const BIO_R_UNABLE_TO_CREATE_SOCKET = @as(c_int, 113);
pub const BIO_R_UNINITIALIZED = @as(c_int, 114);
pub const BIO_R_UNSUPPORTED_METHOD = @as(c_int, 115);
pub const BIO_R_WRITE_TO_READ_ONLY_BIO = @as(c_int, 116);
+pub const OPENSSL_HEADER_PEM_H = "";
+pub const OPENSSL_HEADER_BASE64_H = "";
+pub const OPENSSL_HEADER_CIPHER_H = "";
pub const EVP_CIPH_STREAM_CIPHER = @as(c_int, 0x0);
pub const EVP_CIPH_ECB_MODE = @as(c_int, 0x1);
pub const EVP_CIPH_CBC_MODE = @as(c_int, 0x2);
@@ -6398,6 +6366,7 @@ pub const CIPHER_R_UNSUPPORTED_TAG_SIZE = @as(c_int, 122);
pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH = @as(c_int, 123);
pub const CIPHER_R_NO_DIRECTION_SET = @as(c_int, 124);
pub const CIPHER_R_INVALID_NONCE = @as(c_int, 125);
+pub const OPENSSL_HEADER_DIGEST_H = "";
pub const EVP_MAX_MD_SIZE = @as(c_int, 64);
pub const EVP_MAX_MD_BLOCK_SIZE = @as(c_int, 128);
pub const EVP_MD_FLAG_PKEY_DIGEST = @as(c_int, 1);
@@ -6407,6 +6376,8 @@ pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW = @as(c_int, 0);
pub const DIGEST_R_INPUT_NOT_INITIALIZED = @as(c_int, 100);
pub const DIGEST_R_DECODE_ERROR = @as(c_int, 101);
pub const DIGEST_R_UNKNOWN_HASH = @as(c_int, 102);
+pub const OPENSSL_HEADER_EVP_H = "";
+pub const OPENSSL_HEADER_EVP_ERRORS_H = "";
pub const EVP_R_BUFFER_TOO_SMALL = @as(c_int, 100);
pub const EVP_R_COMMAND_NOT_SUPPORTED = @as(c_int, 101);
pub const EVP_R_DECODE_ERROR = @as(c_int, 102);
@@ -6445,10 +6416,12 @@ pub const EVP_R_INVALID_PEER_KEY = @as(c_int, 134);
pub const EVP_R_NOT_XOF_OR_INVALID_LENGTH = @as(c_int, 135);
pub const EVP_R_EMPTY_PSK = @as(c_int, 136);
pub const EVP_R_INVALID_BUFFER_SIZE = @as(c_int, 137);
+pub const OPENSSL_HEADER_AEAD_H = "";
pub const EVP_AEAD_MAX_KEY_LENGTH = @as(c_int, 80);
pub const EVP_AEAD_MAX_NONCE_LENGTH = @as(c_int, 24);
pub const EVP_AEAD_MAX_OVERHEAD = @as(c_int, 64);
pub const EVP_AEAD_DEFAULT_TAG_LENGTH = @as(c_int, 0);
+pub const OPENSSL_HEADER_NID_H = "";
pub const SN_undef = "UNDEF";
pub const LN_undef = "undefined";
pub const NID_undef = @as(c_int, 0);
@@ -16472,11 +16445,9 @@ pub const OBJ_sha512_256 = blk: {
_ = @as(c_long, 2);
break :blk @as(c_long, 6);
};
-
-pub const NID_id_on_SmtpUTF8Mailbox = @as(c_int, 1208);
-pub const NID_XmppAddr = @as(c_int, 1209);
-pub const NID_SRVName = @as(c_int, 1210);
-pub const NID_NAIRealm = @as(c_int, 1211);
+pub const SN_hkdf = "HKDF";
+pub const LN_hkdf = "hkdf";
+pub const NID_hkdf = @as(c_int, 963);
pub const EVP_PKEY_NONE = NID_undef;
pub const EVP_PKEY_RSA = NID_rsaEncryption;
pub const EVP_PKEY_RSA_PSS = NID_rsassaPss;
@@ -16484,10 +16455,12 @@ pub const EVP_PKEY_DSA = NID_dsa;
pub const EVP_PKEY_EC = NID_X9_62_id_ecPublicKey;
pub const EVP_PKEY_ED25519 = NID_ED25519;
pub const EVP_PKEY_X25519 = NID_X25519;
+pub const EVP_PKEY_HKDF = NID_hkdf;
pub const EVP_PKEY_DH = NID_dhKeyAgreement;
pub const EVP_PKEY_RSA2 = NID_rsa;
pub const EVP_PKEY_X448 = NID_X448;
pub const EVP_PKEY_ED448 = NID_ED448;
+pub const OPENSSL_HEADER_PKCS7_H = "";
pub const PKCS7_DETACHED = @as(c_int, 0x40);
pub const PKCS7_TEXT = @as(c_int, 0x1);
pub const PKCS7_NOCERTS = @as(c_int, 0x2);
@@ -16504,17 +16477,11 @@ pub const PKCS7_R_BAD_PKCS7_VERSION = @as(c_int, 100);
pub const PKCS7_R_NOT_PKCS7_SIGNED_DATA = @as(c_int, 101);
pub const PKCS7_R_NO_CERTIFICATES_INCLUDED = @as(c_int, 102);
pub const PKCS7_R_NO_CRLS_INCLUDED = @as(c_int, 103);
-pub const _STRUCT_TIMESPEC = struct_timespec;
-pub const CLOCKS_PER_SEC = @import("std").zig.c_translation.promoteIntLiteral(c_int, 1000000, .decimal);
-pub const CLOCK_REALTIME = _CLOCK_REALTIME;
-pub const CLOCK_MONOTONIC = _CLOCK_MONOTONIC;
-pub const CLOCK_MONOTONIC_RAW = _CLOCK_MONOTONIC_RAW;
-pub const CLOCK_MONOTONIC_RAW_APPROX = _CLOCK_MONOTONIC_RAW_APPROX;
-pub const CLOCK_UPTIME_RAW = _CLOCK_UPTIME_RAW;
-pub const CLOCK_UPTIME_RAW_APPROX = _CLOCK_UPTIME_RAW_APPROX;
-pub const CLOCK_PROCESS_CPUTIME_ID = _CLOCK_PROCESS_CPUTIME_ID;
-pub const CLOCK_THREAD_CPUTIME_ID = _CLOCK_THREAD_CPUTIME_ID;
-pub const TIME_UTC = @as(c_int, 1);
+pub const HEADER_X509_H = "";
+pub const HEADER_ASN1_H = "";
+pub const OPENSSL_HEADER_BN_H = "";
+pub const __CLANG_INTTYPES_H = "";
+pub const _INTTYPES_H_ = "";
pub const __PRI_8_LENGTH_MODIFIER__ = "hh";
pub const __PRI_64_LENGTH_MODIFIER__ = "ll";
pub const __SCN_64_LENGTH_MODIFIER__ = "ll";
@@ -16674,7 +16641,6 @@ pub const SCNiMAX = __SCN_MAX_LENGTH_MODIFIER__ ++ "i";
pub const SCNoMAX = __SCN_MAX_LENGTH_MODIFIER__ ++ "o";
pub const SCNuMAX = __SCN_MAX_LENGTH_MODIFIER__ ++ "u";
pub const SCNxMAX = __SCN_MAX_LENGTH_MODIFIER__ ++ "x";
-pub const BN_ULONG = u64;
pub const BN_BITS2 = @as(c_int, 64);
pub const BN_DEC_FMT1 = "%" ++ PRIu64;
pub const BN_DEC_FMT2 = "%019" ++ PRIu64;
@@ -16828,9 +16794,9 @@ pub inline fn M_ASN1_BIT_STRING_dup(a: anytype) @TypeOf(ASN1_STRING_dup(a)) {
pub inline fn M_ASN1_BIT_STRING_cmp(a: anytype, b: anytype) @TypeOf(ASN1_STRING_cmp(a, b)) {
return ASN1_STRING_cmp(a, b);
}
-pub inline fn M_ASN1_BIT_STRING_set(a: anytype, b: anytype, c: anytype) @TypeOf(ASN1_BIT_STRING_set(a, b, c)) {
- return ASN1_BIT_STRING_set(a, b, c);
-}
+// pub inline fn M_ASN1_BIT_STRING_set(a: anytype, b: anytype, c: anytype) @TypeOf(ASN1_BIT_STRING_set(a, b, c)) {
+// return ASN1_BIT_STRING_set(a, b, c);
+// }
pub inline fn M_ASN1_INTEGER_new() @TypeOf(ASN1_INTEGER_new()) {
return ASN1_INTEGER_new();
}
@@ -16859,7 +16825,7 @@ pub inline fn M_ASN1_OCTET_STRING_new() @TypeOf(ASN1_OCTET_STRING_new()) {
return ASN1_OCTET_STRING_new();
}
pub inline fn M_ASN1_OCTET_STRING_free(a: anytype) @TypeOf(ASN1_OCTET_STRING_free()) {
- _ = a;
+ _ = @TypeOf(a);
return ASN1_OCTET_STRING_free();
}
pub inline fn M_ASN1_OCTET_STRING_dup(a: anytype) @TypeOf(ASN1_OCTET_STRING_dup(a)) {
@@ -17039,6 +17005,9 @@ pub const ASN1_R_WRONG_TYPE = @as(c_int, 191);
pub const ASN1_R_NESTED_TOO_DEEP = @as(c_int, 192);
pub const ASN1_R_BAD_TEMPLATE = @as(c_int, 193);
pub const ASN1_R_INVALID_BIT_STRING_PADDING = @as(c_int, 194);
+pub const ASN1_R_WRONG_INTEGER_TYPE = @as(c_int, 195);
+pub const ASN1_R_INVALID_INTEGER = @as(c_int, 196);
+pub const OPENSSL_HEADER_DH_H = "";
pub const DH_GENERATOR_2 = @as(c_int, 2);
pub const DH_GENERATOR_5 = @as(c_int, 5);
pub const DH_CHECK_P_NOT_PRIME = @as(c_int, 0x01);
@@ -17047,7 +17016,6 @@ pub const DH_CHECK_UNABLE_TO_CHECK_GENERATOR = @as(c_int, 0x04);
pub const DH_CHECK_NOT_SUITABLE_GENERATOR = @as(c_int, 0x08);
pub const DH_CHECK_Q_NOT_PRIME = @as(c_int, 0x10);
pub const DH_CHECK_INVALID_Q_VALUE = @as(c_int, 0x20);
-pub const DH_CHECK_INVALID_J_VALUE = @as(c_int, 0x40);
pub const DH_NOT_SUITABLE_GENERATOR = DH_CHECK_NOT_SUITABLE_GENERATOR;
pub const DH_UNABLE_TO_CHECK_GENERATOR = DH_CHECK_UNABLE_TO_CHECK_GENERATOR;
pub const DH_CHECK_PUBKEY_TOO_SMALL = @as(c_int, 0x1);
@@ -17059,6 +17027,8 @@ pub const DH_R_MODULUS_TOO_LARGE = @as(c_int, 102);
pub const DH_R_NO_PRIVATE_VALUE = @as(c_int, 103);
pub const DH_R_DECODE_ERROR = @as(c_int, 104);
pub const DH_R_ENCODE_ERROR = @as(c_int, 105);
+pub const OPENSSL_HEADER_DSA_H = "";
+pub const OPENSSL_HEADER_ENGINE_H = "";
pub const ENGINE_R_OPERATION_NOT_SUPPORTED = @as(c_int, 100);
pub const DSA_R_BAD_Q_VALUE = @as(c_int, 100);
pub const DSA_R_MISSING_PARAMETERS = @as(c_int, 101);
@@ -17068,8 +17038,10 @@ pub const DSA_R_BAD_VERSION = @as(c_int, 104);
pub const DSA_R_DECODE_ERROR = @as(c_int, 105);
pub const DSA_R_ENCODE_ERROR = @as(c_int, 106);
pub const DSA_R_INVALID_PARAMETERS = @as(c_int, 107);
+pub const OPENSSL_HEADER_EC_H = "";
pub const OPENSSL_EC_EXPLICIT_CURVE = @as(c_int, 0);
pub const OPENSSL_EC_NAMED_CURVE = @as(c_int, 1);
+pub const OPENSSL_HEADER_EC_KEY_H = "";
pub const EC_PKEY_NO_PARAMETERS = @as(c_int, 0x001);
pub const EC_PKEY_NO_PUBKEY = @as(c_int, 0x002);
pub const ECDSA_FLAG_OPAQUE = @as(c_int, 1);
@@ -17107,16 +17079,21 @@ pub const EC_R_GROUP_MISMATCH = @as(c_int, 130);
pub const EC_R_INVALID_COFACTOR = @as(c_int, 131);
pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED = @as(c_int, 132);
pub const EC_R_INVALID_SCALAR = @as(c_int, 133);
+pub const OPENSSL_HEADER_ECDH_H = "";
pub const ECDH_R_KDF_FAILED = @as(c_int, 100);
pub const ECDH_R_NO_PRIVATE_VALUE = @as(c_int, 101);
pub const ECDH_R_POINT_ARITHMETIC_FAILURE = @as(c_int, 102);
pub const ECDH_R_UNKNOWN_DIGEST_LENGTH = @as(c_int, 103);
+pub const OPENSSL_HEADER_ECDSA_H = "";
pub const ECDSA_R_BAD_SIGNATURE = @as(c_int, 100);
pub const ECDSA_R_MISSING_PARAMETERS = @as(c_int, 101);
pub const ECDSA_R_NEED_NEW_SETUP_VALUES = @as(c_int, 102);
pub const ECDSA_R_NOT_IMPLEMENTED = @as(c_int, 103);
pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED = @as(c_int, 104);
pub const ECDSA_R_ENCODE_ERROR = @as(c_int, 105);
+pub const OPENSSL_HEADER_OBJ_H = "";
+pub const OPENSSL_HEADER_BYTESTRING_H = "";
+pub const OPENSSL_HEADER_SSL_SPAN_H = "";
pub const CBS_ASN1_TAG_SHIFT = @as(c_int, 24);
pub const CBS_ASN1_CONSTRUCTED = @as(c_uint, 0x20) << CBS_ASN1_TAG_SHIFT;
pub const CBS_ASN1_UNIVERSAL = @as(c_uint, 0) << CBS_ASN1_TAG_SHIFT;
@@ -17151,6 +17128,8 @@ pub const OBJ_NAME_TYPE_MD_METH = @as(c_int, 1);
pub const OBJ_NAME_TYPE_CIPHER_METH = @as(c_int, 2);
pub const OBJ_R_UNKNOWN_NID = @as(c_int, 100);
pub const OBJ_R_INVALID_OID_STRING = @as(c_int, 101);
+pub const OPENSSL_HEADER_POOL_H = "";
+pub const OPENSSL_HEADER_RSA_H = "";
pub const RSA_PKCS1_PADDING = @as(c_int, 1);
pub const RSA_NO_PADDING = @as(c_int, 3);
pub const RSA_PKCS1_OAEP_PADDING = @as(c_int, 4);
@@ -17210,6 +17189,7 @@ pub const RSA_R_WRONG_SIGNATURE_LENGTH = @as(c_int, 145);
pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED = @as(c_int, 146);
pub const RSA_R_D_OUT_OF_RANGE = @as(c_int, 147);
pub const RSA_R_BLOCK_TYPE_IS_NOT_02 = @as(c_int, 148);
+pub const OPENSSL_HEADER_SHA_H = "";
pub const SHA_CBLOCK = @as(c_int, 64);
pub const SHA_DIGEST_LENGTH = @as(c_int, 20);
pub const SHA224_CBLOCK = @as(c_int, 64);
@@ -17221,6 +17201,23 @@ pub const SHA384_DIGEST_LENGTH = @as(c_int, 48);
pub const SHA512_CBLOCK = @as(c_int, 128);
pub const SHA512_DIGEST_LENGTH = @as(c_int, 64);
pub const SHA512_256_DIGEST_LENGTH = @as(c_int, 32);
+pub const X509_VERSION_1 = @as(c_int, 0);
+pub const X509_VERSION_2 = @as(c_int, 1);
+pub const X509_VERSION_3 = @as(c_int, 2);
+pub const X509_CRL_VERSION_1 = @as(c_int, 0);
+pub const X509_CRL_VERSION_2 = @as(c_int, 1);
+pub const X509_REQ_VERSION_1 = @as(c_int, 0);
+pub inline fn X509_extract_key(x: anytype) @TypeOf(X509_get_pubkey(x)) {
+ return X509_get_pubkey(x);
+}
+pub inline fn X509_REQ_extract_key(a: anytype) @TypeOf(X509_REQ_get_pubkey(a)) {
+ return X509_REQ_get_pubkey(a);
+}
+pub inline fn X509_name_cmp(a: anytype, b: anytype) @TypeOf(X509_NAME_cmp(a, b)) {
+ return X509_NAME_cmp(a, b);
+}
+pub const X509_CRL_set_lastUpdate = X509_CRL_set1_lastUpdate;
+pub const X509_CRL_set_nextUpdate = X509_CRL_set1_nextUpdate;
pub const X509_FILETYPE_PEM = @as(c_int, 1);
pub const X509_FILETYPE_ASN1 = @as(c_int, 2);
pub const X509_FILETYPE_DEFAULT = @as(c_int, 3);
@@ -17282,32 +17279,9 @@ pub const XN_FLAG_FN_ALIGN = @as(c_int, 1) << @as(c_int, 25);
pub const XN_FLAG_RFC2253 = (((ASN1_STRFLGS_RFC2253 | XN_FLAG_SEP_COMMA_PLUS) | XN_FLAG_DN_REV) | XN_FLAG_FN_SN) | XN_FLAG_DUMP_UNKNOWN_FIELDS;
pub const XN_FLAG_ONELINE = (((ASN1_STRFLGS_RFC2253 | ASN1_STRFLGS_ESC_QUOTE) | XN_FLAG_SEP_CPLUS_SPC) | XN_FLAG_SPC_EQ) | XN_FLAG_FN_SN;
pub const XN_FLAG_MULTILINE = ((((ASN1_STRFLGS_ESC_CTRL | ASN1_STRFLGS_ESC_MSB) | XN_FLAG_SEP_MULTILINE) | XN_FLAG_SPC_EQ) | XN_FLAG_FN_LN) | XN_FLAG_FN_ALIGN;
-pub const X509_VERSION_1 = @as(c_int, 0);
-pub const X509_VERSION_2 = @as(c_int, 1);
-pub const X509_VERSION_3 = @as(c_int, 2);
-pub inline fn X509_extract_key(x: anytype) @TypeOf(X509_get_pubkey(x)) {
- return X509_get_pubkey(x);
-}
-pub const X509_REQ_VERSION_1 = @as(c_int, 0);
-pub inline fn X509_REQ_extract_key(a: anytype) @TypeOf(X509_REQ_get_pubkey(a)) {
- return X509_REQ_get_pubkey(a);
-}
-pub inline fn X509_name_cmp(a: anytype, b: anytype) @TypeOf(X509_NAME_cmp(a, b)) {
- return X509_NAME_cmp(a, b);
-}
-pub const X509_CRL_VERSION_1 = @as(c_int, 0);
-pub const X509_CRL_VERSION_2 = @as(c_int, 1);
-pub const X509_CRL_set_lastUpdate = X509_CRL_set1_lastUpdate;
-pub const X509_CRL_set_nextUpdate = X509_CRL_set1_nextUpdate;
pub const X509_LU_X509 = @as(c_int, 1);
pub const X509_LU_CRL = @as(c_int, 2);
pub const X509_LU_PKEY = @as(c_int, 3);
-pub inline fn X509_STORE_CTX_set_app_data(ctx: anytype, data: anytype) @TypeOf(X509_STORE_CTX_set_ex_data(ctx, @as(c_int, 0), data)) {
- return X509_STORE_CTX_set_ex_data(ctx, @as(c_int, 0), data);
-}
-pub inline fn X509_STORE_CTX_get_app_data(ctx: anytype) @TypeOf(X509_STORE_CTX_get_ex_data(ctx, @as(c_int, 0))) {
- return X509_STORE_CTX_get_ex_data(ctx, @as(c_int, 0));
-}
pub const X509_L_FILE_LOAD = @as(c_int, 1);
pub const X509_L_ADD_DIR = @as(c_int, 2);
pub inline fn X509_LOOKUP_load_file(x: anytype, name: anytype, @"type": anytype) @TypeOf(X509_LOOKUP_ctrl(x, X509_L_FILE_LOAD, name, @import("std").zig.c_translation.cast(c_long, @"type"), NULL)) {
@@ -17371,12 +17345,6 @@ pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE = @as(c_int, 51);
pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX = @as(c_int, 52);
pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX = @as(c_int, 53);
pub const X509_V_ERR_CRL_PATH_VALIDATION_ERROR = @as(c_int, 54);
-pub const X509_V_ERR_SUITE_B_INVALID_VERSION = @as(c_int, 56);
-pub const X509_V_ERR_SUITE_B_INVALID_ALGORITHM = @as(c_int, 57);
-pub const X509_V_ERR_SUITE_B_INVALID_CURVE = @as(c_int, 58);
-pub const X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM = @as(c_int, 59);
-pub const X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED = @as(c_int, 60);
-pub const X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 = @as(c_int, 61);
pub const X509_V_ERR_HOSTNAME_MISMATCH = @as(c_int, 62);
pub const X509_V_ERR_EMAIL_MISMATCH = @as(c_int, 63);
pub const X509_V_ERR_IP_ADDRESS_MISMATCH = @as(c_int, 64);
@@ -17399,11 +17367,9 @@ pub const X509_V_FLAG_EXTENDED_CRL_SUPPORT = @as(c_int, 0x1000);
pub const X509_V_FLAG_USE_DELTAS = @as(c_int, 0x2000);
pub const X509_V_FLAG_CHECK_SS_SIGNATURE = @as(c_int, 0x4000);
pub const X509_V_FLAG_TRUSTED_FIRST = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x8000, .hexadecimal);
-pub const X509_V_FLAG_SUITEB_128_LOS_ONLY = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x10000, .hexadecimal);
-pub const X509_V_FLAG_SUITEB_192_LOS = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x20000, .hexadecimal);
-pub const X509_V_FLAG_SUITEB_128_LOS = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x30000, .hexadecimal);
pub const X509_V_FLAG_PARTIAL_CHAIN = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x80000, .hexadecimal);
pub const X509_V_FLAG_NO_ALT_CHAINS = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x100000, .hexadecimal);
+pub const X509_V_FLAG_NO_CHECK_TIME = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x200000, .hexadecimal);
pub const X509_VP_FLAG_DEFAULT = @as(c_int, 0x1);
pub const X509_VP_FLAG_OVERWRITE = @as(c_int, 0x2);
pub const X509_VP_FLAG_RESET_FLAGS = @as(c_int, 0x4);
@@ -17460,6 +17426,11 @@ pub const X509_R_SIGNATURE_ALGORITHM_MISMATCH = @as(c_int, 137);
pub const X509_R_DELTA_CRL_WITHOUT_CRL_NUMBER = @as(c_int, 138);
pub const X509_R_INVALID_FIELD_FOR_VERSION = @as(c_int, 139);
pub const X509_R_INVALID_VERSION = @as(c_int, 140);
+pub const X509_R_NO_CERTIFICATE_FOUND = @as(c_int, 141);
+pub const X509_R_NO_CERTIFICATE_OR_CRL_FOUND = @as(c_int, 142);
+pub const X509_R_NO_CRL_FOUND = @as(c_int, 143);
+pub const OPENSSL_HEADER_CRYPTO_H = "";
+pub const OPENSSL_HEADER_MEM_H = "";
pub const OPENSSL_VERSION_TEXT = "OpenSSL 1.1.1 (compatible; BoringSSL)";
pub const OPENSSL_VERSION = @as(c_int, 0);
pub const OPENSSL_CFLAGS = @as(c_int, 1);
@@ -17523,6 +17494,7 @@ pub const PEM_R_READ_KEY = @as(c_int, 111);
pub const PEM_R_SHORT_HEADER = @as(c_int, 112);
pub const PEM_R_UNSUPPORTED_CIPHER = @as(c_int, 113);
pub const PEM_R_UNSUPPORTED_ENCRYPTION = @as(c_int, 114);
+pub const OPENSSL_HEADER_SSL3_H = "";
pub const SSL2_MT_CLIENT_HELLO = @as(c_int, 1);
pub const SSL2_VERSION = @as(c_int, 0x0002);
pub const SSL3_CK_SCSV = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x030000FF, .hexadecimal);
@@ -17605,6 +17577,7 @@ pub const SSL3_RT_ALERT = @as(c_int, 21);
pub const SSL3_RT_HANDSHAKE = @as(c_int, 22);
pub const SSL3_RT_APPLICATION_DATA = @as(c_int, 23);
pub const SSL3_RT_HEADER = @as(c_int, 0x100);
+pub const SSL3_RT_CLIENT_HELLO_INNER = @as(c_int, 0x101);
pub const SSL3_AL_WARNING = @as(c_int, 1);
pub const SSL3_AL_FATAL = @as(c_int, 2);
pub const SSL3_AD_CLOSE_NOTIFY = @as(c_int, 0);
@@ -17645,6 +17618,7 @@ pub const DTLS1_MT_HELLO_VERIFY_REQUEST = @as(c_int, 3);
pub const SSL3_MT_SERVER_DONE = SSL3_MT_SERVER_HELLO_DONE;
pub const SSL3_MT_NEWSESSION_TICKET = SSL3_MT_NEW_SESSION_TICKET;
pub const SSL3_MT_CCS = @as(c_int, 1);
+pub const OPENSSL_HEADER_TLS1_H = "";
pub const TLS1_AD_END_OF_EARLY_DATA = @as(c_int, 1);
pub const TLS1_AD_DECRYPTION_FAILED = @as(c_int, 21);
pub const TLS1_AD_RECORD_OVERFLOW = @as(c_int, 22);
@@ -17837,9 +17811,12 @@ pub const TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 = @import("std").zig.c_transl
pub const TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x0300CCA8, .hexadecimal);
pub const TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x0300CCA9, .hexadecimal);
pub const TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x0300CCAC, .hexadecimal);
-pub const TLS1_CK_AES_128_GCM_SHA256 = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x03001301, .hexadecimal);
-pub const TLS1_CK_AES_256_GCM_SHA384 = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x03001302, .hexadecimal);
-pub const TLS1_CK_CHACHA20_POLY1305_SHA256 = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x03001303, .hexadecimal);
+pub const TLS1_3_CK_AES_128_GCM_SHA256 = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x03001301, .hexadecimal);
+pub const TLS1_3_CK_AES_256_GCM_SHA384 = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x03001302, .hexadecimal);
+pub const TLS1_3_CK_CHACHA20_POLY1305_SHA256 = @import("std").zig.c_translation.promoteIntLiteral(c_int, 0x03001303, .hexadecimal);
+pub const TLS1_CK_AES_128_GCM_SHA256 = TLS1_3_CK_AES_128_GCM_SHA256;
+pub const TLS1_CK_AES_256_GCM_SHA384 = TLS1_3_CK_AES_256_GCM_SHA384;
+pub const TLS1_CK_CHACHA20_POLY1305_SHA256 = TLS1_3_CK_CHACHA20_POLY1305_SHA256;
pub const TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5 = "EXP1024-RC4-MD5";
pub const TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 = "EXP1024-RC2-CBC-MD5";
pub const TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA = "EXP1024-DES-CBC-SHA";
@@ -17961,9 +17938,12 @@ pub const TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 = "ECDH-RSA-AES256-GCM-SHA38
pub const TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = "ECDHE-RSA-CHACHA20-POLY1305";
pub const TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = "ECDHE-ECDSA-CHACHA20-POLY1305";
pub const TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = "ECDHE-PSK-CHACHA20-POLY1305";
-pub const TLS1_TXT_AES_128_GCM_SHA256 = "TLS_AES_128_GCM_SHA256";
-pub const TLS1_TXT_AES_256_GCM_SHA384 = "TLS_AES_256_GCM_SHA384";
-pub const TLS1_TXT_CHACHA20_POLY1305_SHA256 = "TLS_CHACHA20_POLY1305_SHA256";
+pub const TLS1_3_RFC_AES_128_GCM_SHA256 = "TLS_AES_128_GCM_SHA256";
+pub const TLS1_3_RFC_AES_256_GCM_SHA384 = "TLS_AES_256_GCM_SHA384";
+pub const TLS1_3_RFC_CHACHA20_POLY1305_SHA256 = "TLS_CHACHA20_POLY1305_SHA256";
+pub const TLS1_TXT_AES_128_GCM_SHA256 = TLS1_3_RFC_AES_128_GCM_SHA256;
+pub const TLS1_TXT_AES_256_GCM_SHA384 = TLS1_3_RFC_AES_256_GCM_SHA384;
+pub const TLS1_TXT_CHACHA20_POLY1305_SHA256 = TLS1_3_RFC_CHACHA20_POLY1305_SHA256;
pub const TLS_CT_RSA_SIGN = @as(c_int, 1);
pub const TLS_CT_DSS_SIGN = @as(c_int, 2);
pub const TLS_CT_RSA_FIXED_DH = @as(c_int, 3);
@@ -17972,6 +17952,8 @@ pub const TLS_CT_ECDSA_SIGN = @as(c_int, 64);
pub const TLS_CT_RSA_FIXED_ECDH = @as(c_int, 65);
pub const TLS_CT_ECDSA_FIXED_ECDH = @as(c_int, 66);
pub const TLS_MD_MAX_CONST_SIZE = @as(c_int, 20);
+pub const _SYS_TIME_H_ = "";
+pub const _STRUCT_TIMEVAL64 = "";
pub const ITIMER_REAL = @as(c_int, 0);
pub const ITIMER_VIRTUAL = @as(c_int, 1);
pub const ITIMER_PROF = @as(c_int, 2);
@@ -17988,6 +17970,8 @@ pub inline fn timerisset(tvp: anytype) @TypeOf((tvp.*.tv_sec != 0) or (tvp.*.tv_
pub inline fn timevalcmp(l: anytype, r: anytype, cmp: anytype) @TypeOf(timercmp(l, r, cmp)) {
return timercmp(l, r, cmp);
}
+pub const _SYS__SELECT_H_ = "";
+pub const OPENSSL_HEADER_HMAC_H = "";
pub const SSL_KEY_UPDATE_REQUESTED = @as(c_int, 1);
pub const SSL_KEY_UPDATE_NOT_REQUESTED = @as(c_int, 0);
pub const SSL_ERROR_NONE = @as(c_int, 0);
@@ -18290,13 +18274,13 @@ pub inline fn SSL_get_state(ssl: anytype) @TypeOf(SSL_state(ssl)) {
return SSL_state(ssl);
}
pub inline fn SSL_CTX_set_ecdh_auto(ctx: anytype, onoff: anytype) @TypeOf(@as(c_int, 1)) {
- _ = ctx;
- _ = onoff;
+ _ = @TypeOf(ctx);
+ _ = @TypeOf(onoff);
return @as(c_int, 1);
}
pub inline fn SSL_set_ecdh_auto(ssl: anytype, onoff: anytype) @TypeOf(@as(c_int, 1)) {
- _ = ssl;
- _ = onoff;
+ _ = @TypeOf(ssl);
+ _ = @TypeOf(onoff);
return @as(c_int, 1);
}
pub const SSL_get0_session = SSL_get_session;
@@ -18312,55 +18296,6 @@ pub const SSL_R_TLSV1_UNRECOGNIZED_NAME = SSL_R_TLSV1_ALERT_UNRECOGNIZED_NAME;
pub const SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE = SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_STATUS_RESPONSE;
pub const SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE = SSL_R_TLSV1_ALERT_BAD_CERTIFICATE_HASH_VALUE;
pub const SSL_R_TLSV1_CERTIFICATE_REQUIRED = SSL_R_TLSV1_ALERT_CERTIFICATE_REQUIRED;
-pub const DTLS_CTRL_GET_TIMEOUT = doesnt_exist;
-pub const DTLS_CTRL_HANDLE_TIMEOUT = doesnt_exist;
-pub const SSL_CTRL_CHAIN = doesnt_exist;
-pub const SSL_CTRL_CHAIN_CERT = doesnt_exist;
-pub const SSL_CTRL_CHANNEL_ID = doesnt_exist;
-pub const SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS = doesnt_exist;
-pub const SSL_CTRL_CLEAR_MODE = doesnt_exist;
-pub const SSL_CTRL_CLEAR_OPTIONS = doesnt_exist;
-pub const SSL_CTRL_EXTRA_CHAIN_CERT = doesnt_exist;
-pub const SSL_CTRL_GET_CHAIN_CERTS = doesnt_exist;
-pub const SSL_CTRL_GET_CHANNEL_ID = doesnt_exist;
-pub const SSL_CTRL_GET_CLIENT_CERT_TYPES = doesnt_exist;
-pub const SSL_CTRL_GET_EXTRA_CHAIN_CERTS = doesnt_exist;
-pub const SSL_CTRL_GET_MAX_CERT_LIST = doesnt_exist;
-pub const SSL_CTRL_GET_NUM_RENEGOTIATIONS = doesnt_exist;
-pub const SSL_CTRL_GET_READ_AHEAD = doesnt_exist;
-pub const SSL_CTRL_GET_RI_SUPPORT = doesnt_exist;
-pub const SSL_CTRL_GET_SERVER_TMP_KEY = doesnt_exist;
-pub const SSL_CTRL_GET_SESSION_REUSED = doesnt_exist;
-pub const SSL_CTRL_GET_SESS_CACHE_MODE = doesnt_exist;
-pub const SSL_CTRL_GET_SESS_CACHE_SIZE = doesnt_exist;
-pub const SSL_CTRL_GET_TLSEXT_TICKET_KEYS = doesnt_exist;
-pub const SSL_CTRL_GET_TOTAL_RENEGOTIATIONS = doesnt_exist;
-pub const SSL_CTRL_MODE = doesnt_exist;
-pub const SSL_CTRL_NEED_TMP_RSA = doesnt_exist;
-pub const SSL_CTRL_OPTIONS = doesnt_exist;
-pub const SSL_CTRL_SESS_NUMBER = doesnt_exist;
-pub const SSL_CTRL_SET_CURVES = doesnt_exist;
-pub const SSL_CTRL_SET_CURVES_LIST = doesnt_exist;
-pub const SSL_CTRL_SET_ECDH_AUTO = doesnt_exist;
-pub const SSL_CTRL_SET_MAX_CERT_LIST = doesnt_exist;
-pub const SSL_CTRL_SET_MAX_SEND_FRAGMENT = doesnt_exist;
-pub const SSL_CTRL_SET_MSG_CALLBACK = doesnt_exist;
-pub const SSL_CTRL_SET_MSG_CALLBACK_ARG = doesnt_exist;
-pub const SSL_CTRL_SET_MTU = doesnt_exist;
-pub const SSL_CTRL_SET_READ_AHEAD = doesnt_exist;
-pub const SSL_CTRL_SET_SESS_CACHE_MODE = doesnt_exist;
-pub const SSL_CTRL_SET_SESS_CACHE_SIZE = doesnt_exist;
-pub const SSL_CTRL_SET_TLSEXT_HOSTNAME = doesnt_exist;
-pub const SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG = doesnt_exist;
-pub const SSL_CTRL_SET_TLSEXT_SERVERNAME_CB = doesnt_exist;
-pub const SSL_CTRL_SET_TLSEXT_TICKET_KEYS = doesnt_exist;
-pub const SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB = doesnt_exist;
-pub const SSL_CTRL_SET_TMP_DH = doesnt_exist;
-pub const SSL_CTRL_SET_TMP_DH_CB = doesnt_exist;
-pub const SSL_CTRL_SET_TMP_ECDH = doesnt_exist;
-pub const SSL_CTRL_SET_TMP_ECDH_CB = doesnt_exist;
-pub const SSL_CTRL_SET_TMP_RSA = doesnt_exist;
-pub const SSL_CTRL_SET_TMP_RSA_CB = doesnt_exist;
pub const SSL_R_APP_DATA_IN_HANDSHAKE = @as(c_int, 100);
pub const SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT = @as(c_int, 101);
pub const SSL_R_BAD_ALERT = @as(c_int, 102);
@@ -18580,7 +18515,7 @@ pub const SSL_R_COULD_NOT_PARSE_HINTS = @as(c_int, 316);
pub const SSL_R_INVALID_ECH_PUBLIC_NAME = @as(c_int, 317);
pub const SSL_R_INVALID_ECH_CONFIG_LIST = @as(c_int, 318);
pub const SSL_R_ECH_REJECTED = @as(c_int, 319);
-pub const SSL_R_OUTER_EXTENSION_NOT_FOUND = @as(c_int, 320);
+pub const SSL_R_INVALID_OUTER_EXTENSION = @as(c_int, 320);
pub const SSL_R_INCONSISTENT_ECH_NEGOTIATION = @as(c_int, 321);
pub const SSL_R_SSLV3_ALERT_CLOSE_NOTIFY = @as(c_int, 1000);
pub const SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE = @as(c_int, 1010);
@@ -18635,10 +18570,6 @@ pub const Netscape_spkac_st = struct_Netscape_spkac_st;
pub const X509_algor_st = struct_X509_algor_st;
pub const Netscape_spki_st = struct_Netscape_spki_st;
pub const RIPEMD160state_st = struct_RIPEMD160state_st;
-pub const X509_POLICY_CACHE_st = struct_X509_POLICY_CACHE_st;
-pub const X509_POLICY_LEVEL_st = struct_X509_POLICY_LEVEL_st;
-pub const X509_POLICY_NODE_st = struct_X509_POLICY_NODE_st;
-pub const X509_POLICY_TREE_st = struct_X509_POLICY_TREE_st;
pub const X509_VERIFY_PARAM_st = struct_X509_VERIFY_PARAM_st;
pub const X509_crl_st = struct_X509_crl_st;
pub const X509_extension_st = struct_X509_extension_st;
@@ -18655,7 +18586,6 @@ pub const dh_st = struct_dh_st;
pub const ec_key_st = struct_ec_key_st;
pub const evp_pkey_asn1_method_st = struct_evp_pkey_asn1_method_st;
pub const evp_pkey_st = struct_evp_pkey_st;
-pub const evp_cipher_ctx_st = struct_evp_cipher_ctx_st;
pub const evp_cipher_st = struct_evp_cipher_st;
pub const evp_cipher_info_st = struct_evp_cipher_info_st;
pub const private_key_st = struct_private_key_st;
@@ -18671,6 +18601,7 @@ pub const blake2b_state_st = struct_blake2b_state_st;
pub const bn_gencb_st = struct_bn_gencb_st;
pub const buf_mem_st = struct_buf_mem_st;
pub const cbb_buffer_st = struct_cbb_buffer_st;
+pub const cbb_child_st = struct_cbb_child_st;
pub const cbb_st = struct_cbb_st;
pub const cbs_st = struct_cbs_st;
pub const cmac_ctx_st = struct_cmac_ctx_st;
@@ -18678,6 +18609,7 @@ pub const conf_st = struct_conf_st;
pub const conf_value_st = struct_conf_value_st;
pub const crypto_buffer_pool_st = struct_crypto_buffer_pool_st;
pub const crypto_buffer_st = struct_crypto_buffer_st;
+pub const ctr_drbg_state_st = struct_ctr_drbg_state_st;
pub const ec_group_st = struct_ec_group_st;
pub const ec_point_st = struct_ec_point_st;
pub const ecdsa_method_st = struct_ecdsa_method_st;
@@ -18688,6 +18620,9 @@ pub const evp_pkey_ctx_st = struct_evp_pkey_ctx_st;
pub const evp_md_pctx_ops = struct_evp_md_pctx_ops;
pub const env_md_ctx_st = struct_env_md_ctx_st;
pub const evp_aead_st = struct_evp_aead_st;
+pub const evp_aead_ctx_st_state = union_evp_aead_ctx_st_state;
+pub const evp_aead_ctx_st = struct_evp_aead_ctx_st;
+pub const evp_cipher_ctx_st = struct_evp_cipher_ctx_st;
pub const evp_encode_ctx_st = struct_evp_encode_ctx_st;
pub const evp_hpke_aead_st = struct_evp_hpke_aead_st;
pub const evp_hpke_ctx_st = struct_evp_hpke_ctx_st;
@@ -18710,8 +18645,8 @@ pub const sha_state_st = struct_sha_state_st;
pub const spake2_ctx_st = struct_spake2_ctx_st;
pub const srtp_protection_profile_st = struct_srtp_protection_profile_st;
pub const ssl_cipher_st = struct_ssl_cipher_st;
-pub const ssl_ctx_st = SSL_CTX;
-pub const ssl_st = SSL;
+// pub const ssl_ctx_st = struct_ssl_ctx_st;
+// pub const ssl_st = struct_ssl_st;
pub const ssl_early_callback_ctx = struct_ssl_early_callback_ctx;
pub const ssl_ech_keys_st = struct_ssl_ech_keys_st;
pub const ssl_method_st = struct_ssl_method_st;
@@ -18729,30 +18664,23 @@ pub const trust_token_issuer_st = struct_trust_token_issuer_st;
pub const trust_token_method_st = struct_trust_token_method_st;
pub const v3_ext_ctx = struct_v3_ext_ctx;
pub const x509_attributes_st = struct_x509_attributes_st;
-pub const x509_cert_aux_st = struct_x509_cert_aux_st;
-pub const x509_crl_method_st = struct_x509_crl_method_st;
pub const x509_lookup_st = struct_x509_lookup_st;
pub const x509_lookup_method_st = struct_x509_lookup_method_st;
pub const x509_object_st = struct_x509_object_st;
-pub const stack_st_X509_EXTENSION = struct_stack_st_X509_EXTENSION;
-pub const stack_st_GENERAL_NAME = struct_stack_st_GENERAL_NAME;
pub const x509_revoked_st = struct_x509_revoked_st;
pub const x509_store_ctx_st = struct_x509_store_ctx_st;
pub const x509_store_st = struct_x509_store_st;
pub const x509_trust_st = struct_x509_trust_st;
pub const __sbuf = struct___sbuf;
-pub const __sFILEX = struct___sFILEX;
-pub const __sFILE = struct___sFILE;
pub const stack_st = struct_stack_st;
pub const stack_st_OPENSSL_STRING = struct_stack_st_OPENSSL_STRING;
pub const CRYPTO_dynlock_value = struct_CRYPTO_dynlock_value;
pub const stack_st_BIO = struct_stack_st_BIO;
-pub const evp_aead_ctx_st_state = union_evp_aead_ctx_st_state;
-pub const evp_aead_ctx_st = struct_evp_aead_ctx_st;
pub const evp_aead_direction_t = enum_evp_aead_direction_t;
pub const stack_st_CRYPTO_BUFFER = struct_stack_st_CRYPTO_BUFFER;
pub const stack_st_X509 = struct_stack_st_X509;
pub const stack_st_X509_CRL = struct_stack_st_X509_CRL;
+pub const timespec = struct_timespec;
pub const tm = struct_tm;
pub const bn_primality_result_t = enum_bn_primality_result_t;
pub const stack_st_ASN1_INTEGER = struct_stack_st_ASN1_INTEGER;
@@ -18760,21 +18688,21 @@ pub const stack_st_ASN1_OBJECT = struct_stack_st_ASN1_OBJECT;
pub const stack_st_ASN1_TYPE = struct_stack_st_ASN1_TYPE;
pub const ec_method_st = struct_ec_method_st;
pub const obj_name_st = struct_obj_name_st;
-pub const stack_st_X509_ALGOR = struct_stack_st_X509_ALGOR;
+pub const stack_st_X509_EXTENSION = struct_stack_st_X509_EXTENSION;
+pub const stack_st_X509_REVOKED = struct_stack_st_X509_REVOKED;
pub const stack_st_X509_NAME_ENTRY = struct_stack_st_X509_NAME_ENTRY;
pub const stack_st_X509_NAME = struct_stack_st_X509_NAME;
+pub const stack_st_X509_ALGOR = struct_stack_st_X509_ALGOR;
pub const stack_st_X509_ATTRIBUTE = struct_stack_st_X509_ATTRIBUTE;
pub const stack_st_DIST_POINT = struct_stack_st_DIST_POINT;
+pub const stack_st_GENERAL_NAME = struct_stack_st_GENERAL_NAME;
pub const stack_st_X509_TRUST = struct_stack_st_X509_TRUST;
-pub const stack_st_X509_REVOKED = struct_stack_st_X509_REVOKED;
pub const stack_st_GENERAL_NAMES = struct_stack_st_GENERAL_NAMES;
pub const AUTHORITY_INFO_ACCESS = struct_stack_st_ACCESS_DESCRIPTION;
pub const stack_st_X509_INFO = struct_stack_st_X509_INFO;
pub const stack_st_X509_LOOKUP = struct_stack_st_X509_LOOKUP;
pub const stack_st_X509_OBJECT = struct_stack_st_X509_OBJECT;
pub const stack_st_X509_VERIFY_PARAM = struct_stack_st_X509_VERIFY_PARAM;
-pub const stack_st_X509_POLICY_NODE = struct_stack_st_X509_POLICY_NODE;
-pub const stack_st_POLICYQUALINFO = struct_stack_st_POLICYQUALINFO;
pub const fips_counter_t = enum_fips_counter_t;
pub const stack_st_SSL_CIPHER = struct_stack_st_SSL_CIPHER;
pub const ssl_verify_result_t = enum_ssl_verify_result_t;
@@ -18785,6 +18713,7 @@ pub const ssl_select_cert_result_t = enum_ssl_select_cert_result_t;
pub const ssl_comp_st = struct_ssl_comp_st;
pub const stack_st_SSL_COMP = struct_stack_st_SSL_COMP;
pub const ssl_conf_ctx_st = struct_ssl_conf_ctx_st;
+pub const ssl_compliance_policy_t = enum_ssl_compliance_policy_t;
pub extern fn RAND_bytes(buf: [*]u8, len: usize) c_int;
@@ -18799,7 +18728,23 @@ pub extern fn RAND_bytes(buf: [*]u8, len: usize) c_int;
/// Hence, this function should never be called by libraries.
pub extern fn RAND_enable_fork_unsafe_buffering(c_int) void;
-// Manual modification
+pub extern fn SSL_new(ctx: ?*SSL_CTX) *SSL;
+
+pub extern fn EVP_md4() *const EVP_MD;
+pub extern fn EVP_md5() *const EVP_MD;
+pub extern fn EVP_sha1() *const EVP_MD;
+pub extern fn EVP_sha224() *const EVP_MD;
+pub extern fn EVP_sha256() *const EVP_MD;
+pub extern fn EVP_sha384() *const EVP_MD;
+pub extern fn EVP_sha512() *const EVP_MD;
+pub extern fn EVP_sha512_256() *const EVP_MD;
+
+pub extern fn EVP_blake2b256() *const EVP_MD;
+
+pub extern fn ERR_clear_error() void;
+pub extern fn ERR_set_mark() c_int;
+pub extern fn ERR_pop_to_mark() c_int;
+pub extern fn ERR_get_next_error_library() c_int;
pub const struct_bio_st = extern struct {
method: [*c]const BIO_METHOD,
@@ -18843,18 +18788,18 @@ pub const struct_bio_st = extern struct {
}
pub fn write(this: *struct_bio_st, buffer: []const u8) !usize {
- const rc = BIO_write(this, buffer.ptr, @intCast(c_int, buffer.len));
+ const rc = BIO_write(this, buffer.ptr, @as(c_int, @intCast(buffer.len)));
return if (rc > -1)
- return @intCast(usize, rc)
+ return @as(usize, @intCast(rc))
else
return error.Fail;
}
pub fn read(this: *struct_bio_st, buffer: []u8) !usize {
- const rc = BIO_read(this, buffer.ptr, @intCast(c_int, buffer.len));
+ const rc = BIO_read(this, buffer.ptr, @as(c_int, @intCast(buffer.len)));
return if (rc > -1)
- return @intCast(usize, rc)
+ return @as(usize, @intCast(rc))
else
return error.Fail;
}
@@ -18900,7 +18845,7 @@ pub const SSL = opaque {
}
pub inline fn pending(ssl: *SSL) usize {
- return @intCast(usize, SSL_pending(ssl));
+ return @as(usize, @intCast(SSL_pending(ssl)));
}
pub inline fn hasPending(ssl: *SSL) bool {
@@ -18977,7 +18922,7 @@ pub const SSL = opaque {
const Environment = @import("root").bun.Environment;
pub fn read(this: *SSL, buf: []u8) Error!usize {
- const rc = SSL_read(this, buf.ptr, @intCast(c_int, buf.len));
+ const rc = SSL_read(this, buf.ptr, @as(c_int, @intCast(buf.len)));
return switch (SSL_get_error(this, rc)) {
SSL_ERROR_SSL => error.SSL,
SSL_ERROR_WANT_READ => error.WantRead,
@@ -18998,12 +18943,12 @@ pub const SSL = opaque {
SSL_ERROR_HANDBACK => error.Handback,
SSL_ERROR_WANT_RENEGOTIATE => error.WantRenegotiate,
SSL_ERROR_HANDSHAKE_HINTS_READY => error.HandshakeHintsReady,
- else => @intCast(usize, rc),
+ else => @as(usize, @intCast(rc)),
};
}
pub fn write(this: *SSL, buf: []const u8) Error!u32 {
- const rc = SSL_write(this, buf.ptr, @intCast(c_int, buf.len));
+ const rc = SSL_write(this, buf.ptr, @as(c_int, @intCast(buf.len)));
return switch (SSL_get_error(this, rc)) {
SSL_ERROR_SSL => {
if (comptime Environment.isDebug) {
@@ -19030,7 +18975,7 @@ pub const SSL = opaque {
SSL_ERROR_HANDBACK => error.Handback,
SSL_ERROR_WANT_RENEGOTIATE => error.WantRenegotiate,
SSL_ERROR_HANDSHAKE_HINTS_READY => error.HandshakeHintsReady,
- else => @intCast(u32, rc),
+ else => @as(u32, @intCast(rc)),
};
}
@@ -19049,6 +18994,15 @@ pub const SSL = opaque {
}
};
+pub const VerifyResult = enum(c_int) {
+ ok = 0,
+ invalid = 1,
+ retry = 2,
+};
+pub const VerifyCallback = *const fn (*SSL, [*c]u8) callconv(.C) VerifyResult;
+
+pub extern fn SSL_CTX_set_custom_verify(ctx: ?*SSL_CTX, mode: c_int, callback: ?VerifyCallback) void;
+
pub const SSL_CTX = opaque {
pub fn init() ?*SSL_CTX {
var ctx = SSL_CTX_new(TLS_with_buffers_method()) orelse return null;
@@ -19143,6 +19097,6 @@ pub fn getError(this: *SSL, rc: c_int) SSL.Error!u32 {
SSL_ERROR_HANDBACK => error.Handback,
SSL_ERROR_WANT_RENEGOTIATE => error.WantRenegotiate,
SSL_ERROR_HANDSHAKE_HINTS_READY => error.HandshakeHintsReady,
- else => @intCast(u32, rc),
+ else => @as(u32, @intCast(rc)),
};
}
diff --git a/src/deps/c_ares.zig b/src/deps/c_ares.zig
index 7813ff5e4..a8ad9f02b 100644
--- a/src/deps/c_ares.zig
+++ b/src/deps/c_ares.zig
@@ -400,7 +400,7 @@ pub const Channel = opaque {
const SockStateWrap = struct {
pub fn onSockState(ctx: ?*anyopaque, socket: ares_socket_t, readable: c_int, writable: c_int) callconv(.C) void {
var container = bun.cast(*Container, ctx.?);
- Container.onDNSSocketState(container, @intCast(i32, socket), readable != 0, writable != 0);
+ Container.onDNSSocketState(container, @as(i32, @intCast(socket)), readable != 0, writable != 0);
}
};
@@ -408,7 +408,7 @@ pub const Channel = opaque {
opts.flags = ARES_FLAG_NOCHECKRESP;
opts.sock_state_cb = &SockStateWrap.onSockState;
- opts.sock_state_cb_data = @ptrCast(*anyopaque, this);
+ opts.sock_state_cb_data = @as(*anyopaque, @ptrCast(this));
opts.timeout = 1000;
opts.tries = 3;
@@ -1210,8 +1210,8 @@ pub const Error = enum(i32) {
ESERVICE = ARES_ESERVICE,
pub fn initEAI(rc: i32) ?Error {
- return switch (@enumFromInt(std.os.system.EAI, rc)) {
- @enumFromInt(std.os.system.EAI, 0) => return null,
+ return switch (@as(std.os.system.EAI, @enumFromInt(rc))) {
+ @as(std.os.system.EAI, @enumFromInt(0)) => return null,
.ADDRFAMILY => Error.EBADFAMILY,
.BADFLAGS => Error.EBADFLAGS, // Invalid hints
.FAIL => Error.EBADRESP,
@@ -1284,8 +1284,8 @@ pub const Error = enum(i32) {
pub fn get(rc: i32) ?Error {
return switch (rc) {
0 => null,
- 1...ARES_ESERVICE => @enumFromInt(Error, rc),
- -ARES_ESERVICE...-1 => @enumFromInt(Error, -rc),
+ 1...ARES_ESERVICE => @as(Error, @enumFromInt(rc)),
+ -ARES_ESERVICE...-1 => @as(Error, @enumFromInt(-rc)),
else => unreachable,
};
}
diff --git a/src/deps/diffz/DiffMatchPatch.zig b/src/deps/diffz/DiffMatchPatch.zig
index a5cc02af4..9ce736d15 100644
--- a/src/deps/diffz/DiffMatchPatch.zig
+++ b/src/deps/diffz/DiffMatchPatch.zig
@@ -106,7 +106,7 @@ pub fn diff(
const deadline = if (dmp.diff_timeout == 0)
std.math.maxInt(u64)
else
- @intCast(u64, std.time.milliTimestamp()) + dmp.diff_timeout;
+ @as(u64, @intCast(std.time.milliTimestamp())) + dmp.diff_timeout;
return dmp.diffInternal(allocator, before, after, check_lines, deadline);
}
@@ -124,7 +124,7 @@ pub fn diffLines(
const deadline = if (dmp.diff_timeout == 0)
std.math.maxInt(u64)
else
- @intCast(u64, std.time.milliTimestamp()) + dmp.diff_timeout;
+ @as(u64, @intCast(std.time.milliTimestamp())) + dmp.diff_timeout;
var a = try diffLinesToChars(allocator, text1_in, text2_in);
var diffs = try dmp.diffInternal(allocator, a.chars_1, a.chars_2, false, deadline);
@@ -389,20 +389,20 @@ fn diffHalfMatchInternal(
var best_short_text_b: []const u8 = "";
while (j < short_text.len and b: {
- j = @intCast(isize, std.mem.indexOf(u8, short_text[@intCast(usize, j + 1)..], seed) orelse break :b false) + j + 1;
+ j = @as(isize, @intCast(std.mem.indexOf(u8, short_text[@as(usize, @intCast(j + 1))..], seed) orelse break :b false)) + j + 1;
break :b true;
}) {
- var prefix_length = diffCommonPrefix(long_text[i..], short_text[@intCast(usize, j)..]);
- var suffix_length = diffCommonSuffix(long_text[0..i], short_text[0..@intCast(usize, j)]);
+ var prefix_length = diffCommonPrefix(long_text[i..], short_text[@as(usize, @intCast(j))..]);
+ var suffix_length = diffCommonSuffix(long_text[0..i], short_text[0..@as(usize, @intCast(j))]);
if (best_common.items.len < suffix_length + prefix_length) {
best_common.items.len = 0;
- try best_common.appendSlice(allocator, short_text[@intCast(usize, j - @intCast(isize, suffix_length)) .. @intCast(usize, j - @intCast(isize, suffix_length)) + suffix_length]);
- try best_common.appendSlice(allocator, short_text[@intCast(usize, j) .. @intCast(usize, j) + prefix_length]);
+ try best_common.appendSlice(allocator, short_text[@as(usize, @intCast(j - @as(isize, @intCast(suffix_length)))) .. @as(usize, @intCast(j - @as(isize, @intCast(suffix_length)))) + suffix_length]);
+ try best_common.appendSlice(allocator, short_text[@as(usize, @intCast(j)) .. @as(usize, @intCast(j)) + prefix_length]);
best_long_text_a = long_text[0 .. i - suffix_length];
best_long_text_b = long_text[i + prefix_length ..];
- best_short_text_a = short_text[0..@intCast(usize, j - @intCast(isize, suffix_length))];
- best_short_text_b = short_text[@intCast(usize, j + @intCast(isize, prefix_length))..];
+ best_short_text_a = short_text[0..@as(usize, @intCast(j - @as(isize, @intCast(suffix_length))))];
+ best_short_text_b = short_text[@as(usize, @intCast(j + @as(isize, @intCast(prefix_length))))..];
}
}
if (best_common.items.len * 2 >= long_text.len) {
@@ -432,24 +432,24 @@ fn diffBisect(
after: []const u8,
deadline: u64,
) DiffError!DiffList {
- const before_length = @intCast(isize, before.len);
- const after_length = @intCast(isize, after.len);
- const max_d = @intCast(isize, (before.len + after.len + 1) / 2);
+ const before_length = @as(isize, @intCast(before.len));
+ const after_length = @as(isize, @intCast(after.len));
+ const max_d = @as(isize, @intCast((before.len + after.len + 1) / 2));
const v_offset = max_d;
const v_length = 2 * max_d;
- var v1 = try ArrayListUnmanaged(isize).initCapacity(allocator, @intCast(usize, v_length));
- v1.items.len = @intCast(usize, v_length);
- var v2 = try ArrayListUnmanaged(isize).initCapacity(allocator, @intCast(usize, v_length));
- v2.items.len = @intCast(usize, v_length);
+ var v1 = try ArrayListUnmanaged(isize).initCapacity(allocator, @as(usize, @intCast(v_length)));
+ v1.items.len = @as(usize, @intCast(v_length));
+ var v2 = try ArrayListUnmanaged(isize).initCapacity(allocator, @as(usize, @intCast(v_length)));
+ v2.items.len = @as(usize, @intCast(v_length));
var x: usize = 0;
while (x < v_length) : (x += 1) {
v1.items[x] = -1;
v2.items[x] = -1;
}
- v1.items[@intCast(usize, v_offset + 1)] = 0;
- v2.items[@intCast(usize, v_offset + 1)] = 0;
+ v1.items[@as(usize, @intCast(v_offset + 1))] = 0;
+ v2.items[@as(usize, @intCast(v_offset + 1))] = 0;
const delta = before_length - after_length;
// If the total number of characters is odd, then the front path will
// collide with the reverse path.
@@ -464,7 +464,7 @@ fn diffBisect(
var d: isize = 0;
while (d < max_d) : (d += 1) {
// Bail out if deadline is reached.
- if (@intCast(u64, std.time.milliTimestamp()) > deadline) {
+ if (@as(u64, @intCast(std.time.milliTimestamp())) > deadline) {
break;
}
@@ -474,20 +474,20 @@ fn diffBisect(
var k1_offset = v_offset + k1;
var x1: isize = 0;
if (k1 == -d or (k1 != d and
- v1.items[@intCast(usize, k1_offset - 1)] < v1.items[@intCast(usize, k1_offset + 1)]))
+ v1.items[@as(usize, @intCast(k1_offset - 1))] < v1.items[@as(usize, @intCast(k1_offset + 1))]))
{
- x1 = v1.items[@intCast(usize, k1_offset + 1)];
+ x1 = v1.items[@as(usize, @intCast(k1_offset + 1))];
} else {
- x1 = v1.items[@intCast(usize, k1_offset - 1)] + 1;
+ x1 = v1.items[@as(usize, @intCast(k1_offset - 1))] + 1;
}
var y1 = x1 - k1;
while (x1 < before_length and
- y1 < after_length and before[@intCast(usize, x1)] == after[@intCast(usize, y1)])
+ y1 < after_length and before[@as(usize, @intCast(x1))] == after[@as(usize, @intCast(y1))])
{
x1 += 1;
y1 += 1;
}
- v1.items[@intCast(usize, k1_offset)] = x1;
+ v1.items[@as(usize, @intCast(k1_offset))] = x1;
if (x1 > before_length) {
// Ran off the right of the graph.
k1end += 2;
@@ -496,9 +496,9 @@ fn diffBisect(
k1start += 2;
} else if (front) {
var k2_offset = v_offset + delta - k1;
- if (k2_offset >= 0 and k2_offset < v_length and v2.items[@intCast(usize, k2_offset)] != -1) {
+ if (k2_offset >= 0 and k2_offset < v_length and v2.items[@as(usize, @intCast(k2_offset))] != -1) {
// Mirror x2 onto top-left coordinate system.
- const x2 = before_length - v2.items[@intCast(usize, k2_offset)];
+ const x2 = before_length - v2.items[@as(usize, @intCast(k2_offset))];
if (x1 >= x2) {
// Overlap detected.
return dmp.diffBisectSplit(allocator, before, after, x1, y1, deadline);
@@ -513,21 +513,21 @@ fn diffBisect(
const k2_offset = v_offset + k2;
var x2: isize = 0;
if (k2 == -d or (k2 != d and
- v2.items[@intCast(usize, k2_offset - 1)] < v2.items[@intCast(usize, k2_offset + 1)]))
+ v2.items[@as(usize, @intCast(k2_offset - 1))] < v2.items[@as(usize, @intCast(k2_offset + 1))]))
{
- x2 = v2.items[@intCast(usize, k2_offset + 1)];
+ x2 = v2.items[@as(usize, @intCast(k2_offset + 1))];
} else {
- x2 = v2.items[@intCast(usize, k2_offset - 1)] + 1;
+ x2 = v2.items[@as(usize, @intCast(k2_offset - 1))] + 1;
}
var y2: isize = x2 - k2;
while (x2 < before_length and y2 < after_length and
- before[@intCast(usize, before_length - x2 - 1)] ==
- after[@intCast(usize, after_length - y2 - 1)])
+ before[@as(usize, @intCast(before_length - x2 - 1))] ==
+ after[@as(usize, @intCast(after_length - y2 - 1))])
{
x2 += 1;
y2 += 1;
}
- v2.items[@intCast(usize, k2_offset)] = x2;
+ v2.items[@as(usize, @intCast(k2_offset))] = x2;
if (x2 > before_length) {
// Ran off the left of the graph.
k2end += 2;
@@ -536,11 +536,11 @@ fn diffBisect(
k2start += 2;
} else if (!front) {
const k1_offset = v_offset + delta - k2;
- if (k1_offset >= 0 and k1_offset < v_length and v1.items[@intCast(usize, k1_offset)] != -1) {
- const x1 = v1.items[@intCast(usize, k1_offset)];
+ if (k1_offset >= 0 and k1_offset < v_length and v1.items[@as(usize, @intCast(k1_offset))] != -1) {
+ const x1 = v1.items[@as(usize, @intCast(k1_offset))];
const y1 = v_offset + x1 - k1_offset;
// Mirror x2 onto top-left coordinate system.
- x2 = before_length - v2.items[@intCast(usize, k2_offset)];
+ x2 = before_length - v2.items[@as(usize, @intCast(k2_offset))];
if (x1 >= x2) {
// Overlap detected.
return dmp.diffBisectSplit(allocator, before, after, x1, y1, deadline);
@@ -574,10 +574,10 @@ fn diffBisectSplit(
y: isize,
deadline: u64,
) DiffError!DiffList {
- const text1a = text1[0..@intCast(usize, x)];
- const text2a = text2[0..@intCast(usize, y)];
- const text1b = text1[@intCast(usize, x)..];
- const text2b = text2[@intCast(usize, y)..];
+ const text1a = text1[0..@as(usize, @intCast(x))];
+ const text2a = text2[0..@as(usize, @intCast(y))];
+ const text1b = text1[@as(usize, @intCast(x))..];
+ const text2b = text2[@as(usize, @intCast(y))..];
// Compute both diffs serially.
var diffs = try dmp.diffInternal(allocator, text1a, text2a, false, deadline);
@@ -726,24 +726,24 @@ fn diffLinesToCharsMunge(
// Walk the text, pulling out a Substring for each line.
// text.split('\n') would would temporarily double our memory footprint.
// Modifying text would create many large strings to garbage collect.
- while (line_end < @intCast(isize, text.len) - 1) {
+ while (line_end < @as(isize, @intCast(text.len)) - 1) {
line_end = b: {
- break :b @intCast(isize, std.mem.indexOf(u8, text[@intCast(usize, line_start)..], "\n") orelse
- break :b @intCast(isize, text.len - 1)) + line_start;
+ break :b @as(isize, @intCast(std.mem.indexOf(u8, text[@as(usize, @intCast(line_start))..], "\n") orelse
+ break :b @as(isize, @intCast(text.len - 1)))) + line_start;
};
- line = text[@intCast(usize, line_start) .. @intCast(usize, line_start) + @intCast(usize, line_end + 1 - line_start)];
+ line = text[@as(usize, @intCast(line_start)) .. @as(usize, @intCast(line_start)) + @as(usize, @intCast(line_end + 1 - line_start))];
if (line_hash.get(line)) |value| {
- try chars.append(allocator, @intCast(u8, value));
+ try chars.append(allocator, @as(u8, @intCast(value)));
} else {
if (line_array.items.len == max_lines) {
// Bail out at 255 because char 256 == char 0.
- line = text[@intCast(usize, line_start)..];
- line_end = @intCast(isize, text.len);
+ line = text[@as(usize, @intCast(line_start))..];
+ line_end = @as(isize, @intCast(text.len));
}
try line_array.append(allocator, line);
try line_hash.put(allocator, line, line_array.items.len - 1);
- try chars.append(allocator, @intCast(u8, line_array.items.len - 1));
+ try chars.append(allocator, @as(u8, @intCast(line_array.items.len - 1)));
}
line_start = line_end + 1;
}
@@ -980,18 +980,18 @@ fn diffCleanupSemantic(allocator: std.mem.Allocator, diffs: *DiffList) DiffError
var length_insertions2: usize = 0;
var length_deletions2: usize = 0;
while (pointer < diffs.items.len) {
- if (diffs.items[@intCast(usize, pointer)].operation == .equal) { // Equality found.
+ if (diffs.items[@as(usize, @intCast(pointer))].operation == .equal) { // Equality found.
try equalities.append(allocator, pointer);
length_insertions1 = length_insertions2;
length_deletions1 = length_deletions2;
length_insertions2 = 0;
length_deletions2 = 0;
- last_equality = diffs.items[@intCast(usize, pointer)].text;
+ last_equality = diffs.items[@as(usize, @intCast(pointer))].text;
} else { // an insertion or deletion
- if (diffs.items[@intCast(usize, pointer)].operation == .insert) {
- length_insertions2 += diffs.items[@intCast(usize, pointer)].text.len;
+ if (diffs.items[@as(usize, @intCast(pointer))].operation == .insert) {
+ length_insertions2 += diffs.items[@as(usize, @intCast(pointer))].text.len;
} else {
- length_deletions2 += diffs.items[@intCast(usize, pointer)].text.len;
+ length_deletions2 += diffs.items[@as(usize, @intCast(pointer))].text.len;
}
// Eliminate an equality that is smaller or equal to the edits on both
// sides of it.
@@ -1002,11 +1002,11 @@ fn diffCleanupSemantic(allocator: std.mem.Allocator, diffs: *DiffList) DiffError
// Duplicate record.
try diffs.insert(
allocator,
- @intCast(usize, equalities.items[equalities.items.len - 1]),
+ @as(usize, @intCast(equalities.items[equalities.items.len - 1])),
Diff.init(.delete, try allocator.dupe(u8, last_equality.?)),
);
// Change second copy to insert.
- diffs.items[@intCast(usize, equalities.items[equalities.items.len - 1] + 1)].operation = .insert;
+ diffs.items[@as(usize, @intCast(equalities.items[equalities.items.len - 1] + 1))].operation = .insert;
// Throw away the equality we just deleted.
_ = equalities.pop();
if (equalities.items.len > 0) {
@@ -1038,46 +1038,46 @@ fn diffCleanupSemantic(allocator: std.mem.Allocator, diffs: *DiffList) DiffError
// Only extract an overlap if it is as big as the edit ahead or behind it.
pointer = 1;
while (pointer < diffs.items.len) {
- if (diffs.items[@intCast(usize, pointer - 1)].operation == .delete and
- diffs.items[@intCast(usize, pointer)].operation == .insert)
+ if (diffs.items[@as(usize, @intCast(pointer - 1))].operation == .delete and
+ diffs.items[@as(usize, @intCast(pointer))].operation == .insert)
{
- const deletion = diffs.items[@intCast(usize, pointer - 1)].text;
- const insertion = diffs.items[@intCast(usize, pointer)].text;
+ const deletion = diffs.items[@as(usize, @intCast(pointer - 1))].text;
+ const insertion = diffs.items[@as(usize, @intCast(pointer))].text;
var overlap_length1: usize = diffCommonOverlap(deletion, insertion);
var overlap_length2: usize = diffCommonOverlap(insertion, deletion);
if (overlap_length1 >= overlap_length2) {
- if (@floatFromInt(f32, overlap_length1) >= @floatFromInt(f32, deletion.len) / 2.0 or
- @floatFromInt(f32, overlap_length1) >= @floatFromInt(f32, insertion.len) / 2.0)
+ if (@as(f32, @floatFromInt(overlap_length1)) >= @as(f32, @floatFromInt(deletion.len)) / 2.0 or
+ @as(f32, @floatFromInt(overlap_length1)) >= @as(f32, @floatFromInt(insertion.len)) / 2.0)
{
// Overlap found.
// Insert an equality and trim the surrounding edits.
try diffs.insert(
allocator,
- @intCast(usize, pointer),
+ @as(usize, @intCast(pointer)),
Diff.init(.equal, try allocator.dupe(u8, insertion[0..overlap_length1])),
);
- diffs.items[@intCast(usize, pointer - 1)].text =
+ diffs.items[@as(usize, @intCast(pointer - 1))].text =
try allocator.dupe(u8, deletion[0 .. deletion.len - overlap_length1]);
- diffs.items[@intCast(usize, pointer + 1)].text =
+ diffs.items[@as(usize, @intCast(pointer + 1))].text =
try allocator.dupe(u8, insertion[overlap_length1..]);
pointer += 1;
}
} else {
- if (@floatFromInt(f32, overlap_length2) >= @floatFromInt(f32, deletion.len) / 2.0 or
- @floatFromInt(f32, overlap_length2) >= @floatFromInt(f32, insertion.len) / 2.0)
+ if (@as(f32, @floatFromInt(overlap_length2)) >= @as(f32, @floatFromInt(deletion.len)) / 2.0 or
+ @as(f32, @floatFromInt(overlap_length2)) >= @as(f32, @floatFromInt(insertion.len)) / 2.0)
{
// Reverse overlap found.
// Insert an equality and swap and trim the surrounding edits.
try diffs.insert(
allocator,
- @intCast(usize, pointer),
+ @as(usize, @intCast(pointer)),
Diff.init(.equal, try allocator.dupe(u8, deletion[0..overlap_length2])),
);
- diffs.items[@intCast(usize, pointer - 1)].operation = .insert;
- diffs.items[@intCast(usize, pointer - 1)].text =
+ diffs.items[@as(usize, @intCast(pointer - 1))].operation = .insert;
+ diffs.items[@as(usize, @intCast(pointer - 1))].text =
try allocator.dupe(u8, insertion[0 .. insertion.len - overlap_length2]);
- diffs.items[@intCast(usize, pointer + 1)].operation = .delete;
- diffs.items[@intCast(usize, pointer + 1)].text =
+ diffs.items[@as(usize, @intCast(pointer + 1))].operation = .delete;
+ diffs.items[@as(usize, @intCast(pointer + 1))].text =
try allocator.dupe(u8, deletion[overlap_length2..]);
pointer += 1;
}
@@ -1097,7 +1097,7 @@ pub fn diffCleanupSemanticLossless(
) DiffError!void {
var pointer: usize = 1;
// Intentionally ignore the first and last element (don't need checking).
- while (pointer < @intCast(isize, diffs.items.len) - 1) {
+ while (pointer < @as(isize, @intCast(diffs.items.len)) - 1) {
if (diffs.items[pointer - 1].operation == .equal and
diffs.items[pointer + 1].operation == .equal)
{
diff --git a/src/deps/lol-html.zig b/src/deps/lol-html.zig
index bac422fb0..cd183ee5f 100644
--- a/src/deps/lol-html.zig
+++ b/src/deps/lol-html.zig
@@ -257,7 +257,7 @@ pub const HTMLRewriter = opaque {
auto_disable();
@setRuntimeSafety(false);
- var this = @ptrCast(*OutputSinkType, @alignCast(@alignOf(*OutputSinkType), user_data));
+ var this = @as(*OutputSinkType, @ptrCast(@alignCast(user_data)));
switch (len) {
0 => Done(this),
else => Writer(this, ptr[0..len]),
@@ -374,7 +374,7 @@ pub const TextChunk = opaque {
}
pub fn getUserData(this: *const TextChunk, comptime Type: type) ?*Type {
auto_disable();
- return @ptrCast(?*Type, @alignCast(@alignOf(?*Type), this.lol_html_text_chunk_user_data_get()));
+ return @as(?*Type, @ptrCast(@alignCast(this.lol_html_text_chunk_user_data_get())));
}
};
pub const Element = opaque {
@@ -499,7 +499,7 @@ pub const Element = opaque {
}
pub fn getUserData(element: *const Element, comptime Type: type) ?*Type {
auto_disable();
- return @ptrCast(?*Element, @alignCast(@alignOf(?*Element), lol_html_element_user_data_get(element)));
+ return @as(?*Element, @ptrCast(@alignCast(lol_html_element_user_data_get(element))));
}
pub fn onEndTag(element: *Element, end_tag_handler: lol_html_end_tag_handler_t, user_data: ?*anyopaque) Error!void {
auto_disable();
@@ -567,7 +567,7 @@ pub const HTMLString = extern struct {
fn deinit_external(ctx: *anyopaque, ptr: *anyopaque, len: u32) callconv(.C) void {
_ = ctx;
auto_disable();
- lol_html_str_free(.{ .ptr = @ptrCast([*]const u8, ptr), .len = len });
+ lol_html_str_free(.{ .ptr = @as([*]const u8, @ptrCast(ptr)), .len = len });
}
pub fn toString(this: HTMLString) bun.String {
@@ -752,23 +752,22 @@ pub fn DirectiveHandler(comptime Container: type, comptime UserDataType: type, c
return struct {
pub fn callback(this: *Container, user_data: ?*anyopaque) callconv(.C) Directive {
auto_disable();
- return @enumFromInt(
+ return @as(
Directive,
- @as(
+ @enumFromInt(@as(
c_uint,
@intFromBool(
Callback(
- @ptrCast(
+ @as(
*UserDataType,
- @alignCast(
- @alignOf(*UserDataType),
+ @ptrCast(@alignCast(
user_data.?,
- ),
+ )),
),
this,
),
),
- ),
+ )),
);
}
}.callback;
diff --git a/src/deps/picohttp.zig b/src/deps/picohttp.zig
index 722475bb5..4155678c1 100644
--- a/src/deps/picohttp.zig
+++ b/src/deps/picohttp.zig
@@ -90,18 +90,18 @@ pub const Request = struct {
const rc = c.phr_parse_request(
buf.ptr,
buf.len,
- @ptrCast([*c][*c]const u8, &method.ptr),
+ @as([*c][*c]const u8, @ptrCast(&method.ptr)),
&method.len,
- @ptrCast([*c][*c]const u8, &path.ptr),
+ @as([*c][*c]const u8, @ptrCast(&path.ptr)),
&path.len,
&minor_version,
- @ptrCast([*c]c.phr_header, src.ptr),
+ @as([*c]c.phr_header, @ptrCast(src.ptr)),
&num_headers,
0,
);
// Leave a sentinel value, for JavaScriptCore support.
- if (rc > -1) @ptrFromInt([*]u8, @intFromPtr(path.ptr))[path.len] = 0;
+ if (rc > -1) @as([*]u8, @ptrFromInt(@intFromPtr(path.ptr)))[path.len] = 0;
return switch (rc) {
-1 => error.BadRequest,
@@ -109,9 +109,9 @@ pub const Request = struct {
else => Request{
.method = method,
.path = path,
- .minor_version = @intCast(usize, minor_version),
+ .minor_version = @as(usize, @intCast(minor_version)),
.headers = src[0..num_headers],
- .bytes_read = @intCast(u32, rc),
+ .bytes_read = @as(u32, @intCast(rc)),
},
};
}
@@ -164,9 +164,9 @@ pub const Response = struct {
buf.len,
&minor_version,
&status_code,
- @ptrCast([*c][*c]const u8, &status.ptr),
+ @as([*c][*c]const u8, @ptrCast(&status.ptr)),
&status.len,
- @ptrCast([*c]c.phr_header, src.ptr),
+ @as([*c]c.phr_header, @ptrCast(src.ptr)),
&num_headers,
offset.?.*,
);
@@ -182,8 +182,8 @@ pub const Response = struct {
break :brk error.ShortRead;
},
else => Response{
- .minor_version = @intCast(usize, minor_version),
- .status_code = @intCast(usize, status_code),
+ .minor_version = @as(usize, @intCast(minor_version)),
+ .status_code = @as(usize, @intCast(status_code)),
.status = status,
.headers = src[0..@min(num_headers, src.len)],
.bytes_read = rc,
@@ -237,8 +237,8 @@ pub const Headers = struct {
const rc = c.phr_parse_headers(
buf.ptr,
buf.len,
- @ptrCast([*c]c.phr_header, src.ptr),
- @ptrCast([*c]usize, &num_headers),
+ @as([*c]c.phr_header, @ptrCast(src.ptr)),
+ @as([*c]usize, @ptrCast(&num_headers)),
0,
);
diff --git a/src/deps/uws.zig b/src/deps/uws.zig
index da92bb496..6e9d43e5f 100644
--- a/src/deps/uws.zig
+++ b/src/deps/uws.zig
@@ -46,7 +46,7 @@ pub fn NewSocketHandler(comptime is_ssl: bool) type {
pub fn ssl(this: ThisSocket) *BoringSSL.SSL {
if (comptime is_ssl) {
- return @ptrCast(*BoringSSL.SSL, this.getNativeHandle());
+ return @as(*BoringSSL.SSL, @ptrCast(this.getNativeHandle()));
}
@panic("socket is not a TLS socket");
}
@@ -108,7 +108,7 @@ pub fn NewSocketHandler(comptime is_ssl: bool) type {
Fields.onData(
getValue(socket),
TLSSocket{ .socket = socket },
- buf.?[0..@intCast(usize, len)],
+ buf.?[0..@as(usize, @intCast(len))],
);
return socket;
}
@@ -162,7 +162,7 @@ pub fn NewSocketHandler(comptime is_ssl: bool) type {
}
pub fn getNativeHandle(this: ThisSocket) *NativeSocketHandleType(is_ssl) {
- return @ptrCast(*NativeSocketHandleType(is_ssl), us_socket_get_native_handle(comptime ssl_int, this.socket).?);
+ return @as(*NativeSocketHandleType(is_ssl), @ptrCast(us_socket_get_native_handle(comptime ssl_int, this.socket).?));
}
pub fn fd(this: ThisSocket) i32 {
@@ -170,7 +170,7 @@ pub fn NewSocketHandler(comptime is_ssl: bool) type {
@compileError("SSL sockets do not have a file descriptor accessible this way");
}
- return @intCast(i32, @intFromPtr(us_socket_get_native_handle(0, this.socket)));
+ return @as(i32, @intCast(@intFromPtr(us_socket_get_native_handle(0, this.socket))));
}
pub fn markNeedsMoreForSendfile(this: ThisSocket) void {
@@ -192,7 +192,7 @@ pub fn NewSocketHandler(comptime is_ssl: bool) type {
this.socket,
) orelse return null;
- return @ptrCast(*ContextType, @alignCast(alignment, ptr));
+ return @as(*align(alignment) ContextType, @ptrCast(@alignCast(ptr)));
}
pub fn context(this: ThisSocket) *SocketContext {
return us_socket_context(
@@ -212,7 +212,7 @@ pub fn NewSocketHandler(comptime is_ssl: bool) type {
this.socket,
data.ptr,
// truncate to 31 bits since sign bit exists
- @intCast(i32, @truncate(u31, data.len)),
+ @as(i32, @intCast(@as(u31, @truncate(data.len)))),
@as(i32, @intFromBool(msg_more)),
);
}
@@ -223,7 +223,7 @@ pub fn NewSocketHandler(comptime is_ssl: bool) type {
this.socket,
data.ptr,
// truncate to 31 bits since sign bit exists
- @intCast(i32, @truncate(u31, data.len)),
+ @as(i32, @intCast(@as(u31, @truncate(data.len)))),
@as(i32, @intFromBool(msg_more)),
);
}
@@ -430,7 +430,7 @@ pub fn NewSocketHandler(comptime is_ssl: bool) type {
Fields.onData(
getValue(socket),
SocketHandlerType{ .socket = socket },
- buf.?[0..@intCast(usize, len)],
+ buf.?[0..@as(usize, @intCast(len))],
);
return socket;
}
@@ -540,7 +540,7 @@ pub fn NewSocketHandler(comptime is_ssl: bool) type {
Fields.onData(
getValue(socket),
ThisSocket{ .socket = socket },
- buf.?[0..@intCast(usize, len)],
+ buf.?[0..@as(usize, @intCast(len))],
);
return socket;
}
@@ -646,7 +646,7 @@ pub const Timer = opaque {
us_timer_set(this, cb, ms, repeat_ms);
var value_ptr = us_timer_ext(this);
@setRuntimeSafety(false);
- @ptrCast(*@TypeOf(ptr), @alignCast(@alignOf(*@TypeOf(ptr)), value_ptr)).* = ptr;
+ @as(*@TypeOf(ptr), @ptrCast(@alignCast(value_ptr))).* = ptr;
}
pub fn deinit(this: *Timer) void {
@@ -655,12 +655,12 @@ pub const Timer = opaque {
}
pub fn ext(this: *Timer, comptime Type: type) ?*Type {
- return @ptrCast(*Type, @alignCast(@alignOf(Type), us_timer_ext(this).*.?));
+ return @as(*Type, @ptrCast(@alignCast(us_timer_ext(this).*.?)));
}
pub fn as(this: *Timer, comptime Type: type) Type {
@setRuntimeSafety(false);
- return @ptrCast(*?Type, @alignCast(@alignOf(Type), us_timer_ext(this))).*.?;
+ return @as(*?Type, @ptrCast(@alignCast(us_timer_ext(this)))).*.?;
}
};
@@ -706,7 +706,7 @@ pub const SocketContext = opaque {
this,
) orelse return null;
- return @ptrCast(*ContextType, @alignCast(alignment, ptr));
+ return @as(*align(alignment) ContextType, @ptrCast(@alignCast(ptr)));
}
};
pub const Loop = extern struct {
@@ -769,7 +769,7 @@ pub const Loop = extern struct {
pub fn unrefCount(this: *Loop, count: i32) void {
log("unref x {d}", .{count});
this.num_polls -|= count;
- this.active -|= @intCast(u32, count);
+ this.active -|= @as(u32, @intCast(count));
}
pub fn get() ?*Loop {
@@ -797,7 +797,7 @@ pub const Loop = extern struct {
pub fn nextTick(this: *Loop, comptime UserType: type, user_data: UserType, comptime deferCallback: fn (ctx: UserType) void) void {
const Handler = struct {
pub fn callback(data: *anyopaque) callconv(.C) void {
- deferCallback(@ptrCast(UserType, @alignCast(@alignOf(std.meta.Child(UserType)), data)));
+ deferCallback(@as(UserType, @ptrCast(@alignCast(data))));
}
};
uws_loop_defer(this, user_data, Handler.callback);
@@ -813,7 +813,7 @@ pub const Loop = extern struct {
return uws_loop_removePostHandler(handler.loop, callback);
}
pub fn callback(data: *anyopaque, _: *Loop) callconv(.C) void {
- callback_fn(@ptrCast(UserType, @alignCast(@alignOf(std.meta.Child(UserType)), data)));
+ callback_fn(@as(UserType, @ptrCast(@alignCast(data))));
}
};
}
@@ -984,7 +984,7 @@ pub const Poll = opaque {
}
pub fn fd(self: *Poll) @import("std").os.fd_t {
- return @intCast(@import("std").os.fd_t, us_poll_fd(self));
+ return @as(@import("std").os.fd_t, @intCast(us_poll_fd(self)));
}
pub fn start(self: *Poll, loop: *Loop, flags: Flags) void {
@@ -1139,7 +1139,7 @@ pub const AnyWebSocket = union(enum) {
pub fn publishWithOptions(ssl: bool, app: *anyopaque, topic: []const u8, message: []const u8, opcode: Opcode, compress: bool) bool {
return uws_publish(
@intFromBool(ssl),
- @ptrCast(*uws_app_t, app),
+ @as(*uws_app_t, @ptrCast(app)),
topic.ptr,
topic.len,
message.ptr,
@@ -1202,12 +1202,12 @@ pub const WebSocketBehavior = extern struct {
const active_field_name = if (is_ssl) "ssl" else "tcp";
pub fn _open(raw_ws: *RawWebSocket) callconv(.C) void {
- var ws = @unionInit(AnyWebSocket, active_field_name, @ptrCast(*WebSocket, raw_ws));
+ var ws = @unionInit(AnyWebSocket, active_field_name, @as(*WebSocket, @ptrCast(raw_ws)));
var this = ws.as(Type).?;
@call(.always_inline, Type.onOpen, .{ this, ws });
}
pub fn _message(raw_ws: *RawWebSocket, message: [*c]const u8, length: usize, opcode: Opcode) callconv(.C) void {
- var ws = @unionInit(AnyWebSocket, active_field_name, @ptrCast(*WebSocket, raw_ws));
+ var ws = @unionInit(AnyWebSocket, active_field_name, @as(*WebSocket, @ptrCast(raw_ws)));
var this = ws.as(Type).?;
@call(
.always_inline,
@@ -1216,7 +1216,7 @@ pub const WebSocketBehavior = extern struct {
);
}
pub fn _drain(raw_ws: *RawWebSocket) callconv(.C) void {
- var ws = @unionInit(AnyWebSocket, active_field_name, @ptrCast(*WebSocket, raw_ws));
+ var ws = @unionInit(AnyWebSocket, active_field_name, @as(*WebSocket, @ptrCast(raw_ws)));
var this = ws.as(Type).?;
@call(.always_inline, Type.onDrain, .{
this,
@@ -1224,7 +1224,7 @@ pub const WebSocketBehavior = extern struct {
});
}
pub fn _ping(raw_ws: *RawWebSocket, message: [*c]const u8, length: usize) callconv(.C) void {
- var ws = @unionInit(AnyWebSocket, active_field_name, @ptrCast(*WebSocket, raw_ws));
+ var ws = @unionInit(AnyWebSocket, active_field_name, @as(*WebSocket, @ptrCast(raw_ws)));
var this = ws.as(Type).?;
@call(.always_inline, Type.onPing, .{
this,
@@ -1233,7 +1233,7 @@ pub const WebSocketBehavior = extern struct {
});
}
pub fn _pong(raw_ws: *RawWebSocket, message: [*c]const u8, length: usize) callconv(.C) void {
- var ws = @unionInit(AnyWebSocket, active_field_name, @ptrCast(*WebSocket, raw_ws));
+ var ws = @unionInit(AnyWebSocket, active_field_name, @as(*WebSocket, @ptrCast(raw_ws)));
var this = ws.as(Type).?;
@call(.always_inline, Type.onPong, .{
this,
@@ -1242,7 +1242,7 @@ pub const WebSocketBehavior = extern struct {
});
}
pub fn _close(raw_ws: *RawWebSocket, code: i32, message: [*c]const u8, length: usize) callconv(.C) void {
- var ws = @unionInit(AnyWebSocket, active_field_name, @ptrCast(*WebSocket, raw_ws));
+ var ws = @unionInit(AnyWebSocket, active_field_name, @as(*WebSocket, @ptrCast(raw_ws)));
var this = ws.as(Type).?;
@call(
.always_inline,
@@ -1259,7 +1259,7 @@ pub const WebSocketBehavior = extern struct {
@call(
.always_inline,
Server.onWebSocketUpgrade,
- .{ bun.cast(*Server, ptr), @ptrCast(*NewApp(is_ssl).Response, res), req, context, id },
+ .{ bun.cast(*Server, ptr), @as(*NewApp(is_ssl).Response, @ptrCast(res)), req, context, id },
);
}
@@ -1322,7 +1322,7 @@ pub const Request = opaque {
}
pub fn parameter(req: *Request, index: u16) []const u8 {
var ptr: [*]const u8 = undefined;
- return ptr[0..req.uws_req_get_parameter(@intCast(c_ushort, index), &ptr)];
+ return ptr[0..req.uws_req_get_parameter(@as(c_ushort, @intCast(index)), &ptr)];
}
extern fn uws_req_is_ancient(res: *Request) bool;
@@ -1340,7 +1340,7 @@ pub const ListenSocket = opaque {
us_listen_socket_close(@intFromBool(ssl), this);
}
pub fn getLocalPort(this: *ListenSocket, ssl: bool) i32 {
- return us_socket_local_port(@intFromBool(ssl), @ptrCast(*uws.Socket, this));
+ return us_socket_local_port(@intFromBool(ssl), @as(*uws.Socket, @ptrCast(this)));
}
};
extern fn us_listen_socket_close(ssl: i32, ls: *ListenSocket) void;
@@ -1357,21 +1357,21 @@ pub fn NewApp(comptime ssl: bool) type {
unreachable;
}
- return uws_app_close(ssl_flag, @ptrCast(*uws_app_s, this));
+ return uws_app_close(ssl_flag, @as(*uws_app_s, @ptrCast(this)));
}
pub fn create(opts: us_bun_socket_context_options_t) *ThisApp {
if (comptime is_bindgen) {
unreachable;
}
- return @ptrCast(*ThisApp, uws_create_app(ssl_flag, opts));
+ return @as(*ThisApp, @ptrCast(uws_create_app(ssl_flag, opts)));
}
pub fn destroy(app: *ThisApp) void {
if (comptime is_bindgen) {
unreachable;
}
- return uws_app_destroy(ssl_flag, @ptrCast(*uws_app_s, app));
+ return uws_app_destroy(ssl_flag, @as(*uws_app_s, @ptrCast(app)));
}
fn RouteHandler(comptime UserDataType: type, comptime handler: fn (UserDataType, *Request, *Response) void) type {
@@ -1388,7 +1388,7 @@ pub fn NewApp(comptime ssl: bool) type {
.{
{},
req,
- @ptrCast(*Response, @alignCast(@alignOf(*Response), res)),
+ @as(*Response, @ptrCast(@alignCast(res))),
},
);
} else {
@@ -1396,9 +1396,9 @@ pub fn NewApp(comptime ssl: bool) type {
.always_inline,
handler,
.{
- @ptrCast(UserDataType, @alignCast(@alignOf(UserDataType), user_data.?)),
+ @as(UserDataType, @ptrCast(@alignCast(user_data.?))),
req,
- @ptrCast(*Response, @alignCast(@alignOf(*Response), res)),
+ @as(*Response, @ptrCast(@alignCast(res))),
},
);
}
@@ -1411,13 +1411,13 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- return us_listen_socket_close(ssl_flag, @ptrCast(*uws.ListenSocket, this));
+ return us_listen_socket_close(ssl_flag, @as(*uws.ListenSocket, @ptrCast(this)));
}
pub inline fn getLocalPort(this: *ThisApp.ListenSocket) i32 {
if (comptime is_bindgen) {
unreachable;
}
- return us_socket_local_port(ssl_flag, @ptrCast(*uws.Socket, this));
+ return us_socket_local_port(ssl_flag, @as(*uws.Socket, @ptrCast(this)));
}
};
@@ -1431,7 +1431,7 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- uws_app_get(ssl_flag, @ptrCast(*uws_app_t, app), pattern, RouteHandler(UserDataType, handler).handle, user_data);
+ uws_app_get(ssl_flag, @as(*uws_app_t, @ptrCast(app)), pattern, RouteHandler(UserDataType, handler).handle, user_data);
}
pub fn post(
app: *ThisApp,
@@ -1443,7 +1443,7 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- uws_app_post(ssl_flag, @ptrCast(*uws_app_t, app), pattern, RouteHandler(UserDataType, handler).handle, user_data);
+ uws_app_post(ssl_flag, @as(*uws_app_t, @ptrCast(app)), pattern, RouteHandler(UserDataType, handler).handle, user_data);
}
pub fn options(
app: *ThisApp,
@@ -1455,7 +1455,7 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- uws_app_options(ssl_flag, @ptrCast(*uws_app_t, app), pattern, RouteHandler(UserDataType, handler).handle, user_data);
+ uws_app_options(ssl_flag, @as(*uws_app_t, @ptrCast(app)), pattern, RouteHandler(UserDataType, handler).handle, user_data);
}
pub fn delete(
app: *ThisApp,
@@ -1467,7 +1467,7 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- uws_app_delete(ssl_flag, @ptrCast(*uws_app_t, app), pattern, RouteHandler(UserDataType, handler).handle, user_data);
+ uws_app_delete(ssl_flag, @as(*uws_app_t, @ptrCast(app)), pattern, RouteHandler(UserDataType, handler).handle, user_data);
}
pub fn patch(
app: *ThisApp,
@@ -1479,7 +1479,7 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- uws_app_patch(ssl_flag, @ptrCast(*uws_app_t, app), pattern, RouteHandler(UserDataType, handler).handle, user_data);
+ uws_app_patch(ssl_flag, @as(*uws_app_t, @ptrCast(app)), pattern, RouteHandler(UserDataType, handler).handle, user_data);
}
pub fn put(
app: *ThisApp,
@@ -1491,7 +1491,7 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- uws_app_put(ssl_flag, @ptrCast(*uws_app_t, app), pattern, RouteHandler(UserDataType, handler).handle, user_data);
+ uws_app_put(ssl_flag, @as(*uws_app_t, @ptrCast(app)), pattern, RouteHandler(UserDataType, handler).handle, user_data);
}
pub fn head(
app: *ThisApp,
@@ -1503,7 +1503,7 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- uws_app_head(ssl_flag, @ptrCast(*uws_app_t, app), pattern, RouteHandler(UserDataType, handler).handle, user_data);
+ uws_app_head(ssl_flag, @as(*uws_app_t, @ptrCast(app)), pattern, RouteHandler(UserDataType, handler).handle, user_data);
}
pub fn connect(
app: *ThisApp,
@@ -1515,7 +1515,7 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- uws_app_connect(ssl_flag, @ptrCast(*uws_app_t, app), pattern, RouteHandler(UserDataType, handler).handle, user_data);
+ uws_app_connect(ssl_flag, @as(*uws_app_t, @ptrCast(app)), pattern, RouteHandler(UserDataType, handler).handle, user_data);
}
pub fn trace(
app: *ThisApp,
@@ -1527,7 +1527,7 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- uws_app_trace(ssl_flag, @ptrCast(*uws_app_t, app), pattern, RouteHandler(UserDataType, handler).handle, user_data);
+ uws_app_trace(ssl_flag, @as(*uws_app_t, @ptrCast(app)), pattern, RouteHandler(UserDataType, handler).handle, user_data);
}
pub fn any(
app: *ThisApp,
@@ -1539,13 +1539,13 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime is_bindgen) {
unreachable;
}
- uws_app_any(ssl_flag, @ptrCast(*uws_app_t, app), pattern, RouteHandler(UserDataType, handler).handle, user_data);
+ uws_app_any(ssl_flag, @as(*uws_app_t, @ptrCast(app)), pattern, RouteHandler(UserDataType, handler).handle, user_data);
}
pub fn run(app: *ThisApp) void {
if (comptime is_bindgen) {
unreachable;
}
- return uws_app_run(ssl_flag, @ptrCast(*uws_app_t, app));
+ return uws_app_run(ssl_flag, @as(*uws_app_t, @ptrCast(app)));
}
pub fn listen(
app: *ThisApp,
@@ -1560,17 +1560,17 @@ pub fn NewApp(comptime ssl: bool) type {
const Wrapper = struct {
pub fn handle(socket: ?*uws.ListenSocket, conf: uws_app_listen_config_t, data: ?*anyopaque) callconv(.C) void {
if (comptime UserData == void) {
- @call(.always_inline, handler, .{ {}, @ptrCast(?*ThisApp.ListenSocket, socket), conf });
+ @call(.always_inline, handler, .{ {}, @as(?*ThisApp.ListenSocket, @ptrCast(socket)), conf });
} else {
@call(.always_inline, handler, .{
- @ptrCast(UserData, @alignCast(@alignOf(UserData), data.?)),
- @ptrCast(?*ThisApp.ListenSocket, socket),
+ @as(UserData, @ptrCast(@alignCast(data.?))),
+ @as(?*ThisApp.ListenSocket, @ptrCast(socket)),
conf,
});
}
}
};
- return uws_app_listen(ssl_flag, @ptrCast(*uws_app_t, app), port, Wrapper.handle, user_data);
+ return uws_app_listen(ssl_flag, @as(*uws_app_t, @ptrCast(app)), port, Wrapper.handle, user_data);
}
pub fn listenWithConfig(
@@ -1583,56 +1583,56 @@ pub fn NewApp(comptime ssl: bool) type {
const Wrapper = struct {
pub fn handle(socket: ?*uws.ListenSocket, data: ?*anyopaque) callconv(.C) void {
if (comptime UserData == void) {
- @call(.always_inline, handler, .{ {}, @ptrCast(?*ThisApp.ListenSocket, socket) });
+ @call(.always_inline, handler, .{ {}, @as(?*ThisApp.ListenSocket, @ptrCast(socket)) });
} else {
@call(.always_inline, handler, .{
- @ptrCast(UserData, @alignCast(@alignOf(UserData), data.?)),
- @ptrCast(?*ThisApp.ListenSocket, socket),
+ @as(UserData, @ptrCast(@alignCast(data.?))),
+ @as(?*ThisApp.ListenSocket, @ptrCast(socket)),
});
}
}
};
- return uws_app_listen_with_config(ssl_flag, @ptrCast(*uws_app_t, app), config.host, @intCast(u16, config.port), config.options, Wrapper.handle, user_data);
+ return uws_app_listen_with_config(ssl_flag, @as(*uws_app_t, @ptrCast(app)), config.host, @as(u16, @intCast(config.port)), config.options, Wrapper.handle, user_data);
}
pub fn constructorFailed(app: *ThisApp) bool {
return uws_constructor_failed(ssl_flag, app);
}
pub fn num_subscribers(app: *ThisApp, topic: []const u8) c_uint {
- return uws_num_subscribers(ssl_flag, @ptrCast(*uws_app_t, app), topic.ptr, topic.len);
+ return uws_num_subscribers(ssl_flag, @as(*uws_app_t, @ptrCast(app)), topic.ptr, topic.len);
}
pub fn publish(app: *ThisApp, topic: []const u8, message: []const u8, opcode: Opcode, compress: bool) bool {
- return uws_publish(ssl_flag, @ptrCast(*uws_app_t, app), topic.ptr, topic.len, message.ptr, message.len, opcode, compress);
+ return uws_publish(ssl_flag, @as(*uws_app_t, @ptrCast(app)), topic.ptr, topic.len, message.ptr, message.len, opcode, compress);
}
pub fn getNativeHandle(app: *ThisApp) ?*anyopaque {
return uws_get_native_handle(ssl_flag, app);
}
pub fn removeServerName(app: *ThisApp, hostname_pattern: [*:0]const u8) void {
- return uws_remove_server_name(ssl_flag, @ptrCast(*uws_app_t, app), hostname_pattern);
+ return uws_remove_server_name(ssl_flag, @as(*uws_app_t, @ptrCast(app)), hostname_pattern);
}
pub fn addServerName(app: *ThisApp, hostname_pattern: [*:0]const u8) void {
- return uws_add_server_name(ssl_flag, @ptrCast(*uws_app_t, app), hostname_pattern);
+ return uws_add_server_name(ssl_flag, @as(*uws_app_t, @ptrCast(app)), hostname_pattern);
}
pub fn addServerNameWithOptions(app: *ThisApp, hostname_pattern: [:0]const u8, opts: us_bun_socket_context_options_t) void {
- return uws_add_server_name_with_options(ssl_flag, @ptrCast(*uws_app_t, app), hostname_pattern, opts);
+ return uws_add_server_name_with_options(ssl_flag, @as(*uws_app_t, @ptrCast(app)), hostname_pattern, opts);
}
pub fn missingServerName(app: *ThisApp, handler: uws_missing_server_handler, user_data: ?*anyopaque) void {
- return uws_missing_server_name(ssl_flag, @ptrCast(*uws_app_t, app), handler, user_data);
+ return uws_missing_server_name(ssl_flag, @as(*uws_app_t, @ptrCast(app)), handler, user_data);
}
pub fn filter(app: *ThisApp, handler: uws_filter_handler, user_data: ?*anyopaque) void {
- return uws_filter(ssl_flag, @ptrCast(*uws_app_t, app), handler, user_data);
+ return uws_filter(ssl_flag, @as(*uws_app_t, @ptrCast(app)), handler, user_data);
}
pub fn ws(app: *ThisApp, pattern: []const u8, ctx: *anyopaque, id: usize, behavior_: WebSocketBehavior) void {
var behavior = behavior_;
- uws_ws(ssl_flag, @ptrCast(*uws_app_t, app), ctx, pattern.ptr, pattern.len, id, &behavior);
+ uws_ws(ssl_flag, @as(*uws_app_t, @ptrCast(app)), ctx, pattern.ptr, pattern.len, id, &behavior);
}
pub const Response = opaque {
inline fn castRes(res: *uws_res) *Response {
- return @ptrCast(*Response, @alignCast(@alignOf(*Response), res));
+ return @as(*Response, @ptrCast(@alignCast(res)));
}
pub inline fn downcast(res: *Response) *uws_res {
- return @ptrCast(*uws_res, @alignCast(@alignOf(*uws_res), res));
+ return @as(*uws_res, @ptrCast(@alignCast(res)));
}
pub fn end(res: *Response, data: []const u8, close_connection: bool) void {
@@ -1644,7 +1644,7 @@ pub fn NewApp(comptime ssl: bool) type {
}
pub fn state(res: *const Response) State {
- return uws_res_state(ssl_flag, @ptrCast(*const uws_res, @alignCast(@alignOf(*const uws_res), res)));
+ return uws_res_state(ssl_flag, @as(*const uws_res, @ptrCast(@alignCast(res))));
}
pub fn prepareForSendfile(res: *Response) void {
@@ -1685,14 +1685,14 @@ pub fn NewApp(comptime ssl: bool) type {
return uws_res_get_write_offset(ssl_flag, res.downcast());
}
pub fn overrideWriteOffset(res: *Response, offset: anytype) void {
- uws_res_override_write_offset(ssl_flag, res.downcast(), @intCast(uintmax_t, offset));
+ uws_res_override_write_offset(ssl_flag, res.downcast(), @as(uintmax_t, @intCast(offset)));
}
pub fn hasResponded(res: *Response) bool {
return uws_res_has_responded(ssl_flag, res.downcast());
}
pub fn getNativeHandle(res: *Response) i32 {
- return @intCast(i32, @intFromPtr(uws_res_get_native_handle(ssl_flag, res.downcast())));
+ return @as(i32, @intCast(@intFromPtr(uws_res_get_native_handle(ssl_flag, res.downcast()))));
}
pub fn onWritable(
res: *Response,
@@ -1706,7 +1706,7 @@ pub fn NewApp(comptime ssl: bool) type {
return @call(.always_inline, handler, .{ {}, amount, castRes(this) });
} else {
return @call(.always_inline, handler, .{
- @ptrCast(UserDataType, @alignCast(@alignOf(UserDataType), data.?)),
+ @as(UserDataType, @ptrCast(@alignCast(data.?))),
amount,
castRes(this),
});
@@ -1726,7 +1726,7 @@ pub fn NewApp(comptime ssl: bool) type {
if (comptime UserDataType == void) {
@call(.always_inline, handler, .{ {}, castRes(this), {} });
} else {
- @call(.always_inline, handler, .{ @ptrCast(UserDataType, @alignCast(@alignOf(UserDataType), user_data.?)), castRes(this) });
+ @call(.always_inline, handler, .{ @as(UserDataType, @ptrCast(@alignCast(user_data.?))), castRes(this) });
}
}
};
@@ -1758,7 +1758,7 @@ pub fn NewApp(comptime ssl: bool) type {
});
} else {
@call(.always_inline, handler, .{
- @ptrCast(UserDataType, @alignCast(@alignOf(UserDataType), user_data.?)),
+ @as(UserDataType, @ptrCast(@alignCast(user_data.?))),
castRes(this),
if (len > 0) chunk_ptr[0..len] else "",
last,
@@ -1808,7 +1808,7 @@ pub fn NewApp(comptime ssl: bool) type {
});
} else {
@call(.always_inline, handler, .{
- @ptrCast(UserDataType, @alignCast(@alignOf(UserDataType), user_data.?)),
+ @as(UserDataType, @ptrCast(@alignCast(user_data.?))),
});
}
}
@@ -1834,7 +1834,7 @@ pub fn NewApp(comptime ssl: bool) type {
// @call(.always_inline, handler, .{
// @ptrCast(
// UserDataType,
- // @alignCast(@alignOf(UserDataType), user_data.?),
+ // @alignCast( user_data.?),
// ),
// fd,
// });
@@ -1853,7 +1853,7 @@ pub fn NewApp(comptime ssl: bool) type {
// @call(.always_inline, handler, .{
// @ptrCast(
// UserDataType,
- // @alignCast(@alignOf(UserDataType), user_data.?),
+ // @alignCast( user_data.?),
// ),
// fd,
// });
@@ -1903,11 +1903,11 @@ pub fn NewApp(comptime ssl: bool) type {
pub const WebSocket = opaque {
pub fn raw(this: *WebSocket) *RawWebSocket {
- return @ptrCast(*RawWebSocket, this);
+ return @as(*RawWebSocket, @ptrCast(this));
}
pub fn as(this: *WebSocket, comptime Type: type) ?*Type {
@setRuntimeSafety(false);
- return @ptrCast(?*Type, @alignCast(@alignOf(Type), uws_ws_get_user_data(ssl_flag, this.raw())));
+ return @as(?*Type, @ptrCast(@alignCast(uws_ws_get_user_data(ssl_flag, this.raw()))));
}
pub fn close(this: *WebSocket) void {
diff --git a/src/deps/zig-clap/clap.zig b/src/deps/zig-clap/clap.zig
index 68cd2451c..37cc4814e 100644
--- a/src/deps/zig-clap/clap.zig
+++ b/src/deps/zig-clap/clap.zig
@@ -343,7 +343,7 @@ pub fn helpFull(
var cs = io.countingWriter(io.null_writer);
try printParam(cs.writer(), Id, param, Error, context, valueText);
if (res < cs.bytes_written)
- res = @intCast(usize, cs.bytes_written);
+ res = @as(usize, @intCast(cs.bytes_written));
}
break :blk res;
@@ -356,7 +356,7 @@ pub fn helpFull(
var cs = io.countingWriter(stream);
try stream.print("\t", .{});
try printParam(cs.writer(), Id, param, Error, context, valueText);
- try stream.writeByteNTimes(' ', max_spacing - @intCast(usize, cs.bytes_written));
+ try stream.writeByteNTimes(' ', max_spacing - @as(usize, @intCast(cs.bytes_written)));
try stream.print("\t{s}\n", .{try helpText(context, param)});
}
}
@@ -482,7 +482,7 @@ pub fn usageFull(
// Seems the zig compiler is being a little wierd. I doesn't allow me to write
// @as(*const [1]u8, s) VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
- const name = if (param.names.short) |*s| @ptrCast([*]const u8, s)[0..1] else param.names.long orelse {
+ const name = if (param.names.short) |*s| @as([*]const u8, @ptrCast(s))[0..1] else param.names.long orelse {
positional = param;
continue;
};
diff --git a/src/deps/zig-datetime/src/datetime.zig b/src/deps/zig-datetime/src/datetime.zig
index 1014863b8..89f57d583 100644
--- a/src/deps/zig-datetime/src/datetime.zig
+++ b/src/deps/zig-datetime/src/datetime.zig
@@ -47,7 +47,7 @@ pub const Month = enum(u4) {
if (month.len == 3) {
inline for (std.meta.fields(Month)) |f| {
if (ascii.eqlIgnoreCase(f.name[0..3], month)) {
- return @enumFromInt(Month, f.value);
+ return @as(Month, @enumFromInt(f.value));
}
}
}
@@ -57,7 +57,7 @@ pub const Month = enum(u4) {
pub fn parseName(month: []const u8) !Month {
inline for (std.meta.fields(Month)) |f| {
if (ascii.eqlIgnoreCase(f.name, month)) {
- return @enumFromInt(Month, f.value);
+ return @as(Month, @enumFromInt(f.value));
}
}
return error.InvalidFormat;
@@ -210,9 +210,9 @@ pub const Date = struct {
if (day < 1 or day > daysInMonth(year, month)) return error.InvalidDate;
// Since we just validated the ranges we can now savely cast
return Date{
- .year = @intCast(u16, year),
- .month = @intCast(u4, month),
- .day = @intCast(u8, day),
+ .year = @as(u16, @intCast(year)),
+ .month = @as(u4, @intCast(month)),
+ .day = @as(u8, @intCast(day)),
};
}
@@ -313,30 +313,30 @@ pub const Date = struct {
// Create a date from the number of seconds since 1 Jan 1970
pub fn fromSeconds(seconds: f64) Date {
const r = math.modf(seconds);
- const timestamp = @intFromFloat(i64, r.ipart); // Seconds
+ const timestamp = @as(i64, @intFromFloat(r.ipart)); // Seconds
const days = @divFloor(timestamp, time.s_per_day) + @as(i64, EPOCH);
assert(days >= 0 and days <= MAX_ORDINAL);
- return Date.fromOrdinal(@intCast(u32, days));
+ return Date.fromOrdinal(@as(u32, @intCast(days)));
}
// Return the number of seconds since 1 Jan 1970
pub fn toSeconds(self: Date) f64 {
- const days = @intCast(i64, self.toOrdinal()) - @as(i64, EPOCH);
- return @floatFromInt(f64, days * time.s_per_day);
+ const days = @as(i64, @intCast(self.toOrdinal())) - @as(i64, EPOCH);
+ return @as(f64, @floatFromInt(days * time.s_per_day));
}
// Create a date from a UTC timestamp in milliseconds relative to Jan 1st 1970
pub fn fromTimestamp(timestamp: i64) Date {
const days = @divFloor(timestamp, time.ms_per_day) + @as(i64, EPOCH);
assert(days >= 0 and days <= MAX_ORDINAL);
- return Date.fromOrdinal(@intCast(u32, days));
+ return Date.fromOrdinal(@as(u32, @intCast(days)));
}
// Create a UTC timestamp in milliseconds relative to Jan 1st 1970
pub fn toTimestamp(self: Date) i64 {
- const d = @intCast(i64, daysBeforeYear(self.year));
- const days = d - @as(i64, EPOCH) + @intCast(i64, self.dayOfYear());
- return @intCast(i64, days) * time.ms_per_day;
+ const d = @as(i64, @intCast(daysBeforeYear(self.year)));
+ const days = d - @as(i64, EPOCH) + @as(i64, @intCast(self.dayOfYear()));
+ return @as(i64, @intCast(days)) * time.ms_per_day;
}
// Convert to an ISOCalendar date contain the year, week number, and
@@ -359,7 +359,7 @@ pub const Date = struct {
}
assert(week >= 0 and week < 53);
assert(day >= 0 and day < 8);
- return ISOCalendar{ .year = y, .week = @intCast(u6, week + 1), .weekday = @intCast(u3, day + 1) };
+ return ISOCalendar{ .year = y, .week = @as(u6, @intCast(week + 1)), .weekday = @as(u3, @intCast(day + 1)) };
}
// ------------------------------------------------------------------------
@@ -439,13 +439,13 @@ pub const Date = struct {
pub fn dayOfYear(self: Date) u16 {
var d = self.toOrdinal() - daysBeforeYear(self.year);
assert(d >= 1 and d <= 366);
- return @intCast(u16, d);
+ return @as(u16, @intCast(d));
}
// Return day of week starting with Monday = 1 and Sunday = 7
pub fn dayOfWeek(self: Date) Weekday {
- const dow = @intCast(u3, self.toOrdinal() % 7);
- return @enumFromInt(Weekday, if (dow == 0) 7 else dow);
+ const dow = @as(u3, @intCast(self.toOrdinal() % 7));
+ return @as(Weekday, @enumFromInt(if (dow == 0) 7 else dow));
}
// Return the ISO calendar based week of year. With 1 being the first week.
@@ -471,7 +471,7 @@ pub const Date = struct {
// Return the name of the day of the month, eg "January"
pub fn monthName(self: Date) []const u8 {
assert(self.month >= 1 and self.month <= 12);
- return @tagName(@enumFromInt(Month, self.month));
+ return @tagName(@as(Month, @enumFromInt(self.month)));
}
// ------------------------------------------------------------------------
@@ -502,9 +502,9 @@ pub const Date = struct {
// Shift year
var year = self.year;
if (delta.years < 0) {
- year -= @intCast(u16, -delta.years);
+ year -= @as(u16, @intCast(-delta.years));
} else {
- year += @intCast(u16, delta.years);
+ year += @as(u16, @intCast(delta.years));
}
var ord = daysBeforeYear(year);
var days = self.dayOfYear();
@@ -527,9 +527,9 @@ pub const Date = struct {
// Shift days
if (delta.days < 0) {
- ord -= @intCast(u32, -delta.days);
+ ord -= @as(u32, @intCast(-delta.days));
} else {
- ord += @intCast(u32, delta.days);
+ ord += @as(u32, @intCast(delta.days));
}
return Date.fromOrdinal(ord);
}
@@ -827,9 +827,9 @@ pub const Time = struct {
return error.InvalidTime;
}
return Time{
- .hour = @intCast(u8, hour),
- .minute = @intCast(u8, minute),
- .second = @intCast(u8, second),
+ .hour = @as(u8, @intCast(hour)),
+ .minute = @as(u8, @intCast(minute)),
+ .second = @as(u8, @intCast(second)),
.nanosecond = nanosecond,
};
}
@@ -842,15 +842,15 @@ pub const Time = struct {
// Create Time from a UTC Timestamp in milliseconds
pub fn fromTimestamp(timestamp: i64) Time {
const remainder = @mod(timestamp, time.ms_per_day);
- var t = @intCast(u64, math.absInt(remainder) catch unreachable);
+ var t = @as(u64, @intCast(math.absInt(remainder) catch unreachable));
// t is now only the time part of the day
- const h = @intCast(u32, @divFloor(t, time.ms_per_hour));
+ const h = @as(u32, @intCast(@divFloor(t, time.ms_per_hour)));
t -= h * time.ms_per_hour;
- const m = @intCast(u32, @divFloor(t, time.ms_per_min));
+ const m = @as(u32, @intCast(@divFloor(t, time.ms_per_min)));
t -= m * time.ms_per_min;
- const s = @intCast(u32, @divFloor(t, time.ms_per_s));
+ const s = @as(u32, @intCast(@divFloor(t, time.ms_per_s)));
t -= s * time.ms_per_s;
- const ns = @intCast(u32, t * time.ns_per_ms);
+ const ns = @as(u32, @intCast(t * time.ns_per_ms));
return Time.create(h, m, s, ns) catch unreachable;
}
@@ -859,7 +859,7 @@ pub const Time = struct {
assert(seconds >= 0);
// Convert to s and us
const r = math.modf(seconds);
- var s = @intFromFloat(u32, @mod(r.ipart, time.s_per_day)); // s
+ var s = @as(u32, @intFromFloat(@mod(r.ipart, time.s_per_day))); // s
const h = @divFloor(s, time.s_per_hour);
s -= h * time.s_per_hour;
const m = @divFloor(s, time.s_per_min);
@@ -875,32 +875,32 @@ pub const Time = struct {
s -= 1;
frac += time.ns_per_s;
}
- const ns = @intFromFloat(u32, frac);
+ const ns = @as(u32, @intFromFloat(frac));
return Time.create(h, m, s, ns) catch unreachable; // If this fails it's a bug
}
// Convert to a time in seconds relative to the UTC timezones
// including the nanosecond component
pub fn toSeconds(self: Time) f64 {
- const s = @floatFromInt(f64, self.totalSeconds());
- const ns = @floatFromInt(f64, self.nanosecond) / time.ns_per_s;
+ const s = @as(f64, @floatFromInt(self.totalSeconds()));
+ const ns = @as(f64, @floatFromInt(self.nanosecond)) / time.ns_per_s;
return s + ns;
}
// Convert to a timestamp in milliseconds from UTC
pub fn toTimestamp(self: Time) i64 {
- const h = @intCast(i64, self.hour) * time.ms_per_hour;
- const m = @intCast(i64, self.minute) * time.ms_per_min;
- const s = @intCast(i64, self.second) * time.ms_per_s;
- const ms = @intCast(i64, self.nanosecond / time.ns_per_ms);
+ const h = @as(i64, @intCast(self.hour)) * time.ms_per_hour;
+ const m = @as(i64, @intCast(self.minute)) * time.ms_per_min;
+ const s = @as(i64, @intCast(self.second)) * time.ms_per_s;
+ const ms = @as(i64, @intCast(self.nanosecond / time.ns_per_ms));
return h + m + s + ms;
}
// Total seconds from the start of day
pub fn totalSeconds(self: Time) i32 {
- const h = @intCast(i32, self.hour) * time.s_per_hour;
- const m = @intCast(i32, self.minute) * time.s_per_min;
- const s = @intCast(i32, self.second);
+ const h = @as(i32, @intCast(self.hour)) * time.s_per_hour;
+ const m = @as(i32, @intCast(self.minute)) * time.s_per_min;
+ const s = @as(i32, @intCast(self.second));
return h + m + s;
}
@@ -1097,14 +1097,14 @@ pub const Datetime = struct {
const a = daysBeforeYear(dt.date.year);
// Must always subtract greater of the two
if (self.years > 0) {
- const y = @intCast(u32, self.years);
+ const y = @as(u32, @intCast(self.years));
const b = daysBeforeYear(dt.date.year + y);
- days += @intCast(i32, b - a);
+ days += @as(i32, @intCast(b - a));
} else {
- const y = @intCast(u32, -self.years);
+ const y = @as(u32, @intCast(-self.years));
assert(y < dt.date.year); // Does not work below year 1
const b = daysBeforeYear(dt.date.year - y);
- days -= @intCast(i32, a - b);
+ days -= @as(i32, @intCast(a - b));
}
}
} else {
@@ -1176,19 +1176,19 @@ pub const Datetime = struct {
// From POSIX timestamp in milliseconds relative to 1 Jan 1970
pub fn fromTimestamp(timestamp: i64) Datetime {
const t = @divFloor(timestamp, time.ms_per_day);
- const d = @intCast(u64, math.absInt(t) catch unreachable);
+ const d = @as(u64, @intCast(math.absInt(t) catch unreachable));
const days = if (timestamp >= 0) d + EPOCH else EPOCH - d;
assert(days >= 0 and days <= MAX_ORDINAL);
return Datetime{
- .date = Date.fromOrdinal(@intCast(u32, days)),
- .time = Time.fromTimestamp(timestamp - @intCast(i64, d) * time.ns_per_day),
+ .date = Date.fromOrdinal(@as(u32, @intCast(days))),
+ .time = Time.fromTimestamp(timestamp - @as(i64, @intCast(d)) * time.ns_per_day),
.zone = &timezones.UTC,
};
}
// From a file modified time in ns
pub fn fromModifiedTime(mtime: i128) Datetime {
- const ts = @intCast(i64, @divFloor(mtime, time.ns_per_ms));
+ const ts = @as(i64, @intCast(@divFloor(mtime, time.ns_per_ms)));
return Datetime.fromTimestamp(ts);
}
@@ -1248,13 +1248,13 @@ pub const Datetime = struct {
// Return a Datetime.Delta relative to this date
pub fn sub(self: Datetime, other: Datetime) Delta {
- const days = @intCast(i32, self.date.toOrdinal()) - @intCast(i32, other.date.toOrdinal());
+ const days = @as(i32, @intCast(self.date.toOrdinal())) - @as(i32, @intCast(other.date.toOrdinal()));
var seconds = self.time.totalSeconds() - other.time.totalSeconds();
if (self.zone.offset != other.zone.offset) {
const mins = (self.zone.offset - other.zone.offset);
seconds += mins * time.s_per_min;
}
- const ns = @intCast(i32, self.time.nanosecond) - @intCast(i32, other.time.nanosecond);
+ const ns = @as(i32, @intCast(self.time.nanosecond)) - @as(i32, @intCast(other.time.nanosecond));
return Delta{ .days = days, .seconds = seconds, .nanoseconds = ns };
}
@@ -1300,7 +1300,7 @@ pub const Datetime = struct {
var s = delta.seconds + self.time.totalSeconds();
// Rollover ns to s
- var ns = delta.nanoseconds + @intCast(i32, self.time.nanosecond);
+ var ns = delta.nanoseconds + @as(i32, @intCast(self.time.nanosecond));
if (ns >= time.ns_per_s) {
s += 1;
ns -= time.ns_per_s;
@@ -1309,17 +1309,17 @@ pub const Datetime = struct {
ns += time.ns_per_s;
}
assert(ns >= 0 and ns < time.ns_per_s);
- const nanosecond = @intCast(u32, ns);
+ const nanosecond = @as(u32, @intCast(ns));
// Rollover s to days
if (s >= time.s_per_day) {
const d = @divFloor(s, time.s_per_day);
- days += @intCast(i32, d);
+ days += @as(i32, @intCast(d));
s -= d * time.s_per_day;
} else if (s < 0) {
if (s < -time.s_per_day) { // Wrap multiple
const d = @divFloor(s, -time.s_per_day);
- days -= @intCast(i32, d);
+ days -= @as(i32, @intCast(d));
s += d * time.s_per_day;
}
days -= 1;
@@ -1327,7 +1327,7 @@ pub const Datetime = struct {
}
assert(s >= 0 and s < time.s_per_day);
- var second = @intCast(u32, s);
+ var second = @as(u32, @intCast(s));
const hour = @divFloor(second, time.s_per_hour);
second -= hour * time.s_per_hour;
const minute = @divFloor(second, time.s_per_min);
@@ -1378,7 +1378,7 @@ pub const Datetime = struct {
// From time in nanoseconds
pub fn formatHttpFromModifiedDate(buf: []u8, mtime: i128) ![]const u8 {
- const ts = @intCast(i64, @divFloor(mtime, time.ns_per_ms));
+ const ts = @as(i64, @intCast(@divFloor(mtime, time.ns_per_ms)));
return Datetime.formatHttpFromTimestamp(buf, ts);
}
diff --git a/src/env_loader.zig b/src/env_loader.zig
index 74577e3f2..406002731 100644
--- a/src/env_loader.zig
+++ b/src/env_loader.zig
@@ -238,7 +238,7 @@ pub const Loader = struct {
e_strings[0] = js_ast.E.String{
.data = if (value.len > 0)
- @ptrFromInt([*]u8, @intFromPtr(value.ptr))[0..value.len]
+ @as([*]u8, @ptrFromInt(@intFromPtr(value.ptr)))[0..value.len]
else
&[_]u8{},
};
@@ -261,7 +261,7 @@ pub const Loader = struct {
if (std.mem.indexOfScalar(u64, string_map_hashes, hash)) |key_i| {
e_strings[0] = js_ast.E.String{
.data = if (value.len > 0)
- @ptrFromInt([*]u8, @intFromPtr(value.ptr))[0..value.len]
+ @as([*]u8, @ptrFromInt(@intFromPtr(value.ptr)))[0..value.len]
else
&[_]u8{},
};
@@ -287,7 +287,7 @@ pub const Loader = struct {
e_strings[0] = js_ast.E.String{
.data = if (entry.value_ptr.*.len > 0)
- @ptrFromInt([*]u8, @intFromPtr(entry.value_ptr.*.ptr))[0..value.len]
+ @as([*]u8, @ptrFromInt(@intFromPtr(entry.value_ptr.*.ptr)))[0..value.len]
else
&[_]u8{},
};
@@ -425,17 +425,17 @@ pub const Loader = struct {
pub fn printLoaded(this: *Loader, start: i128) void {
const count =
- @intCast(u8, @intFromBool(this.@".env.development.local" != null)) +
- @intCast(u8, @intFromBool(this.@".env.production.local" != null)) +
- @intCast(u8, @intFromBool(this.@".env.test.local" != null)) +
- @intCast(u8, @intFromBool(this.@".env.local" != null)) +
- @intCast(u8, @intFromBool(this.@".env.development" != null)) +
- @intCast(u8, @intFromBool(this.@".env.production" != null)) +
- @intCast(u8, @intFromBool(this.@".env.test" != null)) +
- @intCast(u8, @intFromBool(this.@".env" != null));
+ @as(u8, @intCast(@intFromBool(this.@".env.development.local" != null))) +
+ @as(u8, @intCast(@intFromBool(this.@".env.production.local" != null))) +
+ @as(u8, @intCast(@intFromBool(this.@".env.test.local" != null))) +
+ @as(u8, @intCast(@intFromBool(this.@".env.local" != null))) +
+ @as(u8, @intCast(@intFromBool(this.@".env.development" != null))) +
+ @as(u8, @intCast(@intFromBool(this.@".env.production" != null))) +
+ @as(u8, @intCast(@intFromBool(this.@".env.test" != null))) +
+ @as(u8, @intCast(@intFromBool(this.@".env" != null)));
if (count == 0) return;
- const elapsed = @floatFromInt(f64, (std.time.nanoTimestamp() - start)) / std.time.ns_per_ms;
+ const elapsed = @as(f64, @floatFromInt((std.time.nanoTimestamp() - start))) / std.time.ns_per_ms;
const all = [_]string{
".env.development.local",
diff --git a/src/fs.zig b/src/fs.zig
index 98174fac3..df950fc5e 100644
--- a/src/fs.zig
+++ b/src/fs.zig
@@ -72,7 +72,7 @@ pub const FileSystem = struct {
pub fn tmpname(_: *const FileSystem, extname: string, buf: []u8, hash: u64) ![*:0]u8 {
// PRNG was...not so random
- const hex_value = @truncate(u64, @intCast(u128, hash) * @intCast(u128, std.time.nanoTimestamp()));
+ const hex_value = @as(u64, @truncate(@as(u128, @intCast(hash)) * @as(u128, @intCast(std.time.nanoTimestamp()))));
return try std.fmt.bufPrintZ(buf, ".{any}{s}", .{ bun.fmt.hexIntLower(hex_value), extname });
}
@@ -767,7 +767,7 @@ pub const FileSystem = struct {
std.mem.writeIntNative(@TypeOf(this.mtime), hash_bytes_remain[0..@sizeOf(@TypeOf(this.mtime))], this.mtime);
hash_bytes_remain = hash_bytes_remain[@sizeOf(@TypeOf(this.mtime))..];
std.debug.assert(hash_bytes_remain.len == 8);
- hash_bytes_remain[0..8].* = @bitCast([8]u8, @as(u64, 0));
+ hash_bytes_remain[0..8].* = @as([8]u8, @bitCast(@as(u64, 0)));
return bun.hash(&hash_bytes);
}
@@ -1370,11 +1370,11 @@ pub const PathName = struct {
// so if dir does not have a trailing slash, but is spaced one apart from the basename
// we can assume there is a trailing slash there
// so we extend the original slice's length by one
- return if (this.dir.len == 0) "./" else this.dir.ptr[0 .. this.dir.len + @intCast(
+ return if (this.dir.len == 0) "./" else this.dir.ptr[0 .. this.dir.len + @as(
usize,
- @intFromBool(
+ @intCast(@intFromBool(
this.dir[this.dir.len - 1] != std.fs.path.sep_posix and (@intFromPtr(this.dir.ptr) + this.dir.len + 1) == @intFromPtr(this.base.ptr),
- ),
+ )),
)];
}
diff --git a/src/futex.zig b/src/futex.zig
index 9741032d2..06b0e49dc 100644
--- a/src/futex.zig
+++ b/src/futex.zig
@@ -105,12 +105,12 @@ const WindowsFutex = struct {
// Positive values for timeouts are absolute time while negative is relative.
if (timeout) |timeout_ns| {
timeout_ptr = &timeout_value;
- timeout_value = -@intCast(windows.LARGE_INTEGER, timeout_ns / 100);
+ timeout_value = -@as(windows.LARGE_INTEGER, @intCast(timeout_ns / 100));
}
switch (windows.ntdll.RtlWaitOnAddress(
- @ptrCast(?*const anyopaque, ptr),
- @ptrCast(?*const anyopaque, &expect),
+ @as(?*const anyopaque, @ptrCast(ptr)),
+ @as(?*const anyopaque, @ptrCast(&expect)),
@sizeOf(@TypeOf(expect)),
timeout_ptr,
)) {
@@ -121,7 +121,7 @@ const WindowsFutex = struct {
}
fn wake(ptr: *const Atomic(u32), num_waiters: u32) void {
- const address = @ptrCast(?*const anyopaque, ptr);
+ const address = @as(?*const anyopaque, @ptrCast(ptr));
switch (num_waiters) {
1 => windows.ntdll.RtlWakeAddressSingle(address),
else => windows.ntdll.RtlWakeAddressAll(address),
@@ -139,14 +139,14 @@ const LinuxFutex = struct {
// Futex timespec timeout is already in relative time.
if (timeout) |timeout_ns| {
ts_ptr = &ts;
- ts.tv_sec = @intCast(@TypeOf(ts.tv_sec), timeout_ns / std.time.ns_per_s);
- ts.tv_nsec = @intCast(@TypeOf(ts.tv_nsec), timeout_ns % std.time.ns_per_s);
+ ts.tv_sec = @as(@TypeOf(ts.tv_sec), @intCast(timeout_ns / std.time.ns_per_s));
+ ts.tv_nsec = @as(@TypeOf(ts.tv_nsec), @intCast(timeout_ns % std.time.ns_per_s));
}
switch (linux.getErrno(linux.futex_wait(
- @ptrCast(*const i32, ptr),
+ @as(*const i32, @ptrCast(ptr)),
linux.FUTEX.PRIVATE_FLAG | linux.FUTEX.WAIT,
- @bitCast(i32, expect),
+ @as(i32, @bitCast(expect)),
ts_ptr,
))) {
.SUCCESS => {}, // notified by `wake()`
@@ -161,7 +161,7 @@ const LinuxFutex = struct {
fn wake(ptr: *const Atomic(u32), num_waiters: u32) void {
switch (linux.getErrno(linux.futex_wake(
- @ptrCast(*const i32, ptr),
+ @as(*const i32, @ptrCast(ptr)),
linux.FUTEX.PRIVATE_FLAG | linux.FUTEX.WAKE,
std.math.cast(i32, num_waiters) orelse std.math.maxInt(i32),
))) {
@@ -191,7 +191,7 @@ const DarwinFutex = struct {
assert(timeout_value != 0);
timeout_ns = timeout_value;
}
- const addr = @ptrCast(*const anyopaque, ptr);
+ const addr = @as(*const anyopaque, @ptrCast(ptr));
const flags = darwin.UL_COMPARE_AND_WAIT | darwin.ULF_NO_ERRNO;
// If we're using `__ulock_wait` and `timeout` is too big to fit inside a `u32` count of
// micro-seconds (around 70min), we'll request a shorter timeout. This is fine (users
@@ -209,7 +209,7 @@ const DarwinFutex = struct {
};
if (status >= 0) return;
- switch (@enumFromInt(std.os.E, -status)) {
+ switch (@as(std.os.E, @enumFromInt(-status))) {
.INTR => {},
// Address of the futex is paged out. This is unlikely, but possible in theory, and
// pthread/libdispatch on darwin bother to handle it. In this case we'll return
@@ -227,11 +227,11 @@ const DarwinFutex = struct {
}
while (true) {
- const addr = @ptrCast(*const anyopaque, ptr);
+ const addr = @as(*const anyopaque, @ptrCast(ptr));
const status = darwin.__ulock_wake(flags, addr, 0);
if (status >= 0) return;
- switch (@enumFromInt(std.os.E, -status)) {
+ switch (@as(std.os.E, @enumFromInt(-status))) {
.INTR => continue, // spurious wake()
.FAULT => continue, // address of the lock was paged out
.NOENT => return, // nothing was woken up
@@ -353,8 +353,8 @@ const PosixFutex = struct {
if (timeout) |timeout_ns| {
ts_ptr = &ts;
std.os.clock_gettime(std.os.CLOCK_REALTIME, &ts) catch unreachable;
- ts.tv_sec += @intCast(@TypeOf(ts.tv_sec), timeout_ns / std.time.ns_per_s);
- ts.tv_nsec += @intCast(@TypeOf(ts.tv_nsec), timeout_ns % std.time.ns_per_s);
+ ts.tv_sec += @as(@TypeOf(ts.tv_sec), @intCast(timeout_ns / std.time.ns_per_s));
+ ts.tv_nsec += @as(@TypeOf(ts.tv_nsec), @intCast(timeout_ns % std.time.ns_per_s));
if (ts.tv_nsec >= std.time.ns_per_s) {
ts.tv_sec += 1;
ts.tv_nsec -= std.time.ns_per_s;
@@ -473,7 +473,7 @@ test "Futex - Broadcast" {
fn runSender(self: *@This()) !void {
self.broadcast.store(BROADCAST_SENT, .Monotonic);
- Futex.wake(&self.broadcast, @intCast(u32, self.threads.len));
+ Futex.wake(&self.broadcast, @as(u32, @intCast(self.threads.len)));
while (true) {
const broadcast = self.broadcast.load(.Acquire);
diff --git a/src/hive_array.zig b/src/hive_array.zig
index 0213156fd..fd6835396 100644
--- a/src/hive_array.zig
+++ b/src/hive_array.zig
@@ -36,7 +36,7 @@ pub fn HiveArray(comptime T: type, comptime capacity: u16) type {
pub fn indexOf(self: *const Self, value: *const T) ?u32 {
const start = &self.buffer;
- const end = @ptrCast([*]const T, start) + capacity;
+ const end = @as([*]const T, @ptrCast(start)) + capacity;
if (!(@intFromPtr(value) >= @intFromPtr(start) and @intFromPtr(value) < @intFromPtr(end)))
return null;
@@ -44,12 +44,12 @@ pub fn HiveArray(comptime T: type, comptime capacity: u16) type {
const index = (@intFromPtr(value) - @intFromPtr(start)) / @sizeOf(T);
assert(index < capacity);
assert(&self.buffer[index] == value);
- return @intCast(u32, index);
+ return @as(u32, @intCast(index));
}
pub fn in(self: *const Self, value: *const T) bool {
const start = &self.buffer;
- const end = @ptrCast([*]const T, start) + capacity;
+ const end = @as([*]const T, @ptrCast(start)) + capacity;
return (@intFromPtr(value) >= @intFromPtr(start) and @intFromPtr(value) < @intFromPtr(end));
}
diff --git a/src/http.zig b/src/http.zig
index ff67d8ce5..c206fbf66 100644
--- a/src/http.zig
+++ b/src/http.zig
@@ -394,7 +394,7 @@ pub const RequestContext = struct {
}
if (this.bundler.router.?.routeIndexByHash(match.hash)) |ind| {
- route_index = @intCast(i32, ind);
+ route_index = @as(i32, @intCast(ind));
}
module_preload: {
@@ -437,7 +437,7 @@ pub const RequestContext = struct {
.reason = step,
.cwd = this.bundler.fs.top_level_dir,
.problems = Api.Problems{
- .code = @truncate(u16, @intFromError(err)),
+ .code = @as(u16, @truncate(@intFromError(err))),
.name = @errorName(err),
.exceptions = exceptions,
.build = try log.toAPI(allocator),
@@ -730,7 +730,7 @@ pub const RequestContext = struct {
SOCKET_FLAGS,
);
- ctx.status = @truncate(HTTPStatusCode, code);
+ ctx.status = @as(HTTPStatusCode, @truncate(code));
}
pub fn init(
@@ -1079,7 +1079,7 @@ pub const RequestContext = struct {
.from_timestamp = from_timestamp,
.loader = parse_result.loader.toAPI(),
.module_path = this.bundler.fs.relativeTo(file_path_str),
- .blob_length = @truncate(u32, written),
+ .blob_length = @as(u32, @truncate(written)),
},
},
.id = id,
@@ -1166,7 +1166,7 @@ pub const RequestContext = struct {
.from_timestamp = from_timestamp,
.loader = .css,
.module_path = this.bundler.fs.relativeTo(file_path_str),
- .blob_length = @truncate(u32, count.written),
+ .blob_length = @as(u32, @truncate(count.written)),
// .log = std.mem.zeroes(Api.Log),
},
},
@@ -1432,7 +1432,7 @@ pub const RequestContext = struct {
JavaScript.API.Bun.flushCSSImports();
vm.flush();
- Output.printElapsed(@floatFromInt(f64, (handler.start_timer.read())) / std.time.ns_per_ms);
+ Output.printElapsed(@as(f64, @floatFromInt((handler.start_timer.read()))) / std.time.ns_per_ms);
if (vm.bundler.options.framework.?.display_name.len > 0) {
Output.prettyError(
@@ -1716,11 +1716,11 @@ pub const RequestContext = struct {
pub var to_close: []*WebsocketHandler = &[_]*WebsocketHandler{};
pub fn generateTimestamp(handler: *WebsocketHandler) u32 {
- return @truncate(u32, handler.ctx.timer.read() / std.time.ns_per_ms);
+ return @as(u32, @truncate(handler.ctx.timer.read() / std.time.ns_per_ms));
}
pub fn toTimestamp(timestamp: u64) u32 {
- return @truncate(u32, timestamp / std.time.ns_per_ms);
+ return @as(u32, @truncate(timestamp / std.time.ns_per_ms));
}
pub fn broadcast(message: []const u8) !void {
@@ -1897,7 +1897,7 @@ pub const RequestContext = struct {
const welcome_message = Api.WebsocketMessageWelcome{
.asset_prefix = handler.ctx.bundler.options.routes.asset_prefix_path,
.epoch = WebsocketHandler.toTimestamp(
- @intCast(u64, (handler.ctx.timer.started.timestamp.tv_sec * std.time.ns_per_s)) + @intCast(u64, handler.ctx.timer.started.timestamp.tv_nsec),
+ @as(u64, @intCast((handler.ctx.timer.started.timestamp.tv_sec * std.time.ns_per_s))) + @as(u64, @intCast(handler.ctx.timer.started.timestamp.tv_nsec)),
),
.javascript_reloader = reloader,
.cwd = handler.ctx.bundler.fs.top_level_dir,
@@ -2085,7 +2085,7 @@ pub const RequestContext = struct {
socket_buffers[2] = iovec(build_result.bytes);
// we reuse the accept key buffer
// so we have a pointer that is not stack memory
- handler.accept_key[0..@sizeOf(usize)].* = @bitCast([@sizeOf(usize)]u8, bun.hash(build_result.bytes));
+ handler.accept_key[0..@sizeOf(usize)].* = @as([@sizeOf(usize)]u8, @bitCast(bun.hash(build_result.bytes)));
socket_buffers[3] = iovec(handler.accept_key[0..4]);
socket_buffer_count = 4;
}
@@ -2271,7 +2271,7 @@ pub const RequestContext = struct {
pub fn reserveNext(this: *SocketPrinterInternal, count: u32) anyerror![*]u8 {
try this.buffer.growIfNeeded(count);
- return @ptrCast([*]u8, &this.buffer.list.items.ptr[this.buffer.list.items.len]);
+ return @as([*]u8, @ptrCast(&this.buffer.list.items.ptr[this.buffer.list.items.len]));
}
pub fn advanceBy(this: *SocketPrinterInternal, count: u32) void {
@@ -3491,8 +3491,8 @@ pub const Server = struct {
}
if (attempts >= 10) {
- var random_number = std.rand.DefaultPrng.init(@intCast(u64, std.time.milliTimestamp()));
- const default_port = @intCast(u16, server.bundler.options.origin.getPort() orelse 3000);
+ var random_number = std.rand.DefaultPrng.init(@as(u64, @intCast(std.time.milliTimestamp())));
+ const default_port = @as(u16, @intCast(server.bundler.options.origin.getPort() orelse 3000));
Output.prettyErrorln(
"<r><red>error<r>: bun can't start because <b>port {d} is already in use<r>. Tried {d} - {d}. Try closing the other apps or manually passing bun a port\n\n <r><cyan><b>bun --origin http://localhost:{d}/<r>\n",
.{
@@ -3715,7 +3715,7 @@ pub const Server = struct {
req_ctx.sendInternalError(error.InternalError) catch {};
}
- const status = req_ctx.status orelse @intCast(HTTPStatusCode, 500);
+ const status = req_ctx.status orelse @as(HTTPStatusCode, @intCast(500));
if (log.msgs.items.len == 0) {
if (!did_print) {
diff --git a/src/http/header_builder.zig b/src/http/header_builder.zig
index 82e0868d9..540484655 100644
--- a/src/http/header_builder.zig
+++ b/src/http/header_builder.zig
@@ -22,15 +22,15 @@ pub fn allocate(this: *HeaderBuilder, allocator: std.mem.Allocator) !void {
}
pub fn append(this: *HeaderBuilder, name: string, value: string) void {
const name_ptr = Api.StringPointer{
- .offset = @truncate(u32, this.content.len),
- .length = @truncate(u32, name.len),
+ .offset = @as(u32, @truncate(this.content.len)),
+ .length = @as(u32, @truncate(name.len)),
};
_ = this.content.append(name);
const value_ptr = Api.StringPointer{
- .offset = @truncate(u32, this.content.len),
- .length = @truncate(u32, value.len),
+ .offset = @as(u32, @truncate(this.content.len)),
+ .length = @as(u32, @truncate(value.len)),
};
_ = this.content.append(value);
this.entries.appendAssumeCapacity(Headers.Kv{ .name = name_ptr, .value = value_ptr });
@@ -38,8 +38,8 @@ pub fn append(this: *HeaderBuilder, name: string, value: string) void {
pub fn appendFmt(this: *HeaderBuilder, name: string, comptime fmt: string, args: anytype) void {
const name_ptr = Api.StringPointer{
- .offset = @truncate(u32, this.content.len),
- .length = @truncate(u32, name.len),
+ .offset = @as(u32, @truncate(this.content.len)),
+ .length = @as(u32, @truncate(name.len)),
};
_ = this.content.append(name);
@@ -47,8 +47,8 @@ pub fn appendFmt(this: *HeaderBuilder, name: string, comptime fmt: string, args:
const value = this.content.fmt(fmt, args);
const value_ptr = Api.StringPointer{
- .offset = @truncate(u32, this.content.len - value.len),
- .length = @truncate(u32, value.len),
+ .offset = @as(u32, @truncate(this.content.len - value.len)),
+ .length = @as(u32, @truncate(value.len)),
};
this.entries.appendAssumeCapacity(Headers.Kv{ .name = name_ptr, .value = value_ptr });
diff --git a/src/http/mime_type.zig b/src/http/mime_type.zig
index 3d3d9a9a9..17f6821b3 100644
--- a/src/http/mime_type.zig
+++ b/src/http/mime_type.zig
@@ -26,7 +26,7 @@ pub fn createHashTable(allocator: std.mem.Allocator) !Map {
const decls = comptime std.meta.declarations(all);
var map = Map.init(allocator);
- try map.ensureTotalCapacity(@truncate(u32, decls.len));
+ try map.ensureTotalCapacity(@as(u32, @truncate(decls.len)));
@setEvalBranchQuota(4000);
inline for (decls) |decl| {
map.putAssumeCapacityNoClobber(decl.name, @field(all, decl.name));
diff --git a/src/http/url_path.zig b/src/http/url_path.zig
index ac31c740d..a48700671 100644
--- a/src/http/url_path.zig
+++ b/src/http/url_path.zig
@@ -91,10 +91,10 @@ pub fn parse(possibly_encoded_pathname_: string) !URLPath {
var first_segment_end: i16 = std.math.maxInt(i16);
var last_slash: i16 = -1;
- var i: i16 = @intCast(i16, decoded_pathname.len) - 1;
+ var i: i16 = @as(i16, @intCast(decoded_pathname.len)) - 1;
while (i >= 0) : (i -= 1) {
- const c = decoded_pathname[@intCast(usize, i)];
+ const c = decoded_pathname[@as(usize, @intCast(i))];
switch (c) {
'?' => {
@@ -130,18 +130,18 @@ pub fn parse(possibly_encoded_pathname_: string) !URLPath {
const extname = brk: {
if (question_mark_i > -1 and period_i > -1) {
period_i += 1;
- break :brk decoded_pathname[@intCast(usize, period_i)..@intCast(usize, question_mark_i)];
+ break :brk decoded_pathname[@as(usize, @intCast(period_i))..@as(usize, @intCast(question_mark_i))];
} else if (period_i > -1) {
period_i += 1;
- break :brk decoded_pathname[@intCast(usize, period_i)..];
+ break :brk decoded_pathname[@as(usize, @intCast(period_i))..];
} else {
break :brk &([_]u8{});
}
};
- var path = if (question_mark_i < 0) decoded_pathname[1..] else decoded_pathname[1..@intCast(usize, question_mark_i)];
+ var path = if (question_mark_i < 0) decoded_pathname[1..] else decoded_pathname[1..@as(usize, @intCast(question_mark_i))];
- const first_segment = decoded_pathname[1..@min(@intCast(usize, first_segment_end), decoded_pathname.len)];
+ const first_segment = decoded_pathname[1..@min(@as(usize, @intCast(first_segment_end)), decoded_pathname.len)];
const is_source_map = strings.eqlComptime(extname, "map");
var backup_extname: string = extname;
if (is_source_map and path.len > ".map".len) {
@@ -158,7 +158,7 @@ pub fn parse(possibly_encoded_pathname_: string) !URLPath {
.pathname = decoded_pathname,
.first_segment = first_segment,
.path = if (decoded_pathname.len == 1) "." else path,
- .query_string = if (question_mark_i > -1) decoded_pathname[@intCast(usize, question_mark_i)..@intCast(usize, decoded_pathname.len)] else "",
+ .query_string = if (question_mark_i > -1) decoded_pathname[@as(usize, @intCast(question_mark_i))..@as(usize, @intCast(decoded_pathname.len))] else "",
.needs_redirect = needs_redirect,
};
}
diff --git a/src/http/websocket.zig b/src/http/websocket.zig
index 48a4cebf5..2fdd28451 100644
--- a/src/http/websocket.zig
+++ b/src/http/websocket.zig
@@ -53,20 +53,20 @@ pub const WebsocketHeader = packed struct {
if (comptime Environment.allow_assert) {
var buf_ = [2]u8{ 0, 0 };
var stream = std.io.fixedBufferStream(&buf_);
- stream.writer().writeIntBig(u16, @bitCast(u16, header)) catch unreachable;
+ stream.writer().writeIntBig(u16, @as(u16, @bitCast(header))) catch unreachable;
stream.pos = 0;
const casted = stream.reader().readIntBig(u16) catch unreachable;
- std.debug.assert(casted == @bitCast(u16, header));
- std.debug.assert(std.meta.eql(@bitCast(WebsocketHeader, casted), header));
+ std.debug.assert(casted == @as(u16, @bitCast(header)));
+ std.debug.assert(std.meta.eql(@as(WebsocketHeader, @bitCast(casted)), header));
}
- try writer.writeIntBig(u16, @bitCast(u16, header));
+ try writer.writeIntBig(u16, @as(u16, @bitCast(header)));
std.debug.assert(header.len == packLength(n));
}
pub fn packLength(length: usize) u7 {
return switch (length) {
- 0...125 => @truncate(u7, length),
+ 0...125 => @as(u7, @truncate(length)),
126...0xFFFF => 126,
else => 127,
};
@@ -156,7 +156,7 @@ pub const Websocket = struct {
var socket = Websocket{
.read_stream = undefined,
.reader = undefined,
- .stream = std.net.Stream{ .handle = @intCast(std.os.socket_t, fd) },
+ .stream = std.net.Stream{ .handle = @as(std.os.socket_t, @intCast(fd)) },
.flags = flags,
};
@@ -185,7 +185,7 @@ pub const Websocket = struct {
// Close and send the status
pub fn close(self: *Websocket, code: u16) !void {
const c = if (native_endian == .Big) code else @byteSwap(code);
- const data = @bitCast([2]u8, c);
+ const data = @as([2]u8, @bitCast(c));
_ = try self.writeMessage(.Close, &data);
}
@@ -230,13 +230,13 @@ pub const Websocket = struct {
if (!dataframe.isValid()) return error.InvalidMessage;
- try stream.writeIntBig(u16, @bitCast(u16, dataframe.header));
+ try stream.writeIntBig(u16, @as(u16, @bitCast(dataframe.header)));
// Write extended length if needed
const n = dataframe.data.len;
switch (n) {
0...126 => {}, // Included in header
- 127...0xFFFF => try stream.writeIntBig(u16, @truncate(u16, n)),
+ 127...0xFFFF => try stream.writeIntBig(u16, @as(u16, @truncate(n))),
else => try stream.writeIntBig(u64, n),
}
@@ -292,9 +292,9 @@ pub const Websocket = struct {
// header.rsv1 = header_bytes[0] & 0x40 == 0x40;
// header.rsv2 = header_bytes[0] & 0x20;
// header.rsv3 = header_bytes[0] & 0x10;
- header.opcode = @enumFromInt(Opcode, @truncate(u4, header_bytes[0]));
+ header.opcode = @as(Opcode, @enumFromInt(@as(u4, @truncate(header_bytes[0]))));
header.mask = header_bytes[1] & 0x80 == 0x80;
- header.len = @truncate(u7, header_bytes[1]);
+ header.len = @as(u7, @truncate(header_bytes[1]));
// Decode length
var length: u64 = header.len;
diff --git a/src/http/websocket_http_client.zig b/src/http/websocket_http_client.zig
index 80f29525c..5bbc0a5fd 100644
--- a/src/http/websocket_http_client.zig
+++ b/src/http/websocket_http_client.zig
@@ -194,8 +194,8 @@ pub fn NewHTTPUpgradeClient(comptime ssl: bool) type {
pub fn register(global: *JSC.JSGlobalObject, loop_: *anyopaque, ctx_: *anyopaque) callconv(.C) void {
var vm = global.bunVM();
- var loop = @ptrCast(*uws.Loop, @alignCast(@alignOf(uws.Loop), loop_));
- var ctx: *uws.SocketContext = @ptrCast(*uws.SocketContext, ctx_);
+ var loop = @as(*uws.Loop, @ptrCast(@alignCast(loop_)));
+ var ctx: *uws.SocketContext = @as(*uws.SocketContext, @ptrCast(ctx_));
if (vm.uws_event_loop) |other| {
std.debug.assert(other == loop);
@@ -268,7 +268,7 @@ pub fn NewHTTPUpgradeClient(comptime ssl: bool) type {
if (Socket.connect(
display_host,
port,
- @ptrCast(*uws.SocketContext, socket_ctx),
+ @as(*uws.SocketContext, @ptrCast(socket_ctx)),
HTTPClient,
client,
"tcp",
@@ -366,7 +366,7 @@ pub fn NewHTTPUpgradeClient(comptime ssl: bool) type {
return;
}
- this.to_send = this.input_body_buf[@intCast(usize, wrote)..];
+ this.to_send = this.input_body_buf[@as(usize, @intCast(wrote))..];
}
pub fn handleData(this: *HTTPClient, socket: Socket, data: []const u8) void {
@@ -410,7 +410,7 @@ pub fn NewHTTPUpgradeClient(comptime ssl: bool) type {
}
};
- this.processResponse(response, body[@intCast(usize, response.bytes_read)..]);
+ this.processResponse(response, body[@as(usize, @intCast(response.bytes_read))..]);
}
pub fn handleEnd(this: *HTTPClient, socket: Socket) void {
@@ -547,7 +547,7 @@ pub fn NewHTTPUpgradeClient(comptime ssl: bool) type {
this.terminate(ErrorCode.failed_to_write);
return;
}
- this.to_send = this.to_send[@min(@intCast(usize, wrote), this.to_send.len)..];
+ this.to_send = this.to_send[@min(@as(usize, @intCast(wrote)), this.to_send.len)..];
}
pub fn handleTimeout(
this: *HTTPClient,
@@ -586,7 +586,7 @@ pub const Mask = struct {
mask_buf.* = globalThis.bunVM().rareData().entropySlice(4)[0..4].*;
const mask = mask_buf.*;
- const skip_mask = @bitCast(u32, mask) == 0;
+ const skip_mask = @as(u32, @bitCast(mask)) == 0;
if (!skip_mask) {
fillWithSkipMask(mask, output_, input_, false);
} else {
@@ -711,7 +711,7 @@ fn parseWebSocketHeader(
// + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
// | Payload Data continued ... |
// +---------------------------------------------------------------+
- const header = @bitCast(WebsocketHeader, @byteSwap(@bitCast(u16, bytes)));
+ const header = @as(WebsocketHeader, @bitCast(@byteSwap(@as(u16, @bitCast(bytes)))));
const payload = @as(usize, header.len);
payload_length.* = payload;
receiving_type.* = header.opcode;
@@ -787,13 +787,13 @@ const Copy = union(enum) {
// 0, 2, 8 byte length
var to_mask = buf[content_offset..];
- var header = @bitCast(WebsocketHeader, @as(u16, 0));
+ var header = @as(WebsocketHeader, @bitCast(@as(u16, 0)));
// Write extended length if needed
switch (how_big_is_the_length_integer) {
0 => {},
- 2 => std.mem.writeIntBig(u16, buf[2..][0..2], @truncate(u16, content_byte_len)),
- 8 => std.mem.writeIntBig(u64, buf[2..][0..8], @truncate(u64, content_byte_len)),
+ 2 => std.mem.writeIntBig(u16, buf[2..][0..2], @as(u16, @truncate(content_byte_len))),
+ 8 => std.mem.writeIntBig(u64, buf[2..][0..8], @as(u64, @truncate(content_byte_len))),
else => unreachable,
}
@@ -846,7 +846,7 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
outgoing_websocket: ?*CppWebSocket = null,
receive_state: ReceiveState = ReceiveState.need_header,
- receive_header: WebsocketHeader = @bitCast(WebsocketHeader, @as(u16, 0)),
+ receive_header: WebsocketHeader = @as(WebsocketHeader, @bitCast(@as(u16, 0))),
receiving_type: Opcode = Opcode.ResB,
ping_frame_bytes: [128 + 6]u8 = [_]u8{0} ** (128 + 6),
@@ -874,9 +874,9 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
pub fn register(global: *JSC.JSGlobalObject, loop_: *anyopaque, ctx_: *anyopaque) callconv(.C) void {
var vm = global.bunVM();
- var loop = @ptrCast(*uws.Loop, @alignCast(@alignOf(uws.Loop), loop_));
+ var loop = @as(*uws.Loop, @ptrCast(@alignCast(loop_)));
- var ctx: *uws.SocketContext = @ptrCast(*uws.SocketContext, ctx_);
+ var ctx: *uws.SocketContext = @as(*uws.SocketContext, @ptrCast(ctx_));
if (vm.uws_event_loop) |other| {
std.debug.assert(other == loop);
@@ -1312,7 +1312,7 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
// fast path: no backpressure, no queue, just send the bytes.
if (!this.hasBackpressure()) {
const wrote = socket.write(bytes, !is_closing);
- const expected = @intCast(c_int, bytes.len);
+ const expected = @as(c_int, @intCast(bytes.len));
if (wrote == expected) {
return true;
}
@@ -1322,7 +1322,7 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
return false;
}
- _ = this.copyToSendBuffer(bytes[@intCast(usize, wrote)..], false, is_closing);
+ _ = this.copyToSendBuffer(bytes[@as(usize, @intCast(wrote))..], false, is_closing);
return true;
}
@@ -1369,7 +1369,7 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
this.terminate(ErrorCode.failed_to_write);
return false;
}
- const expected = @intCast(usize, wrote);
+ const expected = @as(usize, @intCast(wrote));
var readable = this.send_buffer.readableSlice(0);
if (readable.ptr == out_buf.ptr) {
this.send_buffer.discard(expected);
@@ -1388,15 +1388,15 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
return false;
}
- var header = @bitCast(WebsocketHeader, @as(u16, 0));
+ var header = @as(WebsocketHeader, @bitCast(@as(u16, 0)));
header.final = true;
header.opcode = .Pong;
var to_mask = this.ping_frame_bytes[6..][0..this.ping_len];
header.mask = to_mask.len > 0;
- header.len = @truncate(u7, this.ping_len);
- this.ping_frame_bytes[0..2].* = @bitCast([2]u8, header);
+ header.len = @as(u7, @truncate(this.ping_len));
+ this.ping_frame_bytes[0..2].* = @as([2]u8, @bitCast(header));
if (to_mask.len > 0) {
Mask.fill(this.globalThis, this.ping_frame_bytes[2..6], to_mask, to_mask);
@@ -1422,12 +1422,12 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
socket.shutdownRead();
var final_body_bytes: [128 + 8]u8 = undefined;
- var header = @bitCast(WebsocketHeader, @as(u16, 0));
+ var header = @as(WebsocketHeader, @bitCast(@as(u16, 0)));
header.final = true;
header.opcode = .Close;
header.mask = true;
- header.len = @truncate(u7, body_len + 2);
- final_body_bytes[0..2].* = @bitCast([2]u8, @bitCast(u16, header));
+ header.len = @as(u7, @truncate(body_len + 2));
+ final_body_bytes[0..2].* = @as([2]u8, @bitCast(@as(u16, @bitCast(header))));
var mask_buf: *[4]u8 = final_body_bytes[2..6];
std.mem.writeIntSliceBig(u16, final_body_bytes[6..8], code);
@@ -1489,7 +1489,7 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
return;
}
- const opcode = @enumFromInt(Opcode, @truncate(u4, op));
+ const opcode = @as(Opcode, @enumFromInt(@as(u4, @truncate(op))));
const slice = ptr[0..len];
const bytes = Copy{ .bytes = slice };
// fast path: small frame, no backpressure, attempt to send without allocating
@@ -1516,7 +1516,7 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
// Note: 0 is valid
- const opcode = @enumFromInt(Opcode, @truncate(u4, op));
+ const opcode = @as(Opcode, @enumFromInt(@as(u4, @truncate(op))));
{
var inline_buf: [stack_frame_size]u8 = undefined;
@@ -1622,8 +1622,8 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
buffered_data: [*]u8,
buffered_data_len: usize,
) callconv(.C) ?*anyopaque {
- var tcp = @ptrCast(*uws.Socket, input_socket);
- var ctx = @ptrCast(*uws.SocketContext, socket_ctx);
+ var tcp = @as(*uws.Socket, @ptrCast(input_socket));
+ var ctx = @as(*uws.SocketContext, @ptrCast(socket_ctx));
var adopted = Socket.adopt(
tcp,
ctx,
@@ -1657,9 +1657,9 @@ pub fn NewWebSocketClient(comptime ssl: bool) type {
// before the initial data handler is called
outgoing.ref();
}
- return @ptrCast(
+ return @as(
*anyopaque,
- adopted,
+ @ptrCast(adopted),
);
}
diff --git a/src/http_client_async.zig b/src/http_client_async.zig
index 2cb534ed2..441c8ae47 100644
--- a/src/http_client_async.zig
+++ b/src/http_client_async.zig
@@ -42,7 +42,7 @@ const HiveArray = @import("./hive_array.zig").HiveArray;
const Batch = NetworkThread.Batch;
const TaggedPointerUnion = @import("./tagged_pointer.zig").TaggedPointerUnion;
const DeadSocket = opaque {};
-var dead_socket = @ptrFromInt(*DeadSocket, 1);
+var dead_socket = @as(*DeadSocket, @ptrFromInt(1));
//TODO: this needs to be freed when Worker Threads are implemented
var socket_async_http_abort_tracker = std.AutoArrayHashMap(u32, *uws.Socket).init(bun.default_allocator);
var async_http_id: std.atomic.Atomic(u32) = std.atomic.Atomic(u32).init(0);
@@ -99,19 +99,19 @@ pub const Sendfile = struct {
) Status {
const adjusted_count_temporary = @min(@as(u64, this.remain), @as(u63, std.math.maxInt(u63)));
// TODO we should not need this int cast; improve the return type of `@min`
- const adjusted_count = @intCast(u63, adjusted_count_temporary);
+ const adjusted_count = @as(u63, @intCast(adjusted_count_temporary));
if (Environment.isLinux) {
- var signed_offset = @intCast(i64, this.offset);
+ var signed_offset = @as(i64, @intCast(this.offset));
const begin = this.offset;
const val =
// this does the syscall directly, without libc
std.os.linux.sendfile(socket.fd(), this.fd, &signed_offset, this.remain);
- this.offset = @intCast(u64, signed_offset);
+ this.offset = @as(u64, @intCast(signed_offset));
const errcode = std.os.linux.getErrno(val);
- this.remain -|= @intCast(u64, this.offset -| begin);
+ this.remain -|= @as(u64, @intCast(this.offset -| begin));
if (errcode != .SUCCESS or this.remain == 0 or val == 0) {
if (errcode == .SUCCESS) {
@@ -122,7 +122,7 @@ pub const Sendfile = struct {
}
} else {
var sbytes: std.os.off_t = adjusted_count;
- const signed_offset = @bitCast(i64, @as(u64, this.offset));
+ const signed_offset = @as(i64, @bitCast(@as(u64, this.offset)));
const errcode = std.c.getErrno(std.c.sendfile(
this.fd,
socket.fd(),
@@ -132,7 +132,7 @@ pub const Sendfile = struct {
null,
0,
));
- const wrote = @intCast(u64, sbytes);
+ const wrote = @as(u64, @intCast(sbytes));
this.offset +|= wrote;
this.remain -|= wrote;
if (errcode != .AGAIN or this.remain == 0 or sbytes == 0) {
@@ -200,7 +200,7 @@ const ProxyTunnel = struct {
var out_bio: *BoringSSL.BIO = undefined;
if (comptime is_ssl) {
//TLS -> TLS
- var proxy_ssl: *BoringSSL.SSL = @ptrCast(*BoringSSL.SSL, socket.getNativeHandle());
+ var proxy_ssl: *BoringSSL.SSL = @as(*BoringSSL.SSL, @ptrCast(socket.getNativeHandle()));
//create new SSL BIO
out_bio = BoringSSL.BIO_new(BoringSSL.BIO_f_ssl()) orelse unreachable;
//chain SSL bio with proxy BIO
@@ -208,7 +208,7 @@ const ProxyTunnel = struct {
_ = BoringSSL.BIO_push(out_bio, proxy_bio);
} else {
// socket output bio for non-TLS -> TLS
- var fd = @intCast(c_int, @intFromPtr(socket.getNativeHandle()));
+ var fd = @as(c_int, @intCast(@intFromPtr(socket.getNativeHandle())));
out_bio = BoringSSL.BIO_new_fd(fd, BoringSSL.BIO_NOCLOSE);
}
@@ -315,13 +315,13 @@ fn NewHTTPContext(comptime ssl: bool) type {
unreachable;
}
- return @ptrCast(*BoringSSL.SSL_CTX, this.us_socket_context.getNativeHandle(true));
+ return @as(*BoringSSL.SSL_CTX, @ptrCast(this.us_socket_context.getNativeHandle(true)));
}
pub fn init(this: *@This()) !void {
var opts: uws.us_socket_context_options_t = undefined;
const size = @sizeOf(uws.us_socket_context_options_t);
- @memset(@ptrCast([*]u8, &opts)[0..size], 0);
+ @memset(@as([*]u8, @ptrCast(&opts))[0..size], 0);
this.us_socket_context = uws.us_create_socket_context(ssl_int, http_thread.loop, @sizeOf(usize), opts).?;
if (comptime ssl) {
this.sslCtx().setup();
@@ -356,7 +356,7 @@ fn NewHTTPContext(comptime ssl: bool) type {
pending.http_socket = socket;
@memcpy(pending.hostname_buf[0..hostname.len], hostname);
- pending.hostname_len = @truncate(u8, hostname.len);
+ pending.hostname_len = @as(u8, @truncate(hostname.len));
pending.port = port;
log("Keep-Alive release {s}:{d} (0x{})", .{ hostname, port, @intFromPtr(socket.socket) });
@@ -484,10 +484,10 @@ fn NewHTTPContext(comptime ssl: bool) type {
ptr: *anyopaque,
socket: HTTPSocket,
) void {
- var tagged = ActiveSocket.from(@ptrCast(**anyopaque, @alignCast(@alignOf(**anyopaque), ptr)).*);
+ var tagged = ActiveSocket.from(@as(**anyopaque, @ptrCast(@alignCast(ptr))).*);
{
@setRuntimeSafety(false);
- socket.ext(**anyopaque).?.* = @ptrCast(**anyopaque, @alignCast(@alignOf(**anyopaque), ActiveSocket.init(dead_socket).ptrUnsafe()));
+ socket.ext(**anyopaque).?.* = @as(**anyopaque, @ptrCast(@alignCast(ActiveSocket.init(dead_socket).ptrUnsafe())));
}
if (tagged.get(HTTPClient)) |client| {
@@ -512,7 +512,7 @@ fn NewHTTPContext(comptime ssl: bool) type {
var iter = this.pending_sockets.available.iterator(.{ .kind = .unset });
while (iter.next()) |pending_socket_index| {
- var socket = this.pending_sockets.at(@intCast(u16, pending_socket_index));
+ var socket = this.pending_sockets.at(@as(u16, @intCast(pending_socket_index)));
if (socket.port != port) {
continue;
}
@@ -708,7 +708,7 @@ pub const HTTPThread = struct {
this.loop.run();
if (comptime Environment.isDebug) {
var end = std.time.nanoTimestamp();
- threadlog("Waited {any}\n", .{std.fmt.fmtDurationSigned(@truncate(i64, end - start_time))});
+ threadlog("Waited {any}\n", .{std.fmt.fmtDurationSigned(@as(i64, @truncate(end - start_time)))});
Output.flush();
}
}
@@ -768,7 +768,7 @@ pub fn onOpen(
}
if (comptime is_ssl) {
- var ssl: *BoringSSL.SSL = @ptrCast(*BoringSSL.SSL, socket.getNativeHandle());
+ var ssl: *BoringSSL.SSL = @as(*BoringSSL.SSL, @ptrCast(socket.getNativeHandle()));
if (!ssl.isInitFinished()) {
var _hostname = client.hostname orelse client.url.hostname;
if (client.http_proxy) |proxy| {
@@ -1095,7 +1095,7 @@ pub const InternalState = struct {
this.content_encoding_i = std.math.maxInt(@TypeOf(this.content_encoding_i));
}
- this.body_size = @truncate(usize, body_out_str.list.items.len);
+ this.body_size = @as(usize, @truncate(body_out_str.list.items.len));
}
};
@@ -1897,7 +1897,7 @@ pub fn onWritable(this: *HTTPClient, comptime is_first_call: bool, comptime is_s
return;
}
- this.state.request_sent_len += @intCast(usize, amount);
+ this.state.request_sent_len += @as(usize, @intCast(amount));
const has_sent_headers = this.state.request_sent_len >= headers_len;
if (has_sent_headers and this.state.request_body.len > 0) {
@@ -1923,7 +1923,7 @@ pub fn onWritable(this: *HTTPClient, comptime is_first_call: bool, comptime is_s
);
// we sent everything, but there's some body leftover
- if (amount == @intCast(c_int, to_send.len)) {
+ if (amount == @as(c_int, @intCast(to_send.len))) {
this.onWritable(false, is_ssl, socket);
}
} else {
@@ -1942,8 +1942,8 @@ pub fn onWritable(this: *HTTPClient, comptime is_first_call: bool, comptime is_s
return;
}
- this.state.request_sent_len += @intCast(usize, amount);
- this.state.request_body = this.state.request_body[@intCast(usize, amount)..];
+ this.state.request_sent_len += @as(usize, @intCast(amount));
+ this.state.request_body = this.state.request_body[@as(usize, @intCast(amount))..];
if (this.state.request_body.len == 0) {
this.state.request_stage = .done;
@@ -1985,8 +1985,8 @@ pub fn onWritable(this: *HTTPClient, comptime is_first_call: bool, comptime is_s
return;
};
- this.state.request_sent_len += @intCast(usize, amount);
- this.state.request_body = this.state.request_body[@intCast(usize, amount)..];
+ this.state.request_sent_len += @as(usize, @intCast(amount));
+ this.state.request_body = this.state.request_body[@as(usize, @intCast(amount))..];
if (this.state.request_body.len == 0) {
this.state.request_stage = .done;
@@ -2046,7 +2046,7 @@ pub fn onWritable(this: *HTTPClient, comptime is_first_call: bool, comptime is_s
}
}
- this.state.request_sent_len += @intCast(usize, amount);
+ this.state.request_sent_len += @as(usize, @intCast(amount));
const has_sent_headers = this.state.request_sent_len >= headers_len;
if (has_sent_headers and this.state.request_body.len > 0) {
@@ -2065,7 +2065,7 @@ pub fn onWritable(this: *HTTPClient, comptime is_first_call: bool, comptime is_s
std.debug.assert(this.state.request_body.len > 0);
// we sent everything, but there's some body leftover
- if (amount == @intCast(c_int, to_send.len)) {
+ if (amount == @as(c_int, @intCast(to_send.len))) {
this.onWritable(false, is_ssl, socket);
}
} else {
@@ -2200,7 +2200,7 @@ pub fn onData(this: *HTTPClient, comptime is_ssl: bool, incoming_data: []const u
this.state.pending_response = response;
- var body_buf = to_read[@min(@intCast(usize, response.bytes_read), to_read.len)..];
+ var body_buf = to_read[@min(@as(usize, @intCast(response.bytes_read)), to_read.len)..];
var deferred_redirect: ?*URLBufferPool.Node = null;
const can_continue = this.handleResponseMetadata(
@@ -2540,7 +2540,7 @@ pub const HTTPClientResult = struct {
}
pub fn wrapped_callback(ptr: *anyopaque, result: HTTPClientResult) void {
- var casted = @ptrCast(Type, @alignCast(std.meta.alignment(Type), ptr));
+ var casted = @as(Type, @ptrCast(@alignCast(ptr)));
@call(.always_inline, callback, .{ casted, result });
}
};
@@ -2582,8 +2582,8 @@ fn handleResponseBodyFromSinglePacket(this: *HTTPClient, incoming_data: []const
if (this.state.encoding.isCompressed()) {
var body_buffer = this.state.body_out_str.?;
if (body_buffer.list.capacity == 0) {
- const min = @min(@ceil(@floatFromInt(f64, incoming_data.len) * 1.5), @as(f64, 1024 * 1024 * 2));
- try body_buffer.growBy(@max(@intFromFloat(usize, min), 32));
+ const min = @min(@ceil(@as(f64, @floatFromInt(incoming_data.len)) * 1.5), @as(f64, 1024 * 1024 * 2));
+ try body_buffer.growBy(@max(@as(usize, @intFromFloat(min)), 32));
}
try ZlibPool.decompress(incoming_data, body_buffer, default_allocator);
@@ -2798,10 +2798,10 @@ pub fn handleResponseMetadata(
hashHeaderConst("Content-Encoding") => {
if (strings.eqlComptime(header.value, "gzip")) {
this.state.encoding = Encoding.gzip;
- this.state.content_encoding_i = @truncate(u8, header_i);
+ this.state.content_encoding_i = @as(u8, @truncate(header_i));
} else if (strings.eqlComptime(header.value, "deflate")) {
this.state.encoding = Encoding.deflate;
- this.state.content_encoding_i = @truncate(u8, header_i);
+ this.state.content_encoding_i = @as(u8, @truncate(header_i));
} else if (!strings.eqlComptime(header.value, "identity")) {
return error.UnsupportedContentEncoding;
}
diff --git a/src/install/bin.zig b/src/install/bin.zig
index f8117c1e8..adbd5f4d3 100644
--- a/src/install/bin.zig
+++ b/src/install/bin.zig
@@ -56,7 +56,7 @@ pub const Bin = extern struct {
for (list) |*extern_string| {
builder.count(extern_string.slice(buf));
}
- return @truncate(u32, list.len);
+ return @as(u32, @truncate(list.len));
},
else => {},
}
@@ -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);
- @ptrFromInt([*]u8, @intFromPtr(joined.ptr))[joined.len] = 0;
+ @as([*]u8, @ptrFromInt(@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;
@@ -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);
- @ptrFromInt([*]u8, @intFromPtr(joined.ptr))[joined.len] = 0;
+ @as([*]u8, @ptrFromInt(@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;
diff --git a/src/install/dependency.zig b/src/install/dependency.zig
index 6ef02bbfc..8578e998a 100644
--- a/src/install/dependency.zig
+++ b/src/install/dependency.zig
@@ -146,8 +146,8 @@ pub fn toDependency(
};
return Dependency{
.name = name,
- .name_hash = @bitCast(u64, this[8..16].*),
- .behavior = @enumFromInt(Dependency.Behavior, this[16]),
+ .name_hash = @as(u64, @bitCast(this[8..16].*)),
+ .behavior = @as(Dependency.Behavior, @enumFromInt(this[16])),
.version = Dependency.Version.toVersion(name, this[17..this.len].*, ctx),
};
}
@@ -155,7 +155,7 @@ pub fn toDependency(
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[8..16].* = @as([8]u8, @bitCast(this.name_hash));
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 = @enumFromInt(Dependency.Version.Tag, bytes[0]);
+ const tag = @as(Dependency.Version.Tag, @enumFromInt(bytes[0]));
const sliced = &slice.sliced(ctx.buffer);
return Dependency.parseWithTag(
ctx.allocator,
@@ -920,41 +920,41 @@ pub const Behavior = enum(u8) {
pub inline fn setNormal(this: Behavior, value: bool) Behavior {
if (value) {
- return @enumFromInt(Behavior, @intFromEnum(this) | Behavior.normal);
+ return @as(Behavior, @enumFromInt(@intFromEnum(this) | Behavior.normal));
} else {
- return @enumFromInt(Behavior, @intFromEnum(this) & ~Behavior.normal);
+ return @as(Behavior, @enumFromInt(@intFromEnum(this) & ~Behavior.normal));
}
}
pub inline fn setOptional(this: Behavior, value: bool) Behavior {
if (value) {
- return @enumFromInt(Behavior, @intFromEnum(this) | Behavior.optional);
+ return @as(Behavior, @enumFromInt(@intFromEnum(this) | Behavior.optional));
} else {
- return @enumFromInt(Behavior, @intFromEnum(this) & ~Behavior.optional);
+ return @as(Behavior, @enumFromInt(@intFromEnum(this) & ~Behavior.optional));
}
}
pub inline fn setDev(this: Behavior, value: bool) Behavior {
if (value) {
- return @enumFromInt(Behavior, @intFromEnum(this) | Behavior.dev);
+ return @as(Behavior, @enumFromInt(@intFromEnum(this) | Behavior.dev));
} else {
- return @enumFromInt(Behavior, @intFromEnum(this) & ~Behavior.dev);
+ return @as(Behavior, @enumFromInt(@intFromEnum(this) & ~Behavior.dev));
}
}
pub inline fn setPeer(this: Behavior, value: bool) Behavior {
if (value) {
- return @enumFromInt(Behavior, @intFromEnum(this) | Behavior.peer);
+ return @as(Behavior, @enumFromInt(@intFromEnum(this) | Behavior.peer));
} else {
- return @enumFromInt(Behavior, @intFromEnum(this) & ~Behavior.peer);
+ return @as(Behavior, @enumFromInt(@intFromEnum(this) & ~Behavior.peer));
}
}
pub inline fn setWorkspace(this: Behavior, value: bool) Behavior {
if (value) {
- return @enumFromInt(Behavior, @intFromEnum(this) | Behavior.workspace);
+ return @as(Behavior, @enumFromInt(@intFromEnum(this) | Behavior.workspace));
} else {
- return @enumFromInt(Behavior, @intFromEnum(this) & ~Behavior.workspace);
+ return @as(Behavior, @enumFromInt(@intFromEnum(this) & ~Behavior.workspace));
}
}
diff --git a/src/install/extract_tarball.zig b/src/install/extract_tarball.zig
index 3be00853f..a533a92a7 100644
--- a/src/install/extract_tarball.zig
+++ b/src/install/extract_tarball.zig
@@ -341,7 +341,7 @@ fn extract(this: *const ExtractTarball, tgz_bytes: []const u8) !Install.ExtractD
if (switch (this.resolution.tag) {
// TODO remove extracted files not matching any globs under "files"
.github, .local_tarball, .remote_tarball => true,
- else => this.package_manager.lockfile.trusted_dependencies.contains(@truncate(u32, Semver.String.Builder.stringHash(name))),
+ else => this.package_manager.lockfile.trusted_dependencies.contains(@as(u32, @truncate(Semver.String.Builder.stringHash(name)))),
}) {
const json_file = final_dir.openFileZ("package.json", .{ .mode = .read_only }) catch |err| {
this.package_manager.log.addErrorFmt(
diff --git a/src/install/install.zig b/src/install/install.zig
index 65f4a35e9..a71ad6a5a 100644
--- a/src/install/install.zig
+++ b/src/install/install.zig
@@ -151,8 +151,8 @@ pub fn ExternalSliceAligned(comptime Type: type, comptime alignment_: ?u29) type
// }
return Slice{
- .off = @truncate(u32, (@intFromPtr(in.ptr) - @intFromPtr(buf.ptr)) / @sizeOf(Type)),
- .len = @truncate(u32, in.len),
+ .off = @as(u32, @truncate((@intFromPtr(in.ptr) - @intFromPtr(buf.ptr)) / @sizeOf(Type))),
+ .len = @as(u32, @truncate(in.len)),
};
}
};
@@ -346,12 +346,12 @@ const NetworkTask = struct {
try header_builder.entries.append(
allocator,
.{
- .name = .{ .offset = 0, .length = @truncate(u32, "Accept".len) },
- .value = .{ .offset = "Accept".len, .length = @truncate(u32, default_headers_buf.len - "Accept".len) },
+ .name = .{ .offset = 0, .length = @as(u32, @truncate("Accept".len)) },
+ .value = .{ .offset = "Accept".len, .length = @as(u32, @truncate(default_headers_buf.len - "Accept".len)) },
},
);
header_builder.header_count = 1;
- header_builder.content = GlobalStringBuilder{ .ptr = @ptrFromInt([*]u8, @intFromPtr(bun.span(default_headers_buf).ptr)), .len = default_headers_buf.len, .cap = default_headers_buf.len };
+ header_builder.content = GlobalStringBuilder{ .ptr = @as([*]u8, @ptrFromInt(@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);
@@ -479,7 +479,7 @@ pub const Features = struct {
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);
+ return @as(Behavior, @enumFromInt(out));
}
pub const main = Features{
@@ -545,28 +545,28 @@ const Task = struct {
hasher.update(package_name);
hasher.update("@");
hasher.update(std.mem.asBytes(&package_version));
- return @as(u64, 0 << 61) | @as(u64, @truncate(u61, hasher.final()));
+ return @as(u64, 0 << 61) | @as(u64, @as(u61, @truncate(hasher.final())));
}
pub fn forBinLink(package_id: PackageID) u64 {
const hash = bun.Wyhash.hash(0, std.mem.asBytes(&package_id));
- return @as(u64, 1 << 61) | @as(u64, @truncate(u61, hash));
+ return @as(u64, 1 << 61) | @as(u64, @as(u61, @truncate(hash)));
}
pub fn forManifest(name: string) u64 {
- return @as(u64, 2 << 61) | @as(u64, @truncate(u61, bun.Wyhash.hash(0, name)));
+ return @as(u64, 2 << 61) | @as(u64, @as(u61, @truncate(bun.Wyhash.hash(0, name))));
}
pub fn forTarball(url: string) u64 {
var hasher = bun.Wyhash.init(0);
hasher.update(url);
- return @as(u64, 3 << 61) | @as(u64, @truncate(u61, hasher.final()));
+ return @as(u64, 3 << 61) | @as(u64, @as(u61, @truncate(hasher.final())));
}
pub fn forGitClone(url: string) u64 {
var hasher = bun.Wyhash.init(0);
hasher.update(url);
- return @as(u64, 4 << 61) | @as(u64, @truncate(u61, hasher.final()));
+ return @as(u64, 4 << 61) | @as(u64, @as(u61, @truncate(hasher.final())));
}
pub fn forGitCheckout(url: string, resolved: string) u64 {
@@ -574,7 +574,7 @@ const Task = struct {
hasher.update(url);
hasher.update("@");
hasher.update(resolved);
- return @as(u64, 5 << 61) | @as(u64, @truncate(u61, hasher.final()));
+ return @as(u64, 5 << 61) | @as(u64, @as(u61, @truncate(hasher.final())));
}
};
@@ -1408,7 +1408,7 @@ const PackageInstall = struct {
const rc = Syscall.system.open(path, @as(u32, std.os.O.PATH | 0), @as(u32, 0));
switch (Syscall.getErrno(rc)) {
.SUCCESS => {
- const fd = @intCast(std.os.fd_t, rc);
+ const fd = @as(std.os.fd_t, @intCast(rc));
_ = Syscall.system.close(fd);
return false;
},
@@ -1746,7 +1746,7 @@ pub const PackageManager = struct {
version_buf: []const u8,
behavior: Dependency.Behavior,
) DependencyToEnqueue {
- const dep_id = @truncate(DependencyID, brk: {
+ const dep_id = @as(DependencyID, @truncate(brk: {
const str_buf = this.lockfile.buffers.string_bytes.items;
for (this.lockfile.buffers.dependencies.items, 0..) |dep, id| {
if (!strings.eqlLong(dep.name.slice(str_buf), name, true)) continue;
@@ -1772,7 +1772,7 @@ pub const PackageManager = struct {
this.lockfile.buffers.resolutions.append(this.allocator, invalid_package_id) catch unreachable;
if (comptime Environment.allow_assert) std.debug.assert(this.lockfile.buffers.dependencies.items.len == this.lockfile.buffers.resolutions.items.len);
break :brk index;
- });
+ }));
if (this.lockfile.buffers.resolutions.items[dep_id] == invalid_package_id) {
this.enqueueDependencyWithMainAndSuccessFn(
@@ -2806,7 +2806,7 @@ pub const PackageManager = struct {
tmpname_buf[0..8].* = "tmplock-".*;
var tmpfile = FileSystem.RealFS.Tmpfile{};
var secret: [32]u8 = undefined;
- std.mem.writeIntNative(u64, secret[0..8], @intCast(u64, std.time.milliTimestamp()));
+ std.mem.writeIntNative(u64, secret[0..8], @as(u64, @intCast(std.time.milliTimestamp())));
var base64_bytes: [64]u8 = undefined;
std.crypto.random.bytes(&base64_bytes);
@@ -3340,8 +3340,8 @@ pub const PackageManager = struct {
pub fn scheduleTasks(manager: *PackageManager) usize {
const count = manager.task_batch.len + manager.network_resolve_batch.len + manager.network_tarball_batch.len;
- manager.pending_tasks += @truncate(u32, count);
- manager.total_tasks += @truncate(u32, count);
+ manager.pending_tasks += @as(u32, @truncate(count));
+ manager.total_tasks += @as(u32, @truncate(count));
manager.thread_pool.schedule(manager.task_batch);
manager.network_resolve_batch.push(manager.network_tarball_batch);
HTTP.http_thread.schedule(manager.network_resolve_batch);
@@ -3799,7 +3799,7 @@ pub const PackageManager = struct {
if (comptime log_level.isVerbose()) {
Output.prettyError(" ", .{});
- Output.printElapsed(@floatFromInt(f64, task.http.elapsed) / std.time.ns_per_ms);
+ Output.printElapsed(@as(f64, @floatFromInt(task.http.elapsed)) / std.time.ns_per_ms);
Output.prettyError("\n <d>Downloaded <r><green>{s}<r> versions\n", .{name.slice()});
Output.flush();
}
@@ -3811,7 +3811,7 @@ pub const PackageManager = struct {
entry.value_ptr.* = manifest;
if (timestamp_this_tick == null) {
- timestamp_this_tick = @truncate(u32, @intCast(u64, @max(0, std.time.timestamp()))) +| 300;
+ timestamp_this_tick = @as(u32, @truncate(@as(u64, @intCast(@max(0, std.time.timestamp()))))) +| 300;
}
entry.value_ptr.*.pkg.public_max_age = timestamp_this_tick.?;
@@ -3933,7 +3933,7 @@ pub const PackageManager = struct {
if (comptime log_level.isVerbose()) {
Output.prettyError(" ", .{});
- Output.printElapsed(@floatCast(f64, @floatFromInt(f64, task.http.elapsed) / std.time.ns_per_ms));
+ Output.printElapsed(@as(f64, @floatCast(@as(f64, @floatFromInt(task.http.elapsed)) / std.time.ns_per_ms)));
Output.prettyError(" <d>Downloaded <r><green>{s}<r> tarball\n", .{extract.name.slice()});
Output.flush();
}
@@ -5219,7 +5219,7 @@ pub const PackageManager = struct {
Output.flush();
}
- var cpu_count = @truncate(u32, ((try std.Thread.getCpuCount()) + 1));
+ var cpu_count = @as(u32, @truncate(((try std.Thread.getCpuCount()) + 1)));
if (env.map.get("GOMAXPROCS")) |max_procs| {
if (std.fmt.parseInt(u32, max_procs, 10)) |cpu_count_| {
@@ -5275,7 +5275,7 @@ pub const PackageManager = struct {
ctx.install,
);
- manager.timestamp_for_manifest_cache_control = @truncate(u32, @intCast(u64, @max(std.time.timestamp(), 0)));
+ manager.timestamp_for_manifest_cache_control = @as(u32, @truncate(@as(u64, @intCast(@max(std.time.timestamp(), 0)))));
return manager;
}
@@ -5290,7 +5290,7 @@ pub const PackageManager = struct {
PackageManager.verbose_install = true;
}
- var cpu_count = @truncate(u32, ((try std.Thread.getCpuCount()) + 1));
+ var cpu_count = @as(u32, @truncate(((try std.Thread.getCpuCount()) + 1)));
if (env.map.get("GOMAXPROCS")) |max_procs| {
if (std.fmt.parseInt(u32, max_procs, 10)) |cpu_count_| {
@@ -5360,15 +5360,15 @@ pub const PackageManager = struct {
bun_install,
);
- manager.timestamp_for_manifest_cache_control = @truncate(
+ manager.timestamp_for_manifest_cache_control = @as(
u32,
- @intCast(
+ @truncate(@as(
u64,
- @max(
+ @intCast(@max(
std.time.timestamp(),
0,
- ),
- ),
+ )),
+ )),
// When using "bun install", we check for updates with a 300 second cache.
// When using bun, we only do staleness checks once per day
) -| std.time.s_per_day;
@@ -6101,15 +6101,15 @@ pub const PackageManager = struct {
if (manager.options.positionals.len == 1) {
var examples_to_print: [3]string = undefined;
- const off = @intCast(u64, std.time.milliTimestamp());
+ const off = @as(u64, @intCast(std.time.milliTimestamp()));
switch (op) {
.update, .add => {
const filler = @import("../cli.zig").HelpCommand.packages_to_add_filler;
- examples_to_print[0] = filler[@intCast(usize, (off) % filler.len)];
- examples_to_print[1] = filler[@intCast(usize, (off + 1) % filler.len)];
- examples_to_print[2] = filler[@intCast(usize, (off + 2) % filler.len)];
+ examples_to_print[0] = filler[@as(usize, @intCast((off) % filler.len))];
+ examples_to_print[1] = filler[@as(usize, @intCast((off + 1) % filler.len))];
+ examples_to_print[2] = filler[@as(usize, @intCast((off + 2) % filler.len))];
Output.prettyErrorln(
\\
@@ -6145,9 +6145,9 @@ pub const PackageManager = struct {
.remove => {
const filler = @import("../cli.zig").HelpCommand.packages_to_remove_filler;
- examples_to_print[0] = filler[@intCast(usize, (off) % filler.len)];
- examples_to_print[1] = filler[@intCast(usize, (off + 1) % filler.len)];
- examples_to_print[2] = filler[@intCast(usize, (off + 2) % filler.len)];
+ examples_to_print[0] = filler[@as(usize, @intCast((off) % filler.len))];
+ examples_to_print[1] = filler[@as(usize, @intCast((off + 1) % filler.len))];
+ examples_to_print[2] = filler[@as(usize, @intCast((off + 2) % filler.len))];
Output.prettyErrorln(
\\
@@ -6308,7 +6308,7 @@ pub const PackageManager = struct {
const changed = new_len != dependencies.len;
if (changed) {
- query.expr.data.e_object.properties.len = @truncate(u32, new_len);
+ query.expr.data.e_object.properties.len = @as(u32, @truncate(new_len));
// If the dependencies list is now empty, remove it from the package.json
// since we're swapRemove, we have to re-sort it
@@ -6781,7 +6781,7 @@ pub const PackageManager = struct {
}
}
- if (resolution.tag == .workspace or this.lockfile.trusted_dependencies.contains(@truncate(u32, String.Builder.stringHash(name)))) {
+ if (resolution.tag == .workspace or this.lockfile.trusted_dependencies.contains(@as(u32, @truncate(String.Builder.stringHash(name))))) {
var scripts = this.lockfile.packages.items(.scripts)[package_id];
if (scripts.hasAny()) {
var path_buf: [bun.MAX_PATH_BYTES]u8 = undefined;
@@ -7497,8 +7497,8 @@ pub const PackageManager = struct {
new_dep.count(lockfile.buffers.string_bytes.items, *Lockfile.StringBuilder, builder);
}
- const off = @truncate(u32, manager.lockfile.buffers.dependencies.items.len);
- const len = @truncate(u32, new_dependencies.len);
+ const off = @as(u32, @truncate(manager.lockfile.buffers.dependencies.items.len));
+ const len = @as(u32, @truncate(new_dependencies.len));
var packages = manager.lockfile.packages.slice();
var dep_lists = packages.items(.dependencies);
var resolution_lists = packages.items(.resolutions);
@@ -7536,7 +7536,7 @@ pub const PackageManager = struct {
if (manager.summary.add > 0 or manager.summary.update > 0) {
var remaining = mapping;
var dependency_i: PackageID = off;
- const changes = @truncate(PackageID, mapping.len);
+ const changes = @as(PackageID, @truncate(mapping.len));
_ = manager.getCacheDirectory();
_ = manager.getTemporaryDirectory();
@@ -7763,7 +7763,7 @@ pub const PackageManager = struct {
}
if (needs_new_lockfile) {
- manager.summary.add = @truncate(u32, manager.lockfile.packages.len);
+ manager.summary.add = @as(u32, @truncate(manager.lockfile.packages.len));
}
if (manager.options.do.save_yarn_lock) {
@@ -7812,9 +7812,9 @@ pub const PackageManager = struct {
// it's confusing when it shows 3 packages and says it installed 1
Output.pretty("\n <green>{d}<r> packages<r> installed ", .{@max(
install_summary.success,
- @truncate(
+ @as(
u32,
- manager.package_json_updates.len,
+ @truncate(manager.package_json_updates.len),
),
)});
Output.printStartEndStdout(ctx.start_time, std.time.nanoTimestamp());
@@ -7838,7 +7838,7 @@ pub const PackageManager = struct {
} else if (install_summary.skipped > 0 and install_summary.fail == 0 and manager.package_json_updates.len == 0) {
Output.pretty("\n", .{});
- const count = @truncate(PackageID, manager.lockfile.packages.len);
+ const count = @as(PackageID, @truncate(manager.lockfile.packages.len));
if (count != install_summary.skipped) {
Output.pretty("Checked <green>{d} installs<r> across {d} packages <d>(no changes)<r> ", .{
install_summary.skipped,
diff --git a/src/install/integrity.zig b/src/install/integrity.zig
index 4634c2dfd..dd11140de 100644
--- a/src/install/integrity.zig
+++ b/src/install/integrity.zig
@@ -61,7 +61,7 @@ pub const Integrity = extern struct {
});
// parse hex integer
- integrity.value[out_i] = @truncate(u8, x0 << 4 | x1);
+ integrity.value[out_i] = @as(u8, @truncate(x0 << 4 | x1));
out_i += 1;
i += 1;
diff --git a/src/install/lockfile.zig b/src/install/lockfile.zig
index 202cfddc0..cf0ee8267 100644
--- a/src/install/lockfile.zig
+++ b/src/install/lockfile.zig
@@ -226,23 +226,23 @@ pub const Tree = struct {
pub fn toExternal(this: Tree) External {
var out = External{};
- out[0..4].* = @bitCast(Id, this.id);
- out[4..8].* = @bitCast(Id, this.dependency_id);
- out[8..12].* = @bitCast(Id, this.parent);
- out[12..16].* = @bitCast(u32, this.dependencies.off);
- out[16..20].* = @bitCast(u32, this.dependencies.len);
+ out[0..4].* = @as(Id, @bitCast(this.id));
+ out[4..8].* = @as(Id, @bitCast(this.dependency_id));
+ out[8..12].* = @as(Id, @bitCast(this.parent));
+ out[12..16].* = @as(u32, @bitCast(this.dependencies.off));
+ out[16..20].* = @as(u32, @bitCast(this.dependencies.len));
if (out.len != 20) @compileError("Tree.External is not 20 bytes");
return out;
}
pub fn toTree(out: External) Tree {
return .{
- .id = @bitCast(Id, out[0..4].*),
- .dependency_id = @bitCast(Id, out[4..8].*),
- .parent = @bitCast(Id, out[8..12].*),
+ .id = @as(Id, @bitCast(out[0..4].*)),
+ .dependency_id = @as(Id, @bitCast(out[4..8].*)),
+ .parent = @as(Id, @bitCast(out[8..12].*)),
.dependencies = .{
- .off = @bitCast(u32, out[12..16].*),
- .len = @bitCast(u32, out[16..20].*),
+ .off = @as(u32, @bitCast(out[12..16].*)),
+ .len = @as(u32, @bitCast(out[16..20].*)),
},
};
}
@@ -306,7 +306,7 @@ pub const Tree = struct {
if (tree.id > 0) {
var depth_buf_len: usize = 1;
- while (parent_id > 0 and parent_id < @intCast(Id, this.trees.len)) {
+ while (parent_id > 0 and parent_id < @as(Id, @intCast(this.trees.len))) {
this.depth_stack[depth_buf_len] = parent_id;
parent_id = this.trees[parent_id].parent;
depth_buf_len += 1;
@@ -374,7 +374,7 @@ pub const Tree = struct {
/// Flatten the multi-dimensional ArrayList of package IDs into a single easily serializable array
pub fn clean(this: *Builder) !DependencyIDList {
- const end = @truncate(Id, this.list.len);
+ const end = @as(Id, @truncate(this.list.len));
var i: Id = 0;
var total: u32 = 0;
var trees = this.list.items(.tree);
@@ -389,7 +389,7 @@ pub const Tree = struct {
for (trees, dependencies) |*tree, *child| {
if (tree.dependencies.len > 0) {
- const len = @truncate(PackageID, child.items.len);
+ const len = @as(PackageID, @truncate(child.items.len));
next.off += next.len;
next.len = len;
tree.dependencies = next;
@@ -419,7 +419,7 @@ pub const Tree = struct {
try builder.list.append(builder.allocator, .{
.tree = .{
.parent = this.id,
- .id = @truncate(Id, builder.list.len),
+ .id = @as(Id, @truncate(builder.list.len)),
.dependency_id = dependency_id,
},
.dependencies = .{},
@@ -430,7 +430,7 @@ pub const Tree = struct {
const dependency_lists = list_slice.items(.dependencies);
const next: *Tree = &trees[builder.list.len - 1];
const name_hashes: []const PackageNameHash = builder.name_hashes;
- const max_package_id = @truncate(PackageID, name_hashes.len);
+ const max_package_id = @as(PackageID, @truncate(name_hashes.len));
var dep_id = resolution_list.off;
const end = dep_id + resolution_list.len;
@@ -545,7 +545,7 @@ pub fn maybeCloneFilteringRootPackages(
const root_dependencies = old_root_dependenices_list.get(old.buffers.dependencies.items);
var resolutions = old_root_resolutions.mut(old.buffers.resolutions.items);
var any_changes = false;
- const end = @truncate(PackageID, old.packages.len);
+ const end = @as(PackageID, @truncate(old.packages.len));
for (root_dependencies, resolutions) |dependency, *resolution| {
if (!dependency.behavior.isEnabled(features) and resolution.* < end) {
@@ -1022,7 +1022,7 @@ pub const Printer = struct {
defer if (id_map.len > 0) default_allocator.free(id_map);
visited.set(0);
- const end = @truncate(PackageID, resolved.len);
+ const end = @as(PackageID, @truncate(resolved.len));
if (this.successfully_installed) |installed| {
var dep_id = resolutions_list[0].off;
@@ -1039,7 +1039,7 @@ pub const Printer = struct {
if (update.failed) return;
if (update.matches(dependency, string_buf)) {
if (dependency_id.* == invalid_package_id) {
- dependency_id.* = @truncate(DependencyID, dep_id);
+ dependency_id.* = @as(DependencyID, @truncate(dep_id));
}
continue :outer;
@@ -1076,7 +1076,7 @@ pub const Printer = struct {
if (update.failed) return;
if (update.matches(dependency, string_buf)) {
if (dependency_id.* == invalid_package_id) {
- dependency_id.* = @truncate(DependencyID, dep_id);
+ dependency_id.* = @as(DependencyID, @truncate(dep_id));
}
continue :outer;
@@ -1202,7 +1202,7 @@ pub const Printer = struct {
var requested_versions = RequestedVersion.init(this.lockfile.allocator);
var all_requested_versions = try this.lockfile.allocator.alloc(Dependency.Version, resolutions_buffer.len);
defer this.lockfile.allocator.free(all_requested_versions);
- const package_count = @truncate(PackageID, names.len);
+ const package_count = @as(PackageID, @truncate(names.len));
var alphabetized_names = try this.lockfile.allocator.alloc(PackageID, package_count - 1);
defer this.lockfile.allocator.free(alphabetized_names);
@@ -1393,7 +1393,7 @@ pub fn verifyResolutions(this: *Lockfile, local_features: Features, remote_featu
const dependency_lists: []const DependencySlice = this.packages.items(.dependencies);
const dependencies_buffer = this.buffers.dependencies.items;
const resolutions_buffer = this.buffers.resolutions.items;
- const end = @truncate(PackageID, this.packages.len);
+ const end = @as(PackageID, @truncate(this.packages.len));
var any_failed = false;
const string_buf = this.buffers.string_bytes.items;
@@ -1403,7 +1403,7 @@ pub fn verifyResolutions(this: *Lockfile, local_features: Features, remote_featu
for (resolution_list.get(resolutions_buffer), dependency_list.get(dependencies_buffer)) |package_id, failed_dep| {
if (package_id < end) continue;
if (failed_dep.behavior.isPeer() or !failed_dep.behavior.isEnabled(
- if (root_list.contains(@truncate(PackageID, parent_id)))
+ if (root_list.contains(@as(PackageID, @truncate(parent_id))))
local_features
else
remote_features,
@@ -1446,7 +1446,7 @@ pub fn saveToDisk(this: *Lockfile, filename: stringZ) void {
tmpname_buf[0..8].* = "bunlock-".*;
var tmpfile = FileSystem.RealFS.Tmpfile{};
var secret: [32]u8 = undefined;
- std.mem.writeIntNative(u64, secret[0..8], @intCast(u64, std.time.milliTimestamp()));
+ std.mem.writeIntNative(u64, secret[0..8], @as(u64, @intCast(std.time.milliTimestamp())));
var base64_bytes: [64]u8 = undefined;
std.crypto.random.bytes(&base64_bytes);
@@ -1588,7 +1588,7 @@ pub fn getOrPutID(this: *Lockfile, id: PackageID, name_hash: PackageNameHash) !v
}
pub fn appendPackage(this: *Lockfile, package_: Lockfile.Package) !Lockfile.Package {
- const id = @truncate(PackageID, this.packages.len);
+ const id = @as(PackageID, @truncate(this.packages.len));
return try appendPackageWithID(this, package_, id);
}
@@ -1929,11 +1929,11 @@ pub const Package = extern struct {
field: string,
behavior: Behavior,
- 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 const dependencies = DependencyGroup{ .prop = "dependencies", .field = "dependencies", .behavior = @as(Behavior, @enumFromInt(Behavior.normal)) };
+ pub const dev = DependencyGroup{ .prop = "devDependencies", .field = "dev_dependencies", .behavior = @as(Behavior, @enumFromInt(Behavior.dev)) };
+ pub const optional = DependencyGroup{ .prop = "optionalDependencies", .field = "optional_dependencies", .behavior = @as(Behavior, @enumFromInt(Behavior.optional)) };
+ pub const peer = DependencyGroup{ .prop = "peerDependencies", .field = "peer_dependencies", .behavior = @as(Behavior, @enumFromInt(Behavior.peer)) };
+ pub const workspaces = DependencyGroup{ .prop = "workspaces", .field = "workspaces", .behavior = @as(Behavior, @enumFromInt(Behavior.workspace)) };
};
pub inline fn isDisabled(this: *const Lockfile.Package) bool {
@@ -1988,9 +1988,9 @@ pub const Package = extern struct {
try new.buffers.resolutions.ensureUnusedCapacity(new.allocator, old_dependencies.len);
try new.buffers.extern_strings.ensureUnusedCapacity(new.allocator, new_extern_string_count);
- const prev_len = @truncate(u32, new.buffers.dependencies.items.len);
- const end = prev_len + @truncate(u32, old_dependencies.len);
- const max_package_id = @truncate(PackageID, old.packages.len);
+ const prev_len = @as(u32, @truncate(new.buffers.dependencies.items.len));
+ const end = prev_len + @as(u32, @truncate(old_dependencies.len));
+ const max_package_id = @as(PackageID, @truncate(old.packages.len));
new.buffers.dependencies.items = new.buffers.dependencies.items.ptr[0..end];
new.buffers.resolutions.items = new.buffers.resolutions.items.ptr[0..end];
@@ -2001,7 +2001,7 @@ pub const Package = extern struct {
var dependencies: []Dependency = new.buffers.dependencies.items[prev_len..end];
var resolutions: []PackageID = new.buffers.resolutions.items[prev_len..end];
- const id = @truncate(PackageID, new.packages.len);
+ const id = @as(PackageID, @truncate(new.packages.len));
const new_package = try new.appendPackageWithID(
.{
.name = builder.appendWithHash(
@@ -2068,7 +2068,7 @@ pub const Package = extern struct {
try cloner.clone_queue.append(.{
.old_resolution = old_resolution,
.parent = new_package.meta.id,
- .resolve_id = new_package.resolutions.off + @intCast(PackageID, i),
+ .resolve_id = new_package.resolutions.off + @as(PackageID, @intCast(i)),
});
}
}
@@ -2150,8 +2150,8 @@ pub const Package = extern struct {
package.meta.arch = package_json.arch;
package.meta.os = package_json.os;
- package.dependencies.off = @truncate(u32, dependencies_list.items.len);
- package.dependencies.len = total_dependencies_count - @truncate(u32, dependencies.len);
+ package.dependencies.off = @as(u32, @truncate(dependencies_list.items.len));
+ package.dependencies.len = total_dependencies_count - @as(u32, @truncate(dependencies.len));
package.resolutions.off = package.dependencies.off;
package.resolutions.len = package.dependencies.len;
@@ -2338,7 +2338,7 @@ pub const Package = extern struct {
package.meta.integrity = package_version.integrity;
- package.dependencies.off = @truncate(u32, dependencies_list.items.len);
+ package.dependencies.off = @as(u32, @truncate(dependencies_list.items.len));
package.dependencies.len = total_dependencies_count;
package.resolutions.off = package.dependencies.off;
package.resolutions.len = package.dependencies.len;
@@ -2407,7 +2407,7 @@ pub const Package = extern struct {
};
if (to_deps[to_i].eql(from_dep, to_lockfile.buffers.string_bytes.items, from_lockfile.buffers.string_bytes.items)) {
- mapping[to_i] = @truncate(PackageID, i);
+ mapping[to_i] = @as(PackageID, @truncate(i));
continue;
}
@@ -2548,7 +2548,7 @@ pub const Package = extern struct {
),
);
defer dependency_version.value.workspace = path;
- var workspace_entry = try lockfile.workspace_paths.getOrPut(allocator, @truncate(u32, external_name.hash));
+ var workspace_entry = try lockfile.workspace_paths.getOrPut(allocator, @as(u32, @truncate(external_name.hash)));
if (workspace_entry.found_existing) {
const old_path = workspace_entry.value_ptr.*;
@@ -2931,7 +2931,7 @@ pub const Package = extern struct {
.values = workspace_names.values(),
});
- return @truncate(u32, workspace_names.count());
+ return @as(u32, @truncate(workspace_names.count()));
}
fn parseWithJSON(
@@ -3128,7 +3128,7 @@ pub const Package = extern struct {
else => {},
}
}
- total_dependencies_count += @truncate(u32, obj.properties.len);
+ total_dependencies_count += @as(u32, @truncate(obj.properties.len));
},
else => {
if (group.behavior.isWorkspace()) {
@@ -3167,7 +3167,7 @@ pub const Package = extern struct {
, .{}) catch {};
return error.InvalidPackageJSON;
};
- lockfile.trusted_dependencies.putAssumeCapacity(@truncate(u32, String.Builder.stringHash(name)), {});
+ lockfile.trusted_dependencies.putAssumeCapacity(@as(u32, @truncate(String.Builder.stringHash(name))), {});
}
},
else => {
@@ -3313,7 +3313,7 @@ pub const Package = extern struct {
}
total_dependencies_count = 0;
- const in_workspace = lockfile.workspace_paths.contains(@truncate(u32, package.name_hash));
+ const in_workspace = lockfile.workspace_paths.contains(@as(u32, @truncate(package.name_hash)));
inline for (dependency_groups) |group| {
if (group.behavior.isWorkspace()) {
@@ -3354,7 +3354,7 @@ pub const Package = extern struct {
var tag: ?Dependency.Version.Tag = null;
var workspace_path: ?String = null;
- if (lockfile.workspace_paths.get(@truncate(u32, external_name.hash))) |path| {
+ if (lockfile.workspace_paths.get(@as(u32, @truncate(external_name.hash)))) |path| {
tag = .workspace;
workspace_path = path;
}
@@ -3395,10 +3395,10 @@ pub const Package = extern struct {
Dependency.isLessThan,
);
- package.dependencies.off = @truncate(u32, off);
- package.dependencies.len = @truncate(u32, total_dependencies_count);
+ package.dependencies.off = @as(u32, @truncate(off));
+ package.dependencies.len = @as(u32, @truncate(total_dependencies_count));
- package.resolutions = @bitCast(@TypeOf(package.resolutions), package.dependencies);
+ package.resolutions = @as(@TypeOf(package.resolutions), @bitCast(package.dependencies));
@memset(lockfile.buffers.resolutions.items.ptr[off..total_len], invalid_package_id);
@@ -3458,14 +3458,20 @@ pub const Package = extern struct {
.alignment = if (@sizeOf(field_info.type) == 0) 1 else field_info.alignment,
};
}
- const Sort = struct {
- fn lessThan(trash: *i32, comptime lhs: Data, comptime rhs: Data) bool {
- _ = trash;
- return lhs.alignment > rhs.alignment;
+ const SortContext = struct {
+ data: []Data,
+ pub fn swap(comptime ctx: @This(), comptime lhs: usize, comptime rhs: usize) void {
+ const tmp = ctx.data[lhs];
+ ctx.data[lhs] = ctx.data[rhs];
+ ctx.data[rhs] = tmp;
+ }
+ pub fn lessThan(comptime ctx: @This(), comptime lhs: usize, comptime rhs: usize) bool {
+ return ctx.data[lhs].alignment > ctx.data[rhs].alignment;
}
};
- var trash: i32 = undefined; // workaround for stage1 compiler bug
- std.sort.block(Data, &data, &trash, Sort.lessThan);
+ std.sort.insertionContext(0, fields.len, SortContext{
+ .data = &data,
+ });
var sizes_bytes: [fields.len]usize = undefined;
var field_indexes: [fields.len]usize = undefined;
var Types: [fields.len]type = undefined;
@@ -3485,7 +3491,7 @@ pub const Package = extern struct {
pub fn byteSize(list: Lockfile.Package.List) usize {
const sizes_vector: std.meta.Vector(sizes.bytes.len, usize) = sizes.bytes;
- const capacity_vector = @splat(sizes.bytes.len, list.len);
+ const capacity_vector: @Vector(sizes.bytes.len, usize) = @splat(list.len);
return @reduce(.Add, capacity_vector * sizes_vector);
}
@@ -3626,14 +3632,22 @@ const Buffers = struct {
.type = field_info.type.Slice,
};
}
- const Sort = struct {
- fn lessThan(trash: *i32, comptime lhs: Data, comptime rhs: Data) bool {
- _ = trash;
- return lhs.alignment > rhs.alignment;
+
+ const SortContext = struct {
+ data: []Data,
+ pub fn swap(comptime ctx: @This(), comptime lhs: usize, comptime rhs: usize) void {
+ const tmp = ctx.data[lhs];
+ ctx.data[lhs] = ctx.data[rhs];
+ ctx.data[rhs] = tmp;
+ }
+ pub fn lessThan(comptime ctx: @This(), comptime lhs: usize, comptime rhs: usize) bool {
+ return ctx.data[lhs].alignment > ctx.data[rhs].alignment;
}
};
- var trash: i32 = undefined; // workaround for stage1 compiler bug
- std.sort.block(Data, &data, &trash, Sort.lessThan);
+
+ std.sort.insertionContext(0, fields.len, SortContext{
+ .data = &data,
+ });
var sizes_bytes: [fields.len]usize = undefined;
var names: [fields.len][]const u8 = undefined;
var types: [fields.len]type = undefined;
@@ -3673,7 +3687,7 @@ const Buffers = struct {
const misaligned = std.mem.bytesAsSlice(PointerType, stream.buffer[start_pos..end_pos]);
return ArrayList{
- .items = try allocator.dupe(PointerType, @alignCast(@alignOf([*]PointerType), misaligned.ptr)[0..misaligned.len]),
+ .items = try allocator.dupe(PointerType, @as([*]PointerType, @alignCast(misaligned.ptr))[0..misaligned.len]),
.capacity = misaligned.len,
};
}
@@ -3774,7 +3788,7 @@ const Buffers = struct {
if (visited.isSet(dep_id)) continue;
visited.set(dep_id);
}
- return @truncate(DependencyID, dep_id);
+ return @as(DependencyID, @truncate(dep_id));
}
},
}
@@ -3940,16 +3954,16 @@ pub const Serializer = struct {
{
lockfile.package_index = PackageIndex.Map.initContext(allocator, .{});
lockfile.string_pool = StringPool.initContext(allocator, .{});
- try lockfile.package_index.ensureTotalCapacity(@truncate(u32, lockfile.packages.len));
+ try lockfile.package_index.ensureTotalCapacity(@as(u32, @truncate(lockfile.packages.len)));
const slice = lockfile.packages.slice();
const name_hashes = slice.items(.name_hash);
const resolutions = slice.items(.resolution);
for (name_hashes, resolutions, 0..) |name_hash, resolution, id| {
- try lockfile.getOrPutID(@truncate(PackageID, id), name_hash);
+ try lockfile.getOrPutID(@as(PackageID, @truncate(id)), name_hash);
switch (resolution.tag) {
.workspace => {
- try lockfile.workspace_paths.put(allocator, @truncate(u32, name_hash), resolution.value.workspace);
+ try lockfile.workspace_paths.put(allocator, @as(u32, @truncate(name_hash)), resolution.value.workspace);
},
else => {},
}
@@ -3986,13 +4000,13 @@ fn generateMetaHash(this: *Lockfile, print_name_version_string: bool) !MetaHash
while (i + 16 < this.packages.len) : (i += 16) {
comptime var j: usize = 0;
inline while (j < 16) : (j += 1) {
- alphabetized_names[(i + j) - 1] = @truncate(PackageID, (i + j));
+ alphabetized_names[(i + j) - 1] = @as(PackageID, @truncate((i + j)));
string_builder.fmtCount("{s}@{}\n", .{ names[i + j].slice(bytes), resolutions[i + j].fmt(bytes) });
}
}
while (i < this.packages.len) : (i += 1) {
- alphabetized_names[i - 1] = @truncate(PackageID, i);
+ alphabetized_names[i - 1] = @as(PackageID, @truncate(i));
string_builder.fmtCount("{s}@{}\n", .{ names[i].slice(bytes), resolutions[i].fmt(bytes) });
}
}
diff --git a/src/install/npm.zig b/src/install/npm.zig
index 6edb6dcb4..0a25fe636 100644
--- a/src/install/npm.zig
+++ b/src/install/npm.zig
@@ -204,7 +204,7 @@ pub const Registry = struct {
package_name,
newly_last_modified,
new_etag,
- @truncate(u32, @intCast(u64, @max(0, std.time.timestamp()))) + 300,
+ @as(u32, @truncate(@as(u64, @intCast(@max(0, std.time.timestamp()))))) + 300,
)) |package| {
if (package_manager.options.enable.manifest_cache) {
PackageManifest.Serializer.save(&package, package_manager.getTemporaryDirectory(), package_manager.getCacheDirectory()) catch {};
@@ -231,7 +231,7 @@ const ExternVersionMap = extern struct {
pub fn findKeyIndex(this: ExternVersionMap, buf: []const Semver.Version, find: Semver.Version) ?u32 {
for (this.keys.get(buf), 0..) |key, i| {
if (key.eql(find)) {
- return @truncate(u32, i);
+ return @as(u32, @truncate(i));
}
}
@@ -290,9 +290,9 @@ pub const OperatingSystem = enum(u16) {
const field: u16 = NameMap.get(str[offset..]) orelse return this_;
if (is_not) {
- return @enumFromInt(OperatingSystem, this & ~field);
+ return @as(OperatingSystem, @enumFromInt(this & ~field));
} else {
- return @enumFromInt(OperatingSystem, this | field);
+ return @as(OperatingSystem, @enumFromInt(this | field));
}
}
};
@@ -355,9 +355,9 @@ pub const Architecture = enum(u16) {
const field: u16 = NameMap.get(input) orelse return this_;
if (is_not) {
- return @enumFromInt(Architecture, this & ~field);
+ return @as(Architecture, @enumFromInt(this & ~field));
} else {
- return @enumFromInt(Architecture, this | field);
+ return @as(Architecture, @enumFromInt(this | field));
}
}
};
@@ -536,7 +536,7 @@ pub const PackageManifest = struct {
stream.pos += Aligner.skipAmount(Type, stream.pos);
const result_bytes = stream.buffer[stream.pos..][0..byte_len];
- const result = @ptrCast([*]const Type, @alignCast(@alignOf([*]const Type), result_bytes.ptr))[0 .. result_bytes.len / @sizeOf(Type)];
+ const result = @as([*]const Type, @ptrCast(@alignCast(result_bytes.ptr)))[0 .. result_bytes.len / @sizeOf(Type)];
stream.pos += result_bytes.len;
return result;
}
@@ -577,7 +577,7 @@ pub const PackageManifest = struct {
var dest_path_stream = std.io.fixedBufferStream(&dest_path_buf);
var dest_path_stream_writer = dest_path_stream.writer();
const hex_fmt = bun.fmt.hexIntLower(file_id);
- const hex_timestamp = @intCast(usize, @max(std.time.milliTimestamp(), 0));
+ const hex_timestamp = @as(usize, @intCast(@max(std.time.milliTimestamp(), 0)));
const hex_timestamp_fmt = bun.fmt.hexIntLower(hex_timestamp);
try dest_path_stream_writer.print("{any}.npm-{any}", .{ hex_fmt, hex_timestamp_fmt });
try dest_path_stream_writer.writeByte(0);
@@ -1306,15 +1306,15 @@ pub const PackageManifest = struct {
}
if (optional_peer_dep_names.items.len == 0) {
- const names_hash_bytes = @bitCast([8]u8, this_names[i].hash);
+ const names_hash_bytes = @as([8]u8, @bitCast(this_names[i].hash));
name_hasher.update(&names_hash_bytes);
- const versions_hash_bytes = @bitCast([8]u8, this_versions[i].hash);
+ const versions_hash_bytes = @as([8]u8, @bitCast(this_versions[i].hash));
version_hasher.update(&versions_hash_bytes);
}
} else {
- const names_hash_bytes = @bitCast([8]u8, this_names[i].hash);
+ const names_hash_bytes = @as([8]u8, @bitCast(this_names[i].hash));
name_hasher.update(&names_hash_bytes);
- const versions_hash_bytes = @bitCast([8]u8, this_versions[i].hash);
+ const versions_hash_bytes = @as([8]u8, @bitCast(this_versions[i].hash));
version_hasher.update(&versions_hash_bytes);
}
@@ -1327,7 +1327,7 @@ pub const PackageManifest = struct {
var version_list = ExternalStringList.init(version_extern_strings, this_versions);
if (comptime is_peer) {
- package_version.optional_peer_dependencies_len = @truncate(u32, peer_dependency_len);
+ package_version.optional_peer_dependencies_len = @as(u32, @truncate(peer_dependency_len));
}
if (count > 0 and
@@ -1502,10 +1502,10 @@ pub const PackageManifest = struct {
}
result.pkg.string_lists_buf.off = 0;
- result.pkg.string_lists_buf.len = @truncate(u32, all_extern_strings.len);
+ result.pkg.string_lists_buf.len = @as(u32, @truncate(all_extern_strings.len));
result.pkg.versions_buf.off = 0;
- result.pkg.versions_buf.len = @truncate(u32, all_semver_versions.len);
+ result.pkg.versions_buf.len = @as(u32, @truncate(all_semver_versions.len));
result.versions = all_semver_versions;
result.external_strings = all_extern_strings;
@@ -1518,7 +1518,7 @@ pub const PackageManifest = struct {
result.string_buf = ptr[0..string_builder.len];
result.pkg.string_buf = BigExternalString{
.off = 0,
- .len = @truncate(u32, string_builder.len),
+ .len = @as(u32, @truncate(string_builder.len)),
.hash = 0,
};
}
diff --git a/src/install/semver.zig b/src/install/semver.zig
index c2730e7c7..1ec76b370 100644
--- a/src/install/semver.zig
+++ b/src/install/semver.zig
@@ -65,7 +65,7 @@ pub const String = extern struct {
if (out.isInline()) {
out.assertDefined();
} else {
- std.debug.assert(@bitCast(u64, out.slice(buf)[0..8].*) != undefined);
+ std.debug.assert(@as(u64, @bitCast(out.slice(buf)[0..8].*)) != undefined);
}
return out;
@@ -76,8 +76,8 @@ pub const String = extern struct {
pub fn isUndefined(this: *const String) bool {
var num: u64 = undefined;
- var bytes = @bitCast(u64, this.bytes);
- return @truncate(u63, bytes) == @truncate(u63, num);
+ var bytes = @as(u64, @bitCast(this.bytes));
+ return @as(u63, @truncate(bytes)) == @as(u63, @truncate(num));
}
pub const Formatter = struct {
@@ -153,7 +153,7 @@ pub const String = extern struct {
pub fn hash(ctx: ArrayHashContext, a: String) u32 {
const str = a.slice(ctx.a_buf);
- return @truncate(u32, bun.hash(str));
+ return @as(u32, @truncate(bun.hash(str)));
}
};
@@ -175,44 +175,44 @@ pub const String = extern struct {
// This should only happen for non-ascii strings that are exactly 8 bytes.
// so that's an edge-case
if ((in[max_inline_len - 1]) >= 128)
- @bitCast(String, (@as(
+ @as(String, @bitCast((@as(
u64,
0,
) | @as(
u64,
- @truncate(
+ @as(
max_addressable_space,
- @bitCast(
+ @truncate(@as(
u64,
- Pointer.init(buf, in),
- ),
+ @bitCast(Pointer.init(buf, in)),
+ )),
),
- )) | 1 << 63)
+ )) | 1 << 63))
else
String{ .bytes = .{ in[0], in[1], in[2], in[3], in[4], in[5], in[6], in[7] } },
- else => @bitCast(
+ else => @as(
String,
- (@as(
+ @bitCast((@as(
u64,
0,
) | @as(
u64,
- @truncate(
+ @as(
max_addressable_space,
- @bitCast(
+ @truncate(@as(
u64,
- Pointer.init(buf, in),
- ),
+ @bitCast(Pointer.init(buf, in)),
+ )),
),
- )) | 1 << 63,
+ )) | 1 << 63),
),
};
}
pub fn eql(this: String, that: String, this_buf: []const u8, that_buf: []const u8) bool {
if (this.isInline() and that.isInline()) {
- return @bitCast(u64, this.bytes) == @bitCast(u64, that.bytes);
+ return @as(u64, @bitCast(this.bytes)) == @as(u64, @bitCast(that.bytes));
} else if (this.isInline() != that.isInline()) {
return false;
} else {
@@ -223,7 +223,7 @@ pub const String = extern struct {
}
pub inline fn isEmpty(this: String) bool {
- return @bitCast(u64, this.bytes) == @as(u64, 0);
+ return @as(u64, @bitCast(this.bytes)) == @as(u64, 0);
}
pub fn len(this: String) usize {
@@ -263,14 +263,14 @@ pub const String = extern struct {
std.debug.assert(bun.isSliceInBuffer(in, buf));
return Pointer{
- .off = @truncate(u32, @intFromPtr(in.ptr) - @intFromPtr(buf.ptr)),
- .len = @truncate(u32, in.len),
+ .off = @as(u32, @truncate(@intFromPtr(in.ptr) - @intFromPtr(buf.ptr))),
+ .len = @as(u32, @truncate(in.len)),
};
}
};
pub inline fn ptr(this: String) Pointer {
- return @bitCast(Pointer, @as(u64, @truncate(u63, @bitCast(u64, this))));
+ return @as(Pointer, @bitCast(@as(u64, @as(u63, @truncate(@as(u64, @bitCast(this)))))));
}
// String must be a pointer because we reference it as a slice. It will become a dead pointer if it is copied.
@@ -483,7 +483,7 @@ test "String works" {
world,
);
try std.testing.expectEqualStrings("hello", str.slice(buf));
- try std.testing.expectEqual(@bitCast(u64, str), @bitCast(u64, [8]u8{ 'h', 'e', 'l', 'l', 'o', 0, 0, 0 }));
+ try std.testing.expectEqual(@as(u64, @bitCast(str)), @as(u64, @bitCast([8]u8{ 'h', 'e', 'l', 'l', 'o', 0, 0, 0 })));
}
{
@@ -551,7 +551,7 @@ pub const BigExternalString = extern struct {
pub fn from(in: string) BigExternalString {
return BigExternalString{
.off = 0,
- .len = @truncate(u32, in.len),
+ .len = @as(u32, @truncate(in.len)),
.hash = bun.Wyhash.hash(0, in),
};
}
@@ -560,8 +560,8 @@ pub const BigExternalString = extern struct {
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, @intFromPtr(in.ptr) - @intFromPtr(buf.ptr)),
- .len = @truncate(u32, in.len),
+ .off = @as(u32, @truncate(@intFromPtr(in.ptr) - @intFromPtr(buf.ptr))),
+ .len = @as(u32, @truncate(in.len)),
.hash = hash,
};
}
@@ -709,7 +709,7 @@ pub const Version = extern struct {
pub const HashContext = struct {
pub fn hash(_: @This(), lhs: Version) u32 {
- return @truncate(u32, lhs.hash());
+ return @as(u32, @truncate(lhs.hash()));
}
pub fn eql(_: @This(), lhs: Version, rhs: Version) bool {
@@ -871,7 +871,7 @@ pub const Version = extern struct {
state = State.none;
},
}
- result.len = @truncate(u32, i);
+ result.len = @as(u32, @truncate(i));
break;
},
'+' => {
@@ -919,7 +919,7 @@ pub const Version = extern struct {
state = State.none;
},
}
- result.len = @truncate(u32, i);
+ result.len = @as(u32, @truncate(i));
return result;
}
@@ -955,7 +955,7 @@ pub const Version = extern struct {
break;
}
- stopped_at = @intCast(i32, i);
+ stopped_at = @as(i32, @intCast(i));
switch (input[i]) {
' ' => {
is_done = true;
@@ -1104,7 +1104,7 @@ pub const Version = extern struct {
}
}
- result.stopped_at = @intCast(u32, i);
+ result.stopped_at = @as(u32, @intCast(i));
if (comptime RawType != void) {
result.version.raw = sliced_string.sub(input[0..i]).external();
diff --git a/src/io/io_darwin.zig b/src/io/io_darwin.zig
index 9ebc6f4d6..c44b285c2 100644
--- a/src/io/io_darwin.zig
+++ b/src/io/io_darwin.zig
@@ -250,7 +250,7 @@ pub fn asError(err: anytype) Errno {
err;
return switch (int) {
- 1...errno_map.len => |val| errno_map[@intCast(u8, val)],
+ 1...errno_map.len => |val| errno_map[@as(u8, @intCast(val))],
else => error.Unexpected,
};
}
@@ -402,7 +402,7 @@ pub const Syscall = struct {
pub fn fcntl(fd: fd_t, cmd: i32, arg: usize) Errno!usize {
const rc = darwin.@"fcntl$NOCANCEL"(fd, cmd, arg);
return switch (darwin.getErrno(rc)) {
- .SUCCESS => @intCast(usize, rc),
+ .SUCCESS => @as(usize, @intCast(rc)),
else => |err| asError(err),
};
}
@@ -445,7 +445,7 @@ pub const Syscall = struct {
} || Errno;
pub fn setsockopt(fd: socket_t, level: u32, optname: u32, opt: []const u8) SetSockOptError!void {
- switch (darwin.getErrno(darwin.setsockopt(fd, level, optname, opt.ptr, @intCast(socklen_t, opt.len)))) {
+ switch (darwin.getErrno(darwin.setsockopt(fd, level, optname, opt.ptr, @as(socklen_t, @intCast(opt.len))))) {
.SUCCESS => {},
.DOM => return error.TimeoutTooBig,
.ISCONN => return error.AlreadyConnected,
@@ -462,7 +462,7 @@ pub const Syscall = struct {
const rc = darwin.socket(domain, filtered_sock_type, protocol);
switch (darwin.getErrno(rc)) {
.SUCCESS => {
- const fd = @intCast(fd_t, rc);
+ const fd = @as(fd_t, @intCast(rc));
try setSockFlags(fd, socket_type);
return fd;
},
@@ -540,7 +540,7 @@ pub const Waker = struct {
return asError(std.c.getErrno(count));
}
- return @intCast(usize, count);
+ return @as(usize, @intCast(count));
}
extern fn io_darwin_create_machport(
@@ -627,7 +627,7 @@ pub const UserFilterWaker = struct {
return asError(std.c.getErrno(errno));
}
- return @intCast(u64, errno);
+ return @as(u64, @intCast(errno));
}
pub fn init(_: std.mem.Allocator) !UserFilterWaker {
@@ -646,7 +646,7 @@ pub const UserFilterWaker = struct {
&events,
1,
&events,
- @intCast(c_int, events.len),
+ @as(c_int, @intCast(events.len)),
0,
&timespec,
);
@@ -742,16 +742,16 @@ fn flush(self: *IO, comptime _: @Type(.EnumLiteral)) !void {
// We need to wait (not poll) on kevent if there's nothing to submit or complete.
if (next_timeout) |timeout_ns| {
- ts.tv_nsec = @intCast(@TypeOf(ts.tv_nsec), timeout_ns % std.time.ns_per_s);
- ts.tv_sec = @intCast(@TypeOf(ts.tv_sec), timeout_ns / std.time.ns_per_s);
+ ts.tv_nsec = @as(@TypeOf(ts.tv_nsec), @intCast(timeout_ns % std.time.ns_per_s));
+ ts.tv_sec = @as(@TypeOf(ts.tv_sec), @intCast(timeout_ns / std.time.ns_per_s));
}
const new_events_ = std.os.system.kevent64(
self.waker.kq,
&events,
- @intCast(c_int, change_events),
+ @as(c_int, @intCast(change_events)),
&events,
- @intCast(c_int, events.len),
+ @as(c_int, @intCast(events.len)),
0,
if (next_timeout != null) &ts else null,
);
@@ -759,7 +759,7 @@ fn flush(self: *IO, comptime _: @Type(.EnumLiteral)) !void {
if (new_events_ < 0) {
return std.debug.panic("kevent() failed {s}", .{@tagName(std.c.getErrno(new_events_))});
}
- const new_events = @intCast(usize, new_events_);
+ const new_events = @as(usize, @intCast(new_events_));
// Mark the io events submitted only after kevent() successfully processed them
self.io_pending.out = io_pending;
@@ -776,7 +776,7 @@ fn flush(self: *IO, comptime _: @Type(.EnumLiteral)) !void {
continue;
}
- const completion = @ptrFromInt(*Completion, kevent.udata);
+ const completion = @as(*Completion, @ptrFromInt(kevent.udata));
completion.next = null;
self.completed.push(completion);
}
@@ -836,9 +836,9 @@ fn flush_io(_: *IO, events: []Kevent64, io_pending_top: *?*Completion) usize {
kevent.* = .{
.ext = [2]u64{ 0, 0 },
- .ident = @intCast(u32, event_info[0]),
- .filter = @intCast(i16, event_info[1]),
- .flags = @intCast(u16, event_info[2]),
+ .ident = @as(u32, @intCast(event_info[0])),
+ .filter = @as(i16, @intCast(event_info[1])),
+ .flags = @as(u16, @intCast(event_info[2])),
.fflags = 0,
.data = 0,
.udata = @intFromPtr(completion),
@@ -999,7 +999,7 @@ fn submitWithIncrementPending(
// Complete the Completion
return callback(
- @ptrFromInt(Context, @intFromPtr(_completion.context)),
+ @as(Context, @ptrFromInt(@intFromPtr(_completion.context))),
_completion,
result,
);
@@ -1023,7 +1023,7 @@ pub const AcceptError = os.AcceptError || os.SetSockOptError;
// -- NOT DONE YET
pub fn eventfd(self: *IO) os.fd_t {
- return @intCast(os.fd_t, self.last_event_fd.fetchAdd(1, .Monotonic));
+ return @as(os.fd_t, @intCast(self.last_event_fd.fetchAdd(1, .Monotonic)));
}
// -- NOT DONE YET
@@ -1204,10 +1204,10 @@ pub fn connect(
true => brk: {
var err_code: i32 = undefined;
var size: u32 = @sizeOf(u32);
- const rc = system.getsockopt(op.socket, os.SOL.SOCKET, os.SO.ERROR, @ptrCast([*]u8, &err_code), &size);
+ const rc = system.getsockopt(op.socket, os.SOL.SOCKET, os.SO.ERROR, @as([*]u8, @ptrCast(&err_code)), &size);
assert(size == 4);
break :brk switch (darwin.getErrno(rc)) {
- .SUCCESS => switch (@enumFromInt(os.E, err_code)) {
+ .SUCCESS => switch (@as(os.E, @enumFromInt(err_code))) {
.SUCCESS => {},
.ACCES => error.PermissionDenied,
.PERM => error.PermissionDenied,
@@ -1306,7 +1306,7 @@ pub fn openSync(
file_path: [:0]const u8,
flags: os.mode_t,
) OpenError!fd_t {
- return Syscall.open(file_path, @intCast(c_uint, flags));
+ return Syscall.open(file_path, @as(c_uint, @intCast(flags)));
}
pub const ReadError = error{
@@ -1343,7 +1343,7 @@ pub fn read(
.{
.fd = fd,
.buf = buffer.ptr,
- .len = @intCast(u32, buffer_limit(buffer.len)),
+ .len = @as(u32, @intCast(buffer_limit(buffer.len))),
.offset = offset_,
.positional = offset != null,
},
@@ -1356,7 +1356,7 @@ pub fn read(
op.len,
);
return switch (@intFromEnum(os.errno(rc))) {
- 0 => @intCast(usize, rc),
+ 0 => @as(usize, @intCast(rc)),
os.EINTR => continue,
os.EAGAIN => error.WouldBlock,
os.EBADF => error.NotOpenForReading,
@@ -1405,13 +1405,13 @@ pub fn recv(
.{
.socket = socket,
.buf = buffer.ptr,
- .len = @intCast(u32, buffer_limit(buffer.len)),
+ .len = @as(u32, @intCast(buffer_limit(buffer.len))),
},
struct {
fn doOperation(op: anytype) RecvError!usize {
const rc = system.@"recvfrom$NOCANCEL"(op.socket, op.buf, op.len, 0, null, null);
return switch (system.getErrno(rc)) {
- .SUCCESS => @intCast(usize, rc),
+ .SUCCESS => @as(usize, @intCast(rc)),
.AGAIN => error.WouldBlock,
.NOMEM => error.SystemResources,
.CONNREFUSED => error.ConnectionRefused,
@@ -1463,14 +1463,14 @@ pub fn send(
.{
.socket = socket,
.buf = buffer.ptr,
- .len = @intCast(u32, buffer_limit(buffer.len)),
+ .len = @as(u32, @intCast(buffer_limit(buffer.len))),
.flags = 0,
},
struct {
fn doOperation(op: anytype) SendError!usize {
const rc = system.@"sendto$NOCANCEL"(op.socket, op.buf, op.len, op.flags, null, 0);
return switch (system.getErrno(rc)) {
- .SUCCESS => @intCast(usize, rc),
+ .SUCCESS => @as(usize, @intCast(rc)),
.ACCES => error.AccessDenied,
.AGAIN => error.WouldBlock,
.ALREADY => error.FastOpenAlreadyInProgress,
@@ -1578,7 +1578,7 @@ pub fn write(
.{
.fd = fd,
.buf = buffer.ptr,
- .len = @intCast(u32, buffer_limit(buffer.len)),
+ .len = @as(u32, @intCast(buffer_limit(buffer.len))),
.offset = offset,
},
struct {
diff --git a/src/io/io_linux.zig b/src/io/io_linux.zig
index 7603eabfd..8f054490b 100644
--- a/src/io/io_linux.zig
+++ b/src/io/io_linux.zig
@@ -432,7 +432,7 @@ pub fn asError(err: anytype) Errno {
else
err;
return switch (errnum) {
- 1...errno_map.len => errno_map[@intCast(u8, errnum)],
+ 1...errno_map.len => errno_map[@as(u8, @intCast(errnum))],
else => error.Unexpected,
};
}
@@ -660,7 +660,7 @@ fn flush_completions(self: *IO, wait_nr: u32, timeouts: *usize, etime: *bool) !v
if (-cqe.res == os.ETIME) etime.* = true;
continue;
}
- const completion = @ptrFromInt(*Completion, @intCast(usize, cqe.user_data));
+ const completion = @as(*Completion, @ptrFromInt(@as(usize, @intCast(cqe.user_data))));
completion.result = cqe.res;
// We do not run the completion here (instead appending to a linked list) to avoid:
// * recursion through `flush_submissions()` and `flush_completions()`,
@@ -804,7 +804,7 @@ pub const Completion = struct {
os.EPERM => error.PermissionDenied,
os.EPROTO => error.ProtocolFailure,
else => |errno| asError(errno),
- } else @intCast(os.socket_t, completion.result);
+ } else @as(os.socket_t, @intCast(completion.result));
completion.callback(completion.context, completion, &result);
},
@@ -843,7 +843,7 @@ pub const Completion = struct {
os.EEXIST => error.PathAlreadyExists,
os.EBUSY => error.DeviceBusy,
else => |errno| asError(errno),
- } else @intCast(linux.fd_t, completion.result);
+ } else @as(linux.fd_t, @intCast(completion.result));
completion.callback(completion.context, completion, &result);
},
.connect => {
@@ -904,7 +904,7 @@ pub const Completion = struct {
os.EOVERFLOW => error.Unseekable,
os.ESPIPE => error.Unseekable,
else => |errno| asError(errno),
- } else @intCast(usize, completion.result);
+ } else @as(usize, @intCast(completion.result));
completion.callback(completion.context, completion, &result);
},
.readev, .recv => {
@@ -920,7 +920,7 @@ pub const Completion = struct {
os.ENOTSOCK => error.FileDescriptorNotASocket,
os.ECONNRESET => error.ConnectionResetByPeer,
else => |errno| asError(errno),
- } else @intCast(usize, completion.result);
+ } else @as(usize, @intCast(completion.result));
completion.callback(completion.context, completion, &result);
},
.writev, .send => {
@@ -942,7 +942,7 @@ pub const Completion = struct {
os.EOPNOTSUPP => error.OperationNotSupported,
os.EPIPE => error.BrokenPipe,
else => |errno| asError(errno),
- } else @intCast(usize, completion.result);
+ } else @as(usize, @intCast(completion.result));
completion.callback(completion.context, completion, &result);
},
.timeout => {
@@ -977,7 +977,7 @@ pub const Completion = struct {
os.EPIPE => error.BrokenPipe,
os.ESPIPE => error.Unseekable,
else => |errno| asError(errno),
- } else @intCast(usize, completion.result);
+ } else @as(usize, @intCast(completion.result));
completion.callback(completion.context, completion, &result);
},
}
@@ -988,7 +988,7 @@ pub const Waker = struct {
fd: os.fd_t,
pub fn init(allocator: std.mem.Allocator) !Waker {
- return initWithFileDescriptor(allocator, @intCast(os.fd_t, try std.os.eventfd(0, 0)));
+ return initWithFileDescriptor(allocator, @as(os.fd_t, @intCast(try std.os.eventfd(0, 0))));
}
pub fn initWithFileDescriptor(_: std.mem.Allocator, fd: os.fd_t) Waker {
@@ -999,15 +999,15 @@ pub const Waker = struct {
pub fn wait(this: Waker) !u64 {
var bytes: usize = 0;
- _ = std.os.read(this.fd, @ptrCast(*[8]u8, &bytes)) catch 0;
- return @intCast(u64, bytes);
+ _ = std.os.read(this.fd, @as(*[8]u8, @ptrCast(&bytes))) catch 0;
+ return @as(u64, @intCast(bytes));
}
pub fn wake(this: *const Waker) !void {
var bytes: usize = 1;
_ = std.os.write(
this.fd,
- @ptrCast(*[8]u8, &bytes),
+ @as(*[8]u8, @ptrCast(&bytes)),
) catch 0;
}
};
@@ -1107,9 +1107,9 @@ pub fn accept(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const AcceptError!os.socket_t, @intFromPtr(res)).*,
+ @as(*const AcceptError!os.socket_t, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1149,9 +1149,9 @@ pub fn close(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const CloseError!void, @intFromPtr(res)).*,
+ @as(*const CloseError!void, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1160,7 +1160,7 @@ pub fn close(
if (features.close_blocking) {
const rc = linux.close(fd);
- completion.result = @intCast(i32, rc);
+ completion.result = @as(i32, @intCast(rc));
self.next_tick.push(completion);
return;
}
@@ -1206,9 +1206,9 @@ pub fn connect(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const ConnectError!void, @intFromPtr(res)).*,
+ @as(*const ConnectError!void, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1222,7 +1222,7 @@ pub fn connect(
if (features.connect_blocking) {
const rc = linux.connect(socket, &address.any, address.getOsSockLen());
- completion.result = @intCast(i32, rc);
+ completion.result = @as(i32, @intCast(rc));
self.completed.push(completion);
return;
}
@@ -1257,9 +1257,9 @@ pub fn fsync(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const FsyncError!void, @intFromPtr(res)).*,
+ @as(*const FsyncError!void, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1303,9 +1303,9 @@ pub fn read(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const ReadError!usize, @intFromPtr(res)).*,
+ @as(*const ReadError!usize, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1355,9 +1355,9 @@ pub fn recv(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const RecvError!usize, @intFromPtr(res)).*,
+ @as(*const RecvError!usize, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1390,9 +1390,9 @@ pub fn readev(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const RecvError!usize, @intFromPtr(res)).*,
+ @as(*const RecvError!usize, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1446,9 +1446,9 @@ pub fn send(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const SendError!usize, @intFromPtr(res)).*,
+ @as(*const SendError!usize, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1538,16 +1538,16 @@ pub fn open(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const OpenError!linux.fd_t, @intFromPtr(res)).*,
+ @as(*const OpenError!linux.fd_t, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
.operation = .{
.open = .{
.path = path,
- .flags = @intCast(u32, flags),
+ .flags = @as(u32, @intCast(flags)),
.mode = mode,
},
},
@@ -1575,9 +1575,9 @@ pub fn writev(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const SendError!usize, @intFromPtr(res)).*,
+ @as(*const SendError!usize, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1613,9 +1613,9 @@ pub fn timeout(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const TimeoutError!void, @intFromPtr(res)).*,
+ @as(*const TimeoutError!void, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1662,9 +1662,9 @@ pub fn write(
.callback = struct {
fn wrapper(ctx: ?*anyopaque, comp: *Completion, res: *const anyopaque) void {
callback(
- @ptrFromInt(Context, @intFromPtr(ctx)),
+ @as(Context, @ptrFromInt(@intFromPtr(ctx))),
comp,
- @ptrFromInt(*const WriteError!usize, @intFromPtr(res)).*,
+ @as(*const WriteError!usize, @ptrFromInt(@intFromPtr(res))).*,
);
}
}.wrapper,
@@ -1702,7 +1702,7 @@ const Syscall = struct {
pub fn socket(domain: u32, socket_type: u32, protocol: u32) SocketError!os.socket_t {
const rc = linux.socket(domain, socket_type, protocol);
return switch (linux.getErrno((rc))) {
- .SUCCESS => @intCast(os.fd_t, rc),
+ .SUCCESS => @as(os.fd_t, @intCast(rc)),
.ACCES => return error.PermissionDenied,
.AFNOSUPPORT => return error.AddressFamilyNotSupported,
.INVAL => return error.ProtocolFamilyNotAvailable,
diff --git a/src/io/time.zig b/src/io/time.zig
index 8ebf5de6e..1454d009b 100644
--- a/src/io/time.zig
+++ b/src/io/time.zig
@@ -40,7 +40,7 @@ pub const Time = struct {
// see https://github.com/ziglang/zig/pull/933#discussion_r656021295.
var ts: std.os.timespec = undefined;
std.os.clock_gettime(std.os.CLOCK_BOOTTIME, &ts) catch @panic("CLOCK_BOOTTIME required");
- break :blk @intCast(u64, ts.tv_sec) * std.time.ns_per_s + @intCast(u64, ts.tv_nsec);
+ break :blk @as(u64, @intCast(ts.tv_sec)) * std.time.ns_per_s + @as(u64, @intCast(ts.tv_nsec));
};
// "Oops!...I Did It Again"
diff --git a/src/js_ast.zig b/src/js_ast.zig
index 357f11223..b83f6c5c2 100644
--- a/src/js_ast.zig
+++ b/src/js_ast.zig
@@ -138,7 +138,7 @@ pub fn NewBaseStore(comptime Union: anytype, comptime count: usize) type {
out.* = b;
}
- overflow.allocated = @truncate(Overflow.UsedSize, to_move.len);
+ overflow.allocated = @as(Overflow.UsedSize, @truncate(to_move.len));
overflow.used = 0;
return used;
@@ -183,7 +183,7 @@ pub fn NewBaseStore(comptime Union: anytype, comptime count: usize) type {
var i: usize = 1;
const end = sliced.len;
while (i < end) {
- var ptrs = @ptrCast(*[2]Block, sliced[i]);
+ var ptrs = @as(*[2]Block, @ptrCast(sliced[i]));
allocator.free(ptrs);
i += 2;
}
@@ -207,12 +207,9 @@ pub fn NewBaseStore(comptime Union: anytype, comptime count: usize) type {
var block = self.overflow.tail();
- return @ptrCast(
+ return @as(
*ValueType,
- @alignCast(
- @alignOf(ValueType),
- @alignCast(@alignOf(ValueType), block.append(BytesAsSlice, bytes)),
- ),
+ @ptrCast(@alignCast(block.append(BytesAsSlice, bytes))),
);
}
};
@@ -631,9 +628,9 @@ pub const CharFreq = struct {
for (text) |c| {
const i: usize = switch (c) {
- 'a'...'z' => @intCast(usize, c) - 'a',
- 'A'...'Z' => @intCast(usize, c) - ('A' - 26),
- '0'...'9' => @intCast(usize, c) + (53 - '0'),
+ 'a'...'z' => @as(usize, @intCast(c)) - 'a',
+ 'A'...'Z' => @as(usize, @intCast(c)) - ('A' - 26),
+ '0'...'9' => @as(usize, @intCast(c)) + (53 - '0'),
'_' => 62,
'$' => 63,
else => continue,
@@ -700,13 +697,13 @@ pub const NameMinifier = struct {
pub fn numberToMinifiedName(this: *NameMinifier, name: *std.ArrayList(u8), _i: isize) !void {
name.clearRetainingCapacity();
var i = _i;
- var j = @intCast(usize, @mod(i, 54));
+ var j = @as(usize, @intCast(@mod(i, 54)));
try name.appendSlice(this.head.items[j .. j + 1]);
i = @divFloor(i, 54);
while (i > 0) {
i -= 1;
- j = @intCast(usize, @mod(i, 64));
+ j = @as(usize, @intCast(@mod(i, 64)));
try name.appendSlice(this.tail.items[j .. j + 1]);
i = @divFloor(i, 64);
}
@@ -714,14 +711,14 @@ pub const NameMinifier = struct {
pub fn defaultNumberToMinifiedName(allocator: std.mem.Allocator, _i: isize) !string {
var i = _i;
- var j = @intCast(usize, @mod(i, 54));
+ var j = @as(usize, @intCast(@mod(i, 54)));
var name = std.ArrayList(u8).init(allocator);
try name.appendSlice(default_head[j .. j + 1]);
i = @divFloor(i, 54);
while (i > 0) {
i -= 1;
- j = @intCast(usize, @mod(i, 64));
+ j = @as(usize, @intCast(@mod(i, 64)));
try name.appendSlice(default_tail[j .. j + 1]);
i = @divFloor(i, 64);
}
@@ -1225,8 +1222,8 @@ pub const Symbol = struct {
.{
symbol.original_name, @tagName(symbol.kind),
if (symbol.hasLink()) symbol.link else Ref{
- .source_index = @truncate(Ref.Int, i),
- .inner_index = @truncate(Ref.Int, inner_index),
+ .source_index = @as(Ref.Int, @truncate(i)),
+ .inner_index = @as(Ref.Int, @truncate(inner_index)),
.tag = .symbol,
},
},
@@ -1441,7 +1438,7 @@ pub const E = struct {
array.protect();
defer array.unprotect();
for (items, 0..) |expr, j| {
- array.putIndex(globalObject, @truncate(u32, j), try expr.data.toJS(allocator, globalObject));
+ array.putIndex(globalObject, @as(u32, @truncate(j)), try expr.data.toJS(allocator, globalObject));
}
return array;
@@ -1706,8 +1703,8 @@ pub const E = struct {
pub fn toStringFromF64Safe(value: f64, allocator: std.mem.Allocator) ?string {
if (value == @trunc(value) and (value < std.math.maxInt(i32) and value > std.math.minInt(i32))) {
- const int_value = @intFromFloat(i64, value);
- const abs = @intCast(u64, std.math.absInt(int_value) catch return null);
+ const int_value = @as(i64, @intFromFloat(value));
+ const abs = @as(u64, @intCast(std.math.absInt(int_value) catch return null));
if (abs < double_digit.len) {
return if (int_value < 0)
neg_double_digit[abs]
@@ -1715,7 +1712,7 @@ pub const E = struct {
double_digit[abs];
}
- return std.fmt.allocPrint(allocator, "{d}", .{@intCast(i32, int_value)}) catch return null;
+ return std.fmt.allocPrint(allocator, "{d}", .{@as(i32, @intCast(int_value))}) catch return null;
}
if (std.math.isNan(value)) {
@@ -1750,7 +1747,7 @@ pub const E = struct {
}
pub fn to(self: Number, comptime T: type) T {
- return @intFromFloat(T, @min(@max(@trunc(self.value), 0), comptime @min(std.math.floatMax(f64), std.math.maxInt(T))));
+ return @as(T, @intFromFloat(@min(@max(@trunc(self.value), 0), comptime @min(std.math.floatMax(f64), std.math.maxInt(T)))));
}
pub fn jsonStringify(self: *const Number, opts: anytype, o: anytype) !void {
@@ -2048,7 +2045,7 @@ pub const E = struct {
return Expr.Query{
.expr = value,
.loc = key.loc,
- .i = @truncate(u32, i),
+ .i = @as(u32, @truncate(i)),
};
}
}
@@ -2154,11 +2151,11 @@ pub const E = struct {
std.debug.assert(other.isUTF8());
if (other.rope_len == 0) {
- other.rope_len = @truncate(u32, other.data.len);
+ other.rope_len = @as(u32, @truncate(other.data.len));
}
if (this.rope_len == 0) {
- this.rope_len = @truncate(u32, this.data.len);
+ this.rope_len = @as(u32, @truncate(this.data.len));
}
this.rope_len += other.rope_len;
@@ -2181,7 +2178,7 @@ pub const E = struct {
const Value = @TypeOf(value);
if (Value == []u16 or Value == []const u16) {
return .{
- .data = @ptrCast([*]const u8, value.ptr)[0..value.len],
+ .data = @as([*]const u8, @ptrCast(value.ptr))[0..value.len],
.is_utf16 = true,
};
}
@@ -2192,7 +2189,7 @@ pub const E = struct {
pub fn slice16(this: *const String) []const u16 {
std.debug.assert(this.is_utf16);
- return @ptrCast([*]const u16, @alignCast(@alignOf(u16), this.data.ptr))[0..this.data.len];
+ return @as([*]const u16, @ptrCast(@alignCast(this.data.ptr)))[0..this.data.len];
}
pub fn resolveRopeIfNeeded(this: *String, allocator: std.mem.Allocator) void {
@@ -2249,10 +2246,10 @@ pub const E = struct {
}
if (s.isUTF8()) {
- return @truncate(u32, bun.simdutf.length.utf16.from.utf8.le(s.data));
+ return @as(u32, @truncate(bun.simdutf.length.utf16.from.utf8.le(s.data)));
}
- return @truncate(u32, s.slice16().len);
+ return @as(u32, @truncate(s.slice16().len));
}
pub inline fn len(s: *const String) usize {
@@ -2354,7 +2351,7 @@ pub const E = struct {
return bun.hash(s.data);
} else {
// hash utf-16
- return bun.hash(@ptrCast([*]const u8, s.slice16().ptr)[0 .. s.slice16().len * 2]);
+ return bun.hash(@as([*]const u8, @ptrCast(s.slice16().ptr))[0 .. s.slice16().len * 2]);
}
}
@@ -2391,7 +2388,7 @@ pub const E = struct {
var buf = [_]u8{0} ** 4096;
var i: usize = 0;
for (s.slice16()) |char| {
- buf[i] = @intCast(u8, char);
+ buf[i] = @as(u8, @intCast(char));
i += 1;
if (i >= 4096) {
break;
@@ -5793,11 +5790,11 @@ pub const Op = struct {
}
pub inline fn sub(self: Level, i: anytype) Level {
- return @enumFromInt(Level, @intFromEnum(self) - i);
+ return @as(Level, @enumFromInt(@intFromEnum(self) - i));
}
pub inline fn addF(self: Level, i: anytype) Level {
- return @enumFromInt(Level, @intFromEnum(self) + i);
+ return @as(Level, @enumFromInt(@intFromEnum(self) + i));
}
};
@@ -6143,7 +6140,7 @@ pub const BundledAst = struct {
pub fn init(ast: Ast) BundledAst {
return .{
- .approximate_newline_count = @truncate(u32, ast.approximate_newline_count),
+ .approximate_newline_count = @as(u32, @truncate(ast.approximate_newline_count)),
.nested_scope_slot_counts = ast.nested_scope_slot_counts,
.externals = ast.externals,
@@ -7309,7 +7306,7 @@ pub const Macro = struct {
_: js.JSStringRef,
_: js.ExceptionRef,
) js.JSObjectRef {
- return JSC.JSValue.jsNumberFromU16(@intCast(u16, @intFromEnum(std.meta.activeTag(this.data)))).asRef();
+ return JSC.JSValue.jsNumberFromU16(@as(u16, @intCast(@intFromEnum(std.meta.activeTag(this.data))))).asRef();
}
pub fn getTagName(
this: *JSNode,
@@ -7716,7 +7713,7 @@ pub const Macro = struct {
var list = std.EnumArray(Tag, Expr.Data).initFill(Expr.Data{ .e_number = E.Number{ .value = 0.0 } });
const fields: []const std.builtin.Type.EnumField = @typeInfo(Tag).Enum.fields;
for (fields) |field| {
- list.set(@enumFromInt(Tag, field.value), Expr.Data{ .e_number = E.Number{ .value = @floatFromInt(f64, field.value) } });
+ list.set(@as(Tag, @enumFromInt(field.value)), Expr.Data{ .e_number = E.Number{ .value = @as(f64, @floatFromInt(field.value)) } });
}
break :brk list;
@@ -7940,7 +7937,7 @@ pub const Macro = struct {
for (props, 0..) |prop, i| {
const key = prop.key orelse continue;
if (key.data != .e_string or !key.data.e_string.isUTF8()) continue;
- if (strings.eqlComptime(key.data.e_string.data, name)) return @intCast(u32, i);
+ if (strings.eqlComptime(key.data.e_string.data, name)) return @as(u32, @intCast(i));
}
return null;
@@ -8032,7 +8029,7 @@ pub const Macro = struct {
Expr{
.data = .{
.e_number = E.Number{
- .value = @floatFromInt(f64, @intFromBool(value.data.e_boolean.value)),
+ .value = @as(f64, @floatFromInt(@intFromBool(value.data.e_boolean.value))),
},
},
.loc = value.loc,
@@ -8108,8 +8105,8 @@ pub const Macro = struct {
Tag.e_array => {
self.args.ensureUnusedCapacity(2 + children.len) catch unreachable;
self.args.appendAssumeCapacity(Expr{ .loc = loc, .data = comptime Tag.ids.get(Tag.e_array) });
- const children_count = @truncate(u16, children.len);
- self.args.appendAssumeCapacity(Expr{ .loc = loc, .data = .{ .e_number = E.Number{ .value = @floatFromInt(f64, children_count) } } });
+ const children_count = @as(u16, @truncate(children.len));
+ self.args.appendAssumeCapacity(Expr{ .loc = loc, .data = .{ .e_number = E.Number{ .value = @as(f64, @floatFromInt(children_count)) } } });
var old_parent = self.parent_tag;
self.parent_tag = Tag.e_array;
@@ -8147,8 +8144,8 @@ pub const Macro = struct {
Tag.e_object => {
self.args.ensureUnusedCapacity(2 + children.len) catch unreachable;
self.args.appendAssumeCapacity(Expr{ .loc = loc, .data = comptime Tag.ids.get(Tag.e_object) });
- const children_count = @truncate(u16, children.len);
- self.args.appendAssumeCapacity(Expr{ .loc = loc, .data = .{ .e_number = E.Number{ .value = @floatFromInt(f64, children_count) } } });
+ const children_count = @as(u16, @truncate(children.len));
+ self.args.appendAssumeCapacity(Expr{ .loc = loc, .data = .{ .e_number = E.Number{ .value = @as(f64, @floatFromInt(children_count)) } } });
var old_parent = self.parent_tag;
self.parent_tag = Tag.e_object;
@@ -8353,7 +8350,7 @@ pub const Macro = struct {
}
self.args.ensureUnusedCapacity(2 + count) catch unreachable;
self.args.appendAssumeCapacity(Expr{ .loc = loc, .data = comptime Tag.ids.get(Tag.inline_inject) });
- self.args.appendAssumeCapacity(Expr{ .loc = loc, .data = .{ .e_number = .{ .value = @floatFromInt(f64, @intCast(u32, children.len)) } } });
+ self.args.appendAssumeCapacity(Expr{ .loc = loc, .data = .{ .e_number = .{ .value = @as(f64, @floatFromInt(@as(u32, @intCast(children.len)))) } } });
const old_parent_tag = self.parent_tag;
self.parent_tag = Tag.inline_inject;
@@ -8418,7 +8415,7 @@ pub const Macro = struct {
const namespace_ = propertyValueNamed(props, "namespace");
const items_count: u32 = 1 +
- @intCast(u32, @intFromBool(namespace_ != null));
+ @as(u32, @intCast(@intFromBool(namespace_ != null)));
self.args.ensureUnusedCapacity(items_count) catch unreachable;
self.args.appendAssumeCapacity(Expr{ .loc = loc, .data = comptime Tag.ids.get(Tag.s_import) });
@@ -8529,7 +8526,7 @@ pub const Macro = struct {
.loc = loc,
.data = .{
.e_number = E.Number{
- .value = @floatFromInt(f64, children.len),
+ .value = @as(f64, @floatFromInt(children.len)),
},
},
});
@@ -8719,7 +8716,7 @@ pub const Macro = struct {
hasher.update(path);
hasher.update("#");
hasher.update(name);
- return @bitCast(i32, @truncate(u32, hasher.final()));
+ return @as(i32, @bitCast(@as(u32, @truncate(hasher.final()))));
}
};
@@ -8767,11 +8764,11 @@ pub const Macro = struct {
pub fn fromJSValueRefNoValidate(ctx: js.JSContextRef, value: js.JSValueRef) TagOrJSNode {
switch (js.JSValueGetType(ctx, value)) {
js.JSType.kJSTypeNumber => {
- const tag_int = @intFromFloat(u8, JSC.JSValue.fromRef(value).asNumber());
+ const tag_int = @as(u8, @intFromFloat(JSC.JSValue.fromRef(value).asNumber()));
if (tag_int < Tag.min_tag or tag_int > Tag.max_tag) {
return TagOrJSNode{ .invalid = {} };
}
- return TagOrJSNode{ .tag = @enumFromInt(JSNode.Tag, tag_int) };
+ return TagOrJSNode{ .tag = @as(JSNode.Tag, @enumFromInt(tag_int)) };
},
js.JSType.kJSTypeObject => {
if (JSCBase.GetJSPrivateData(JSNode, value)) |node| {
@@ -8789,13 +8786,13 @@ pub const Macro = struct {
pub fn fromJSValueRef(writer: *Writer, ctx: js.JSContextRef, value: js.JSValueRef) TagOrJSNode {
switch (js.JSValueGetType(ctx, value)) {
js.JSType.kJSTypeNumber => {
- const tag_int = @intFromFloat(u8, JSC.JSValue.fromRef(value).asNumber());
+ const tag_int = @as(u8, @intFromFloat(JSC.JSValue.fromRef(value).asNumber()));
if (tag_int < Tag.min_tag or tag_int > Tag.max_tag) {
throwTypeError(ctx, "Node type has invalid value", writer.exception);
writer.errored = true;
return TagOrJSNode{ .invalid = {} };
}
- return TagOrJSNode{ .tag = @enumFromInt(JSNode.Tag, tag_int) };
+ return TagOrJSNode{ .tag = @as(JSNode.Tag, @enumFromInt(tag_int)) };
},
js.JSType.kJSTypeObject => {
if (JSCBase.GetJSPrivateData(JSNode, value)) |node| {
@@ -8957,7 +8954,7 @@ pub const Macro = struct {
import.import.items = writer.allocator.alloc(
ClauseItem,
- @intCast(u32, @intFromBool(has_default)) + array_iter.len,
+ @as(u32, @intCast(@intFromBool(has_default))) + array_iter.len,
) catch return false;
while (array_iter.next()) |name| {
@@ -8986,7 +8983,7 @@ pub const Macro = struct {
} else {
import.import.items = writer.allocator.alloc(
ClauseItem,
- @intCast(u32, @intFromBool(has_default)),
+ @as(u32, @intCast(@intFromBool(has_default))),
) catch return false;
}
@@ -9024,8 +9021,8 @@ pub const Macro = struct {
while (i < count) {
var nextArg = writer.eatArg() orelse return false;
if (js.JSValueIsArray(writer.ctx, nextArg.asRef())) {
- const extras = @truncate(u32, nextArg.getLength(writer.ctx.ptr()));
- count += @max(@truncate(@TypeOf(count), extras), 1) - 1;
+ const extras = @as(u32, @truncate(nextArg.getLength(writer.ctx.ptr())));
+ count += @max(@as(@TypeOf(count), @truncate(extras)), 1) - 1;
items.ensureUnusedCapacity(extras) catch unreachable;
items.expandToCapacity();
var new_writer = writer.*;
@@ -9405,7 +9402,7 @@ pub const Macro = struct {
.allocator = JSCBase.getAllocator(ctx),
.exception = exception,
.args_value = args_value,
- .args_len = @truncate(u32, args_value.getLength(ctx.ptr())),
+ .args_len = @as(u32, @truncate(args_value.getLength(ctx.ptr()))),
.args_i = 0,
.errored = false,
};
@@ -9701,7 +9698,7 @@ pub const Macro = struct {
macro_callback,
null,
args_count,
- @ptrCast([*]js.JSObjectRef, args_ptr),
+ @as([*]js.JSObjectRef, @ptrCast(args_ptr)),
);
var runner = Run{
@@ -9945,7 +9942,7 @@ pub const Macro = struct {
},
.Integer => {
- return Expr.init(E.Number, E.Number{ .value = @floatFromInt(f64, value.toInt32()) }, this.caller.loc);
+ return Expr.init(E.Number, E.Number{ .value = @as(f64, @floatFromInt(value.toInt32())) }, this.caller.loc);
},
.Double => {
return Expr.init(E.Number, E.Number{ .value = value.asNumber() }, this.caller.loc);
diff --git a/src/js_lexer.zig b/src/js_lexer.zig
index 5d41aec4b..e8b852d0d 100644
--- a/src/js_lexer.zig
+++ b/src/js_lexer.zig
@@ -407,10 +407,10 @@ fn NewLexer_(
},
}
- iter.c = @intCast(i32, value);
+ iter.c = @as(i32, @intCast(value));
if (is_bad) {
lexer.addRangeError(
- logger.Range{ .loc = .{ .start = @intCast(i32, octal_start) }, .len = @intCast(i32, iter.i - octal_start) },
+ logger.Range{ .loc = .{ .start = @as(i32, @intCast(octal_start)) }, .len = @as(i32, @intCast(iter.i - octal_start)) },
"Invalid legacy octal literal",
.{},
false,
@@ -522,7 +522,7 @@ fn NewLexer_(
if (is_out_of_range) {
try lexer.addRangeError(
- .{ .loc = .{ .start = @intCast(i32, start + hex_start) }, .len = @intCast(i32, ((iter.i + start) - hex_start)) },
+ .{ .loc = .{ .start = @as(i32, @intCast(start + hex_start)) }, .len = @as(i32, @intCast(((iter.i + start) - hex_start))) },
"Unicode escape sequence is out of range",
.{},
true,
@@ -562,7 +562,7 @@ fn NewLexer_(
}
}
- iter.c = @truncate(CodePoint, value);
+ iter.c = @as(CodePoint, @truncate(value));
},
'\r' => {
if (comptime is_json) {
@@ -606,13 +606,13 @@ fn NewLexer_(
switch (iter.c) {
-1 => return try lexer.addDefaultError("Unexpected end of file"),
0...0xFFFF => {
- buf.append(@intCast(u16, iter.c)) catch unreachable;
+ buf.append(@as(u16, @intCast(iter.c))) catch unreachable;
},
else => {
iter.c -= 0x10000;
buf.ensureUnusedCapacity(2) catch unreachable;
- buf.appendAssumeCapacity(@intCast(u16, 0xD800 + ((iter.c >> 10) & 0x3FF)));
- buf.appendAssumeCapacity(@intCast(u16, 0xDC00 + (iter.c & 0x3FF)));
+ buf.appendAssumeCapacity(@as(u16, @intCast(0xD800 + ((iter.c >> 10) & 0x3FF))));
+ buf.appendAssumeCapacity(@as(u16, @intCast(0xDC00 + (iter.c & 0x3FF))));
},
}
}
@@ -797,7 +797,7 @@ fn NewLexer_(
const code_point = switch (slice.len) {
0 => -1,
1 => @as(CodePoint, slice[0]),
- else => strings.decodeWTF8RuneTMultibyte(slice.ptr[0..4], @intCast(u3, slice.len), CodePoint, strings.unicode_replacement),
+ else => strings.decodeWTF8RuneTMultibyte(slice.ptr[0..4], @as(u3, @intCast(slice.len)), CodePoint, strings.unicode_replacement),
};
it.end = it.current;
@@ -958,7 +958,7 @@ fn NewLexer_(
if (!isIdentifier(identifier)) {
try lexer.addRangeError(
- .{ .loc = logger.usize2Loc(lexer.start), .len = @intCast(i32, lexer.end - lexer.start) },
+ .{ .loc = logger.usize2Loc(lexer.start), .len = @as(i32, @intCast(lexer.end - lexer.start)) },
"Invalid identifier: \"{s}\"",
.{result.contents},
true,
@@ -1864,8 +1864,8 @@ fn NewLexer_(
const vec: strings.AsciiVector = rest.ptr[0..strings.ascii_vector_size].*;
// lookahead for any # or @ characters
- const hashtag = @bitCast(strings.AsciiVectorU1, vec == @splat(strings.ascii_vector_size, @as(u8, '#')));
- const at = @bitCast(strings.AsciiVectorU1, vec == @splat(strings.ascii_vector_size, @as(u8, '@')));
+ const hashtag = @as(strings.AsciiVectorU1, @bitCast(vec == @as(strings.AsciiVector, @splat(@as(u8, '#')))));
+ const at = @as(strings.AsciiVectorU1, @bitCast(vec == @as(strings.AsciiVector, @splat(@as(u8, '@')))));
if (@reduce(.Max, hashtag + at) == 1) {
rest.len = @intFromPtr(end) - @intFromPtr(rest.ptr);
@@ -2079,15 +2079,15 @@ fn NewLexer_(
switch (lexer.code_point) {
'd', 'g', 'i', 'm', 's', 'u', 'y', 'v' => {
if (!has_set_flags_start) {
- lexer.regex_flags_start = @truncate(u16, lexer.end - lexer.start);
+ lexer.regex_flags_start = @as(u16, @truncate(lexer.end - lexer.start));
has_set_flags_start = true;
}
- const flag = max_flag - @intCast(u8, lexer.code_point);
+ const flag = max_flag - @as(u8, @intCast(lexer.code_point));
if (flags.isSet(flag)) {
lexer.addError(
lexer.current,
"Duplicate flag \"{u}\" in regular expression",
- .{@intCast(u21, lexer.code_point)},
+ .{@as(u21, @intCast(lexer.code_point))},
false,
);
}
@@ -2099,7 +2099,7 @@ fn NewLexer_(
lexer.addError(
lexer.current,
"Invalid flag \"{u}\" in regular expression",
- .{@intCast(u21, lexer.code_point)},
+ .{@as(u21, @intCast(lexer.code_point))},
false,
);
@@ -2134,9 +2134,9 @@ fn NewLexer_(
var list = std.ArrayList(u8).initCapacity(lexer.allocator, js.len) catch unreachable;
var i: usize = 0;
while (i < js.len) : (i += 1) {
- var r1 = @intCast(i32, js[i]);
+ var r1 = @as(i32, @intCast(js[i]));
if (r1 >= 0xD800 and r1 <= 0xDBFF and i + 1 < js.len) {
- const r2 = @intCast(i32, js[i] + 1);
+ const r2 = @as(i32, @intCast(js[i] + 1));
if (r2 >= 0xDC00 and r2 <= 0xDFFF) {
r1 = (r1 - 0xD800) << 10 | (r2 - 0xDC00) + 0x10000;
i += 1;
@@ -2317,7 +2317,7 @@ fn NewLexer_(
'\\' => {
backslash = logger.Range{ .loc = logger.Loc{
- .start = @intCast(i32, lexer.end),
+ .start = @as(i32, @intCast(lexer.end)),
}, .len = 1 };
lexer.step();
@@ -2531,11 +2531,11 @@ fn NewLexer_(
break :brk strings.unicode_replacement;
};
- cursor.i += @intCast(u32, length) + 1;
+ cursor.i += @as(u32, @intCast(length)) + 1;
cursor.width = 1;
} else if (tables.jsxEntity.get(entity)) |ent| {
cursor.c = ent;
- cursor.i += @intCast(u32, length) + 1;
+ cursor.i += @as(u32, @intCast(length)) + 1;
}
}
}
@@ -2550,18 +2550,18 @@ fn NewLexer_(
if (cursor.c == '&') lexer.maybeDecodeJSXEntity(text, &cursor);
if (cursor.c <= 0xFFFF) {
- try out.append(@intCast(u16, cursor.c));
+ try out.append(@as(u16, @intCast(cursor.c)));
} else {
cursor.c -= 0x10000;
try out.ensureUnusedCapacity(2);
(out.items.ptr + out.items.len)[0..2].* = [_]u16{
- @truncate(
+ @as(
u16,
- @bitCast(u32, @as(i32, 0xD800) + ((cursor.c >> 10) & 0x3FF)),
+ @truncate(@as(u32, @bitCast(@as(i32, 0xD800) + ((cursor.c >> 10) & 0x3FF)))),
),
- @truncate(
+ @as(
u16,
- @bitCast(u32, @as(i32, 0xDC00) + (cursor.c & 0x3FF)),
+ @truncate(@as(u32, @bitCast(@as(i32, 0xDC00) + (cursor.c & 0x3FF)))),
),
};
out.items = out.items.ptr[0 .. out.items.len + 2];
@@ -2950,9 +2950,9 @@ fn NewLexer_(
// Parse a 32-bit integer (very fast path);
var number: u32 = 0;
for (text) |c| {
- number = number * 10 + @intCast(u32, c - '0');
+ number = number * 10 + @as(u32, @intCast(c - '0'));
}
- lexer.number = @floatFromInt(f64, number);
+ lexer.number = @as(f64, @floatFromInt(number));
} else {
// Parse a double-precision floating-point number
if (bun.parseDouble(text)) |num| {
@@ -3089,7 +3089,7 @@ pub fn isIdentifierUTF16(text: []const u16) bool {
// this fn is a stub!
pub fn rangeOfIdentifier(source: *const Source, loc: logger.Loc) logger.Range {
const contents = source.contents;
- if (loc.start == -1 or @intCast(usize, loc.start) >= contents.len) return logger.Range.None;
+ if (loc.start == -1 or @as(usize, @intCast(loc.start)) >= contents.len) return logger.Range.None;
const iter = strings.CodepointIterator.init(contents[loc.toUsize()..]);
var cursor = strings.CodepointIterator.Cursor{};
@@ -3099,7 +3099,7 @@ pub fn rangeOfIdentifier(source: *const Source, loc: logger.Loc) logger.Range {
return r;
}
const text = iter.bytes;
- const end = @intCast(u32, text.len);
+ const end = @as(u32, @intCast(text.len));
if (!iter.next(&cursor)) return r;
@@ -3112,7 +3112,7 @@ pub fn rangeOfIdentifier(source: *const Source, loc: logger.Loc) logger.Range {
}
if (isIdentifierStart(cursor.c) or cursor.c == '\\') {
- defer r.len = @intCast(i32, cursor.i);
+ defer r.len = @as(i32, @intCast(cursor.i));
while (iter.next(&cursor)) {
if (cursor.c == '\\') {
@@ -3155,7 +3155,7 @@ pub fn rangeOfIdentifier(source: *const Source, loc: logger.Loc) logger.Range {
}
inline fn float64(num: anytype) f64 {
- return @floatFromInt(f64, num);
+ return @as(f64, @floatFromInt(num));
}
pub fn isLatin1Identifier(comptime Buffer: type, name: Buffer) bool {
@@ -3215,7 +3215,7 @@ fn latin1IdentifierContinueLength(name: []const u8) usize {
};
}
- if (std.simd.firstIndexOfValue(@bitCast(Vec, other), 1)) |first| {
+ if (std.simd.firstIndexOfValue(@as(Vec, @bitCast(other)), 1)) |first| {
if (comptime Environment.allow_assert) {
for (vec[0..first]) |c| {
std.debug.assert(isIdentifierContinue(c));
@@ -3293,9 +3293,9 @@ pub const PragmaArg = enum {
return js_ast.Span{
.range = logger.Range{
- .len = @intCast(i32, i),
+ .len = @as(i32, @intCast(i)),
.loc = logger.Loc{
- .start = @intCast(i32, start + @intCast(u32, offset_) + @intCast(u32, pragma.len)),
+ .start = @as(i32, @intCast(start + @as(u32, @intCast(offset_)) + @as(u32, @intCast(pragma.len)))),
},
},
.text = text[0..i],
@@ -3305,9 +3305,9 @@ pub const PragmaArg = enum {
fn skipToInterestingCharacterInMultilineComment(text_: []const u8) ?u32 {
var text = text_;
- const star = @splat(strings.ascii_vector_size, @as(u8, '*'));
- const carriage = @splat(strings.ascii_vector_size, @as(u8, '\r'));
- const newline = @splat(strings.ascii_vector_size, @as(u8, '\n'));
+ const star: @Vector(strings.ascii_vector_size, u8) = @splat(@as(u8, '*'));
+ const carriage: @Vector(strings.ascii_vector_size, u8) = @splat(@as(u8, '\r'));
+ const newline: @Vector(strings.ascii_vector_size, u8) = @splat(@as(u8, '\n'));
const V1x16 = strings.AsciiVectorU1;
const text_end_len = text.len & ~(@as(usize, strings.ascii_vector_size) - 1);
@@ -3320,41 +3320,41 @@ fn skipToInterestingCharacterInMultilineComment(text_: []const u8) ?u32 {
const vec: strings.AsciiVector = text.ptr[0..strings.ascii_vector_size].*;
const any_significant =
- @bitCast(V1x16, vec > strings.max_16_ascii) |
- @bitCast(V1x16, star == vec) |
- @bitCast(V1x16, carriage == vec) |
- @bitCast(V1x16, newline == vec);
+ @as(V1x16, @bitCast(vec > strings.max_16_ascii)) |
+ @as(V1x16, @bitCast(star == vec)) |
+ @as(V1x16, @bitCast(carriage == vec)) |
+ @as(V1x16, @bitCast(newline == vec));
if (@reduce(.Max, any_significant) > 0) {
- const bitmask = @bitCast(u16, any_significant);
+ const bitmask = @as(u16, @bitCast(any_significant));
const first = @ctz(bitmask);
std.debug.assert(first < strings.ascii_vector_size);
std.debug.assert(text.ptr[first] == '*' or text.ptr[first] == '\r' or text.ptr[first] == '\n' or text.ptr[first] > 127);
- return @truncate(u32, first + (@intFromPtr(text.ptr) - @intFromPtr(text_.ptr)));
+ return @as(u32, @truncate(first + (@intFromPtr(text.ptr) - @intFromPtr(text_.ptr))));
}
text.ptr += strings.ascii_vector_size;
}
- return @truncate(u32, @intFromPtr(text.ptr) - @intFromPtr(text_.ptr));
+ return @as(u32, @truncate(@intFromPtr(text.ptr) - @intFromPtr(text_.ptr)));
}
fn indexOfInterestingCharacterInStringLiteral(text_: []const u8, quote: u8) ?usize {
var text = text_;
- const quote_ = @splat(strings.ascii_vector_size, @as(u8, quote));
- const backslash = @splat(strings.ascii_vector_size, @as(u8, '\\'));
+ const quote_: @Vector(strings.ascii_vector_size, u8) = @splat(@as(u8, quote));
+ const backslash: @Vector(strings.ascii_vector_size, u8) = @splat(@as(u8, '\\'));
const V1x16 = strings.AsciiVectorU1;
while (text.len >= strings.ascii_vector_size) {
const vec: strings.AsciiVector = text[0..strings.ascii_vector_size].*;
const any_significant =
- @bitCast(V1x16, vec > strings.max_16_ascii) |
- @bitCast(V1x16, vec < strings.min_16_ascii) |
- @bitCast(V1x16, quote_ == vec) |
- @bitCast(V1x16, backslash == vec);
+ @as(V1x16, @bitCast(vec > strings.max_16_ascii)) |
+ @as(V1x16, @bitCast(vec < strings.min_16_ascii)) |
+ @as(V1x16, @bitCast(quote_ == vec)) |
+ @as(V1x16, @bitCast(backslash == vec));
if (@reduce(.Max, any_significant) > 0) {
- const bitmask = @bitCast(u16, any_significant);
+ const bitmask = @as(u16, @bitCast(any_significant));
const first = @ctz(bitmask);
std.debug.assert(first < strings.ascii_vector_size);
return first + (@intFromPtr(text.ptr) - @intFromPtr(text_.ptr));
diff --git a/src/js_lexer/identifier.zig b/src/js_lexer/identifier.zig
index 8c1a59c2b..77308fcd2 100644
--- a/src/js_lexer/identifier.zig
+++ b/src/js_lexer/identifier.zig
@@ -19,9 +19,9 @@ pub const Bitset = struct {
pub fn isIdentifierStart(codepoint: i32) bool {
return codepoint >= (comptime id_start_range[0]) and
codepoint <= (comptime id_start_range[1]) and
- id_start.isSet((comptime @intCast(usize, id_start_range[1])) - @intCast(
+ id_start.isSet((comptime @as(usize, @intCast(id_start_range[1]))) - @as(
usize,
- codepoint,
+ @intCast(codepoint),
));
}
@@ -29,9 +29,9 @@ pub const Bitset = struct {
return codepoint >= (comptime id_end_range[0]) and
codepoint <= (comptime id_end_range[1]) and
id_continue.isSet(
- (comptime @intCast(usize, id_end_range[1])) - @intCast(
+ (comptime @as(usize, @intCast(id_end_range[1]))) - @as(
usize,
- codepoint,
+ @intCast(codepoint),
),
);
}
@@ -46,7 +46,7 @@ pub const JumpTable = struct {
@setCold(true);
return switch (codepoint) {
// explicitly tell LLVM's optimizer about values we know will not be in the range of this switch statement
- 0xaa...0xffd7 => isIdentifierPartSlow16(@intCast(u16, codepoint)),
+ 0xaa...0xffd7 => isIdentifierPartSlow16(@as(u16, @intCast(codepoint))),
(0xffd7 + 1)...0xe01ef => isIdentifierPartSlow32(codepoint),
else => false,
};
@@ -87,7 +87,7 @@ pub const JumpTable = struct {
// explicitly tell LLVM's optimizer about values we know will not be in the range of this switch statement
(max_codepoint + 1)...maxInt(i32), minInt(i32)...127 => unreachable,
- 128...0xfdc7 => isIdentifierStartSlow16(@intCast(u16, codepoint)),
+ 128...0xfdc7 => isIdentifierStartSlow16(@as(u16, @intCast(codepoint))),
0xfdf0...0x3134a => isIdentifierStartSlow32(codepoint),
else => false,
};
diff --git a/src/js_lexer/identifier_cache.zig b/src/js_lexer/identifier_cache.zig
index 402e999f1..21511846f 100644
--- a/src/js_lexer/identifier_cache.zig
+++ b/src/js_lexer/identifier_cache.zig
@@ -6,13 +6,13 @@ pub const CachedBitset = extern struct {
len: u32,
pub fn fromFile(comptime filename: anytype) CachedBitset {
- return comptime @bitCast(CachedBitset, bun.asByteSlice(@embedFile(filename)).ptr[0..@sizeOf(CachedBitset)].*);
+ return comptime @as(CachedBitset, @bitCast(bun.asByteSlice(@embedFile(filename)).ptr[0..@sizeOf(CachedBitset)].*));
}
};
pub fn setMasks(masks: [*:0]const u8, comptime MaskType: type, masky: MaskType) void {
const FieldInfo: std.builtin.Type.StructField = std.meta.fieldInfo(MaskType, "masks");
- masky.masks = @bitCast(masks, FieldInfo.type);
+ masky.masks = @as(masks, @bitCast(FieldInfo.type));
}
pub const id_start_meta = CachedBitset.fromFile("id_start_bitset.meta.blob");
@@ -23,8 +23,8 @@ pub const id_continue_masks = @embedFile("id_continue_bitset.blob");
pub const IDStartType = bun.bit_set.ArrayBitSet(usize, id_start_meta.len);
pub const IDContinueType = bun.bit_set.ArrayBitSet(usize, id_continue_meta.len);
pub const id_start = IDStartType{
- .masks = @bitCast(std.meta.fieldInfo(IDStartType, .masks).type, @ptrCast(*const [id_start_masks.len]u8, id_start_masks).*),
+ .masks = @as(std.meta.fieldInfo(IDStartType, .masks).type, @bitCast(@as(*const [id_start_masks.len]u8, @ptrCast(id_start_masks)).*)),
};
pub const id_continue = IDContinueType{
- .masks = @bitCast(std.meta.fieldInfo(IDContinueType, .masks).type, @ptrCast(*const [id_continue_masks.len]u8, id_continue_masks).*),
+ .masks = @as(std.meta.fieldInfo(IDContinueType, .masks).type, @bitCast(@as(*const [id_continue_masks.len]u8, @ptrCast(id_continue_masks)).*)),
};
diff --git a/src/js_lexer/identifier_data.zig b/src/js_lexer/identifier_data.zig
index c9c83d113..3ff27f9c6 100644
--- a/src/js_lexer/identifier_data.zig
+++ b/src/js_lexer/identifier_data.zig
@@ -165,11 +165,11 @@ test "Check #3" {
var i: i32 = id_end_range[0];
while (i < id_end_range[1]) : (i += 1) {
- try std.testing.expectEqual(id_continue.isSet(@intCast(usize, id_end_range[1] - i)), Cache.id_continue.isSet(@intCast(usize, id_end_range[1] - i)));
+ try std.testing.expectEqual(id_continue.isSet(@as(usize, @intCast(id_end_range[1] - i))), Cache.id_continue.isSet(@as(usize, @intCast(id_end_range[1] - i))));
}
i = id_start_range[0];
while (i < id_start_range[1]) : (i += 1) {
- try std.testing.expectEqual(id_start.isSet(@intCast(usize, id_start_range[1] - i)), Cache.id_start.isSet(@intCast(usize, id_start_range[1] - i)));
+ try std.testing.expectEqual(id_start.isSet(@as(usize, @intCast(id_start_range[1] - i))), Cache.id_start.isSet(@as(usize, @intCast(id_start_range[1] - i))));
}
}
diff --git a/src/js_parser.zig b/src/js_parser.zig
index 3c706b1bb..d20c1a868 100644
--- a/src/js_parser.zig
+++ b/src/js_parser.zig
@@ -383,7 +383,7 @@ const JSXTag = struct {
try p.lexer.expectInsideJSXElement(.t_identifier);
if (strings.indexOfChar(member, '-')) |index| {
- try p.log.addError(p.source, logger.Loc{ .start = member_range.loc.start + @intCast(i32, index) }, "Unexpected \"-\"");
+ try p.log.addError(p.source, logger.Loc{ .start = member_range.loc.start + @as(i32, @intCast(index)) }, "Unexpected \"-\"");
return error.SyntaxError;
}
@@ -3123,7 +3123,7 @@ pub const Parser = struct {
}
if (needs_decl_count > 0) {
- p.symbols.items[p.exports_ref.innerIndex()].use_count_estimate += @truncate(u32, export_refs.len);
+ p.symbols.items[p.exports_ref.innerIndex()].use_count_estimate += @as(u32, @truncate(export_refs.len));
p.deoptimizeCommonJSNamedExports();
}
}
@@ -4192,7 +4192,7 @@ pub const Parser = struct {
var iter = p.runtime_imports.iter();
var i: usize = 0;
while (iter.next()) |entry| {
- runtime_imports[i] = @intCast(u8, entry.key);
+ runtime_imports[i] = @as(u8, @intCast(entry.key));
i += 1;
}
@@ -5184,7 +5184,7 @@ fn NewParser_(
return p.newExpr(
E.RequireString{
.import_record_index = import_record_index,
- .unwrapped_id = @intCast(u32, p.imports_to_convert_from_require.items.len - 1),
+ .unwrapped_id = @as(u32, @intCast(p.imports_to_convert_from_require.items.len - 1)),
},
arg.loc,
);
@@ -5202,9 +5202,9 @@ fn NewParser_(
p.import_records.items[import_record_index].contains_import_star = true;
const symbol_name = p.import_records.items[import_record_index].path.name.nonUniqueNameString(p.allocator) catch unreachable;
- const hash_value = @truncate(
+ const hash_value = @as(
u16,
- bun.hash(p.import_records.items[import_record_index].path.text),
+ @truncate(bun.hash(p.import_records.items[import_record_index].path.text)),
);
const cjs_import_name = std.fmt.allocPrint(
@@ -5524,7 +5524,7 @@ fn NewParser_(
const symbol: *const Symbol = &symbols[entry.value_ptr.ref.innerIndex()];
if (symbol.slotNamespace() != .must_not_be_renamed) {
- char_freq.scan(symbol.original_name, -@intCast(i32, symbol.use_count_estimate));
+ char_freq.scan(symbol.original_name, -@as(i32, @intCast(symbol.use_count_estimate)));
}
}
@@ -5532,7 +5532,7 @@ fn NewParser_(
const symbol = &symbols[ref.innerIndex()];
if (symbol.slotNamespace() != .must_not_be_renamed) {
- char_freq.scan(symbol.original_name, -@intCast(i32, symbol.use_count_estimate) - 1);
+ char_freq.scan(symbol.original_name, -@as(i32, @intCast(symbol.use_count_estimate)) - 1);
}
}
@@ -8203,8 +8203,8 @@ fn NewParser_(
}
var item_refs = ImportItemForNamespaceMap.init(p.allocator);
- const count_excluding_namespace = @intCast(u16, stmt.items.len) +
- @intCast(u16, @intFromBool(stmt.default_name != null));
+ const count_excluding_namespace = @as(u16, @intCast(stmt.items.len)) +
+ @as(u16, @intCast(@intFromBool(stmt.default_name != null)));
try item_refs.ensureUnusedCapacity(count_excluding_namespace);
// Even though we allocate ahead of time here
@@ -8468,7 +8468,7 @@ fn NewParser_(
}
pub fn newSymbol(p: *P, kind: Symbol.Kind, identifier: string) !Ref {
- const inner_index = @truncate(Ref.Int, p.symbols.items.len);
+ const inner_index = @as(Ref.Int, @truncate(p.symbols.items.len));
try p.symbols.append(Symbol{
.kind = kind,
.original_name = identifier,
@@ -11792,7 +11792,7 @@ fn NewParser_(
// to the expression "a().b()".
if (had_pure_comment_before and level.lt(.call)) {
- expr = try p.parseSuffix(expr, @enumFromInt(Level, @intFromEnum(Level.call) - 1), errors, flags);
+ expr = try p.parseSuffix(expr, @as(Level, @enumFromInt(@intFromEnum(Level.call) - 1)), errors, flags);
switch (expr.data) {
.e_call => |ex| {
ex.can_be_unwrapped_if_unused = true;
@@ -11823,7 +11823,7 @@ fn NewParser_(
.path = path,
};
p.import_records.append(record) catch unreachable;
- return @intCast(u32, index);
+ return @as(u32, @intCast(index));
}
pub fn popScope(p: *P) void {
@@ -12983,7 +12983,7 @@ fn NewParser_(
}
try p.lexer.next();
- left = p.newExpr(E.Binary{ .op = .bin_add_assign, .left = left, .right = try p.parseExpr(@enumFromInt(Op.Level, @intFromEnum(Op.Level.assign) - 1)) }, left.loc);
+ left = p.newExpr(E.Binary{ .op = .bin_add_assign, .left = left, .right = try p.parseExpr(@as(Op.Level, @enumFromInt(@intFromEnum(Op.Level.assign) - 1))) }, left.loc);
},
.t_minus => {
if (level.gte(.add)) {
@@ -13422,7 +13422,7 @@ fn NewParser_(
p.is_import_item.ensureUnusedCapacity(
p.allocator,
- @intCast(u32, p.is_import_item.count() + import.items.len),
+ @as(u32, @intCast(p.is_import_item.count() + import.items.len)),
) catch unreachable;
for (import.items) |*clause| {
@@ -13715,7 +13715,7 @@ fn NewParser_(
if (value.data.e_index.index.data == .e_private_identifier) {
const private = value.data.e_index.index.data.e_private_identifier;
const name = p.loadNameFromRef(private.ref);
- const range = logger.Range{ .loc = value.loc, .len = @intCast(i32, name.len) };
+ const range = logger.Range{ .loc = value.loc, .len = @as(i32, @intCast(name.len)) };
p.log.addRangeErrorFmt(p.source, range, p.allocator, "Deleting the private name \"{s}\" is forbidden", .{name}) catch unreachable;
}
}
@@ -15157,7 +15157,7 @@ fn NewParser_(
const children_elements = e_.children.slice()[0..children_count];
for (children_elements) |child| {
args[i] = p.visitExpr(child);
- i += @intCast(usize, @intFromBool(args[i].data != .e_missing));
+ i += @as(usize, @intCast(@intFromBool(args[i].data != .e_missing)));
}
const target = p.jsxStringsToMemberExpression(expr.loc, p.options.jsx.factory) catch unreachable;
@@ -15188,7 +15188,7 @@ fn NewParser_(
for (children) |child| {
e_.children.ptr[last_child] = p.visitExpr(child);
// if tree-shaking removes the element, we must also remove it here.
- last_child += @intCast(u32, @intFromBool(e_.children.ptr[last_child].data != .e_missing));
+ last_child += @as(u32, @intCast(@intFromBool(e_.children.ptr[last_child].data != .e_missing)));
}
e_.children.len = last_child;
}
@@ -15510,7 +15510,7 @@ fn NewParser_(
// Unlike regular identifiers, there are no unbound private identifiers
const kind: Symbol.Kind = p.symbols.items[result.ref.innerIndex()].kind;
if (!Symbol.isKindPrivate(kind)) {
- const r = logger.Range{ .loc = e_.left.loc, .len = @intCast(i32, name.len) };
+ const r = logger.Range{ .loc = e_.left.loc, .len = @as(i32, @intCast(name.len)) };
p.log.addRangeErrorFmt(p.source, r, p.allocator, "Private name \"{s}\" must be declared in an enclosing class", .{name}) catch unreachable;
}
@@ -15972,17 +15972,17 @@ fn NewParser_(
const kind: Symbol.Kind = p.symbols.items[result.ref.innerIndex()].kind;
var r: logger.Range = undefined;
if (!Symbol.isKindPrivate(kind)) {
- r = logger.Range{ .loc = e_.index.loc, .len = @intCast(i32, name.len) };
+ r = logger.Range{ .loc = e_.index.loc, .len = @as(i32, @intCast(name.len)) };
p.log.addRangeErrorFmt(p.source, r, p.allocator, "Private name \"{s}\" must be declared in an enclosing class", .{name}) catch unreachable;
} else {
if (in.assign_target != .none and (kind == .private_method or kind == .private_static_method)) {
- r = logger.Range{ .loc = e_.index.loc, .len = @intCast(i32, name.len) };
+ r = logger.Range{ .loc = e_.index.loc, .len = @as(i32, @intCast(name.len)) };
p.log.addRangeWarningFmt(p.source, r, p.allocator, "Writing to read-only method \"{s}\" will throw", .{name}) catch unreachable;
} else if (in.assign_target != .none and (kind == .private_get or kind == .private_static_get)) {
- r = logger.Range{ .loc = e_.index.loc, .len = @intCast(i32, name.len) };
+ r = logger.Range{ .loc = e_.index.loc, .len = @as(i32, @intCast(name.len)) };
p.log.addRangeWarningFmt(p.source, r, p.allocator, "Writing to getter-only property \"{s}\" will throw", .{name}) catch unreachable;
} else if (in.assign_target != .replace and (kind == .private_set or kind == .private_static_set)) {
- r = logger.Range{ .loc = e_.index.loc, .len = @intCast(i32, name.len) };
+ r = logger.Range{ .loc = e_.index.loc, .len = @as(i32, @intCast(name.len)) };
p.log.addRangeWarningFmt(p.source, r, p.allocator, "Reading from setter-only property \"{s}\" will throw", .{name}) catch unreachable;
}
}
@@ -17735,7 +17735,7 @@ fn NewParser_(
.needs_decl = true,
};
if (p.commonjs_named_exports_needs_conversion == std.math.maxInt(u32))
- p.commonjs_named_exports_needs_conversion = @truncate(u32, p.commonjs_named_exports.count() - 1);
+ p.commonjs_named_exports_needs_conversion = @as(u32, @truncate(p.commonjs_named_exports.count() - 1));
}
const ref = named_export_entry.value_ptr.*.loc_ref.ref.?;
@@ -17768,7 +17768,7 @@ fn NewParser_(
if (p.options.features.minify_syntax) {
// minify "long-string".length to 11
if (strings.eqlComptime(name, "length")) {
- return p.newExpr(E.Number{ .value = @floatFromInt(f64, str.javascriptLength()) }, loc);
+ return p.newExpr(E.Number{ .value = @as(f64, @floatFromInt(str.javascriptLength())) }, loc);
}
}
},
@@ -18248,7 +18248,7 @@ fn NewParser_(
return;
}
- data.decls.len = @truncate(u32, decls_len);
+ data.decls.len = @as(u32, @truncate(decls_len));
// Handle being exported inside a namespace
if (data.is_export and p.enclosing_namespace_arg_ref != null) {
@@ -19196,7 +19196,7 @@ fn NewParser_(
{
var array = expr.data.e_array;
- array.items.len = @min(array.items.len, @truncate(u32, bound_array.items.len));
+ array.items.len = @min(array.items.len, @as(u32, @truncate(bound_array.items.len)));
for (bound_array.items[0..array.items.len], array.items.slice()) |item, *child_expr| {
if (item.binding.data == .b_missing) {
child_expr.* = p.newExpr(E.Missing{}, expr.loc);
@@ -19489,7 +19489,7 @@ fn NewParser_(
for (arg.ts_decorators.ptr[0..arg.ts_decorators.len]) |arg_decorator| {
var decorators = if (is_constructor) class.ts_decorators.listManaged(p.allocator) else prop.ts_decorators.listManaged(p.allocator);
const args = p.allocator.alloc(Expr, 2) catch unreachable;
- args[0] = p.newExpr(E.Number{ .value = @floatFromInt(f64, i) }, arg_decorator.loc);
+ args[0] = p.newExpr(E.Number{ .value = @as(f64, @floatFromInt(i)) }, arg_decorator.loc);
args[1] = arg_decorator;
decorators.append(p.callRuntime(arg_decorator.loc, "__decorateParam", args)) catch unreachable;
if (is_constructor) {
@@ -20358,7 +20358,7 @@ fn NewParser_(
var gpe = fn_stmts.getOrPut(name_ref) catch unreachable;
var index = gpe.value_ptr.*;
if (!gpe.found_existing) {
- index = @intCast(u32, let_decls.items.len);
+ index = @as(u32, @intCast(let_decls.items.len));
gpe.value_ptr.* = index;
let_decls.append(.{
.binding = p.b(B.Identifier{
@@ -20505,7 +20505,7 @@ fn NewParser_(
decls[end] = decl;
end += 1;
}
- local.decls.len = @truncate(u32, end);
+ local.decls.len = @as(u32, @truncate(end));
if (end == 0) {
stmt.* = stmt.*.toEmpty();
}
@@ -21440,7 +21440,7 @@ fn NewParser_(
// We still call exportAll just with an empty object.
const has_any_exports = named_exports_count > 0;
- const toplevel_stmts_count = 3 + (@intCast(usize, @intFromBool(has_any_exports)) * 2);
+ const toplevel_stmts_count = 3 + (@as(usize, @intCast(@intFromBool(has_any_exports))) * 2);
var _stmts = allocator.alloc(
Stmt,
end_iife_stmts_count + toplevel_stmts_count + (named_exports_count * 2) + imports_count + exports_from_count,
@@ -21499,7 +21499,7 @@ fn NewParser_(
var new_call_args = call_args[0..new_call_args_count];
var hmr_module_ident = p.newExpr(E.Identifier{ .ref = p.hmr_module.ref }, logger.Loc.Empty);
- new_call_args[0] = p.newExpr(E.Number{ .value = @floatFromInt(f64, p.options.filepath_hash_for_hmr) }, logger.Loc.Empty);
+ new_call_args[0] = p.newExpr(E.Number{ .value = @as(f64, @floatFromInt(p.options.filepath_hash_for_hmr)) }, logger.Loc.Empty);
// This helps us provide better error messages
new_call_args[1] = p.newExpr(E.String{ .data = p.source.path.pretty }, logger.Loc.Empty);
if (p.options.features.react_fast_refresh) {
@@ -21816,7 +21816,7 @@ fn NewParser_(
entry.value_ptr.* = .{};
}
- entry.value_ptr.push(ctx.allocator, @truncate(u32, ctx.part_index)) catch unreachable;
+ entry.value_ptr.push(ctx.allocator, @as(u32, @truncate(ctx.part_index))) catch unreachable;
}
};
@@ -21827,7 +21827,7 @@ fn NewParser_(
.allocator = p.allocator,
.top_level_symbols_to_parts = top_level,
.symbols = p.symbols.items,
- .part_index = @truncate(u32, part_index),
+ .part_index = @as(u32, @truncate(part_index)),
};
DeclaredSymbol.forEachTopLevelSymbol(decls, ctx, Ctx.next);
diff --git a/src/js_printer.zig b/src/js_printer.zig
index a47cc1a23..08a1cb5c1 100644
--- a/src/js_printer.zig
+++ b/src/js_printer.zig
@@ -69,7 +69,7 @@ fn formatUnsignedIntegerBetween(comptime len: u16, buf: *[len]u8, val: u64) void
inline while (i > 0) {
comptime i -= 1;
- buf[comptime i] = @intCast(u8, (remainder % 10)) + '0';
+ buf[comptime i] = @as(u8, @intCast((remainder % 10))) + '0';
remainder /= 10;
}
}
@@ -188,7 +188,7 @@ pub fn estimateLengthForJSON(input: []const u8, comptime ascii_only: bool) usize
}
remaining = remaining[char_len..];
} else {
- return @truncate(u32, remaining.len) + 2;
+ return @as(u32, @truncate(remaining.len)) + 2;
}
return len;
@@ -260,7 +260,7 @@ pub fn quoteForJSON(text: []const u8, output_: MutableString, comptime ascii_onl
i += @as(usize, width);
if (c < 0xFFFF) {
- const k = @intCast(usize, c);
+ const k = @as(usize, @intCast(c));
bytes.ensureUnusedCapacity(6) catch unreachable;
const old = bytes.list.items.len;
bytes.list.items.len += 6;
@@ -279,8 +279,8 @@ pub fn quoteForJSON(text: []const u8, output_: MutableString, comptime ascii_onl
bytes.list.items.len += 12;
const k = c - 0x10000;
- const lo = @intCast(usize, first_high_surrogate + ((k >> 10) & 0x3FF));
- const hi = @intCast(usize, first_low_surrogate + (k & 0x3FF));
+ const lo = @as(usize, @intCast(first_high_surrogate + ((k >> 10) & 0x3FF)));
+ const hi = @as(usize, @intCast(first_low_surrogate + (k & 0x3FF)));
bytes.list.items[old .. old + 12][0..12].* = [_]u8{
'\\',
@@ -407,7 +407,7 @@ pub fn writeJSONString(input: []const u8, comptime Writer: type, writer: Writer,
text = text[@as(usize, width)..];
if (c < 0xFFFF) {
- const k = @intCast(usize, c);
+ const k = @as(usize, @intCast(c));
try writer.writeAll(&[_]u8{
'\\',
@@ -419,8 +419,8 @@ pub fn writeJSONString(input: []const u8, comptime Writer: type, writer: Writer,
});
} else {
const k = c - 0x10000;
- const lo = @intCast(usize, first_high_surrogate + ((k >> 10) & 0x3FF));
- const hi = @intCast(usize, first_low_surrogate + (k & 0x3FF));
+ const lo = @as(usize, @intCast(first_high_surrogate + ((k >> 10) & 0x3FF)));
+ const hi = @as(usize, @intCast(first_low_surrogate + (k & 0x3FF)));
try writer.writeAll(&[_]u8{
'\\',
@@ -467,7 +467,7 @@ pub const SourceMapHandler = struct {
pub fn For(comptime Type: type, comptime handler: (fn (t: *Type, chunk: SourceMap.Chunk, source: logger.Source) anyerror!void)) type {
return struct {
pub fn onChunk(self: *anyopaque, chunk: SourceMap.Chunk, source: logger.Source) anyerror!void {
- try handler(@ptrCast(*Type, @alignCast(@alignOf(*Type), self)), chunk, source);
+ try handler(@as(*Type, @ptrCast(@alignCast(self))), chunk, source);
}
pub fn init(self: *Type) SourceMapHandler {
@@ -571,7 +571,7 @@ pub const RequireOrImportMeta = struct {
) Callback {
return Callback{
.ctx = bun.cast(*anyopaque, ctx),
- .callback = @ptrCast(*const Fn, &callback),
+ .callback = @as(*const Fn, @ptrCast(&callback)),
};
}
};
@@ -1340,13 +1340,13 @@ fn NewPrinter(
// In JavaScript, numbers are represented as 64 bit floats
// However, they could also be signed or unsigned int 32 (when doing bit shifts)
// In this case, it's always going to unsigned since that conversion has already happened.
- const val = @intFromFloat(u64, float);
+ const val = @as(u64, @intFromFloat(float));
switch (val) {
0 => {
p.print("0");
},
1...9 => {
- var bytes = [1]u8{'0' + @intCast(u8, val)};
+ var bytes = [1]u8{'0' + @as(u8, @intCast(val))};
p.print(&bytes);
},
10 => {
@@ -1552,7 +1552,7 @@ fn NewPrinter(
else => {
switch (c) {
first_ascii...last_ascii => {
- e.print(@intCast(u8, c));
+ e.print(@as(u8, @intCast(c)));
// Fast path for printing long UTF-16 template literals
// this only applies to template literal strings
@@ -1578,7 +1578,7 @@ fn NewPrinter(
e.writer.advance(len);
continue :outer;
} else {
- const count = @truncate(u32, remain.len);
+ const count = @as(u32, @truncate(remain.len));
var ptr = e.writer.reserve(count) catch unreachable;
var to_copy = ptr[0..count];
strings.copyU16IntoU8(to_copy, []const u16, remain);
@@ -4504,7 +4504,7 @@ fn NewPrinter(
p.print(",");
p.printSpace();
}
- p.printLoadFromBundleWithoutCall(@truncate(u32, i));
+ p.printLoadFromBundleWithoutCall(@as(u32, @truncate(i)));
needs_comma = true;
}
@@ -5291,7 +5291,7 @@ pub fn NewWriter(
pub fn advance(writer: *Self, count: u32) void {
advanceBy(&writer.ctx, count);
- writer.written += @intCast(i32, count);
+ writer.written += @as(i32, @intCast(count));
}
pub const Error = error{FormatError};
@@ -5299,7 +5299,7 @@ pub fn NewWriter(
pub fn writeAll(writer: *Self, bytes: anytype) Error!usize {
const written = @max(writer.written, 0);
writer.print(@TypeOf(bytes), bytes);
- return @intCast(usize, writer.written) - @intCast(usize, written);
+ return @as(usize, @intCast(writer.written)) - @as(usize, @intCast(written));
}
pub inline fn print(writer: *Self, comptime ValueType: type, str: ValueType) void {
@@ -5311,12 +5311,12 @@ pub fn NewWriter(
switch (ValueType) {
comptime_int, u16, u8 => {
- const written = writeByte(&writer.ctx, @intCast(u8, str)) catch |err| brk: {
+ const written = writeByte(&writer.ctx, @as(u8, @intCast(str))) catch |err| brk: {
writer.orig_err = err;
break :brk 0;
};
- writer.written += @intCast(i32, written);
+ writer.written += @as(i32, @intCast(written));
writer.err = if (written == 0) error.WriteFailed else writer.err;
},
else => {
@@ -5325,7 +5325,7 @@ pub fn NewWriter(
break :brk 0;
};
- writer.written += @intCast(i32, written);
+ writer.written += @as(i32, @intCast(written));
if (written < str.len) {
writer.err = if (written == 0) error.WriteFailed else error.PartialWrite;
}
@@ -5419,7 +5419,7 @@ const FileWriterInternal = struct {
pub fn reserveNext(_: *FileWriterInternal, count: u32) anyerror![*]u8 {
try buffer.growIfNeeded(count);
- return @ptrCast([*]u8, &buffer.list.items.ptr[buffer.list.items.len]);
+ return @as([*]u8, @ptrCast(&buffer.list.items.ptr[buffer.list.items.len]));
}
pub fn advanceBy(this: *FileWriterInternal, count: u32) void {
if (comptime Environment.isDebug) std.debug.assert(buffer.list.items.len + count <= buffer.list.capacity);
@@ -5534,7 +5534,7 @@ pub const BufferWriter = struct {
pub fn reserveNext(ctx: *BufferWriter, count: u32) anyerror![*]u8 {
try ctx.buffer.growIfNeeded(count);
- return @ptrCast([*]u8, &ctx.buffer.list.items.ptr[ctx.buffer.list.items.len]);
+ return @as([*]u8, @ptrCast(&ctx.buffer.list.items.ptr[ctx.buffer.list.items.len]));
}
pub fn advanceBy(ctx: *BufferWriter, count: u32) void {
if (comptime Environment.isDebug) std.debug.assert(ctx.buffer.list.items.len + count <= ctx.buffer.list.capacity);
@@ -5644,9 +5644,9 @@ pub fn getSourceMapBuilder(
if (generate_source_map == .lazy) break :brk SourceMap.LineOffsetTable.generate(
opts.allocator,
source.contents,
- @intCast(
+ @as(
i32,
- tree.approximate_newline_count,
+ @intCast(tree.approximate_newline_count),
),
);
@@ -5788,7 +5788,7 @@ pub fn printAst(
try printer.writer.done();
- return @intCast(usize, @max(printer.writer.written, 0));
+ return @as(usize, @intCast(@max(printer.writer.written, 0)));
}
pub fn printJSON(
@@ -5824,7 +5824,7 @@ pub fn printJSON(
}
try printer.writer.done();
- return @intCast(usize, @max(printer.writer.written, 0));
+ return @as(usize, @intCast(@max(printer.writer.written, 0)));
}
pub fn print(
@@ -6006,7 +6006,7 @@ pub fn printCommonJS(
try printer.writer.done();
- return @intCast(usize, @max(printer.writer.written, 0));
+ return @as(usize, @intCast(@max(printer.writer.written, 0)));
}
// pub fn printChunk(
@@ -6082,26 +6082,26 @@ pub fn printCommonJSThreaded(
{
defer lock.unlock();
lock.lock();
- result.off = @truncate(u32, try getPos(getter));
+ result.off = @as(u32, @truncate(try getPos(getter)));
if (comptime Environment.isLinux) {
if (printer.writer.written > C.preallocate_length) {
// on mac, it's relative to current position in file handle
// on linux, it's absolute
try C.preallocate_file(
getter.handle,
- @intCast(std.os.off_t, if (comptime Environment.isMac) 0 else result.off),
- @intCast(std.os.off_t, printer.writer.written),
+ @as(std.os.off_t, @intCast(if (comptime Environment.isMac) 0 else result.off)),
+ @as(std.os.off_t, @intCast(printer.writer.written)),
);
}
}
try printer.writer.done();
@fence(.SeqCst);
- result.end_off = @truncate(u32, try getPos(getter));
+ result.end_off = @as(u32, @truncate(try getPos(getter)));
@atomicStore(u32, end_off_ptr, result.end_off, .SeqCst);
}
- result.len = @intCast(usize, @max(printer.writer.written, 0));
+ result.len = @as(usize, @intCast(@max(printer.writer.written, 0)));
return result;
}
diff --git a/src/json_parser.zig b/src/json_parser.zig
index c7dd74943..eb8018bfa 100644
--- a/src/json_parser.zig
+++ b/src/json_parser.zig
@@ -542,7 +542,7 @@ pub fn toAST(
return Expr{
.data = .{
.e_number = .{
- .value = @floatFromInt(f64, value),
+ .value = @as(f64, @floatFromInt(value)),
},
},
.loc = logger.Loc{},
@@ -552,7 +552,7 @@ pub fn toAST(
return Expr{
.data = .{
.e_number = .{
- .value = @floatCast(f64, value),
+ .value = @as(f64, @floatCast(value)),
},
},
.loc = logger.Loc{},
diff --git a/src/libarchive/libarchive.zig b/src/libarchive/libarchive.zig
index c2948fd28..69fe43b70 100644
--- a/src/libarchive/libarchive.zig
+++ b/src/libarchive/libarchive.zig
@@ -245,7 +245,7 @@ pub const BufferReadStream = struct {
}
pub inline fn fromCtx(ctx: *anyopaque) *Stream {
- return @ptrCast(*Stream, @alignCast(@alignOf(*Stream), ctx));
+ return @as(*Stream, @ptrCast(@alignCast(ctx)));
}
pub fn archive_close_callback(
@@ -267,7 +267,7 @@ pub const BufferReadStream = struct {
const diff = @min(remaining.len, this.block_size);
buffer.* = remaining[0..diff].ptr;
this.pos += diff;
- return @intCast(isize, diff);
+ return @as(isize, @intCast(diff));
}
pub fn archive_skip_callback(
@@ -277,12 +277,12 @@ pub const BufferReadStream = struct {
) callconv(.C) lib.la_int64_t {
var this = fromCtx(ctx_);
- const buflen = @intCast(isize, this.buf.len);
- const pos = @intCast(isize, this.pos);
+ const buflen = @as(isize, @intCast(this.buf.len));
+ const pos = @as(isize, @intCast(this.pos));
const proposed = pos + offset;
const new_pos = @min(@max(proposed, 0), buflen - 1);
- this.pos = @intCast(usize, this.pos);
+ this.pos = @as(usize, @intCast(this.pos));
return new_pos - pos;
}
@@ -294,23 +294,23 @@ pub const BufferReadStream = struct {
) callconv(.C) lib.la_int64_t {
var this = fromCtx(ctx_);
- const buflen = @intCast(isize, this.buf.len);
- const pos = @intCast(isize, this.pos);
+ const buflen = @as(isize, @intCast(this.buf.len));
+ const pos = @as(isize, @intCast(this.pos));
- switch (@enumFromInt(Seek, whence)) {
+ switch (@as(Seek, @enumFromInt(whence))) {
Seek.current => {
const new_pos = @max(@min(pos + offset, buflen - 1), 0);
- this.pos = @intCast(usize, new_pos);
+ this.pos = @as(usize, @intCast(new_pos));
return new_pos;
},
Seek.end => {
const new_pos = @max(@min(buflen - offset, buflen), 0);
- this.pos = @intCast(usize, new_pos);
+ this.pos = @as(usize, @intCast(new_pos));
return new_pos;
},
Seek.set => {
const new_pos = @max(@min(offset, buflen - 1), 0);
- this.pos = @intCast(usize, new_pos);
+ this.pos = @as(usize, @intCast(new_pos));
return new_pos;
},
}
@@ -363,7 +363,7 @@ pub const Archive = struct {
pub const U64Context = struct {
pub fn hash(_: @This(), k: u64) u32 {
- return @truncate(u32, k);
+ return @as(u32, @truncate(k));
}
pub fn eql(_: @This(), a: u64, b: u64, _: usize) bool {
return a == b;
@@ -413,7 +413,7 @@ pub const Archive = struct {
};
loop: while (true) {
- const r = @enumFromInt(Status, lib.archive_read_next_header(archive, &entry));
+ const r = @as(Status, @enumFromInt(lib.archive_read_next_header(archive, &entry)));
switch (r) {
Status.eof => break :loop,
@@ -434,7 +434,7 @@ pub const Archive = struct {
pathname = std.mem.sliceTo(pathname_.ptr[0..pathname_.len :0], 0);
const dirname = std.mem.trim(u8, std.fs.path.dirname(bun.asByteSlice(pathname)) orelse "", std.fs.path.sep_str);
- const size = @intCast(usize, @max(lib.archive_entry_size(entry), 0));
+ const size = @as(usize, @intCast(@max(lib.archive_entry_size(entry), 0)));
if (size > 0) {
var opened = dir.dir.openFileZ(pathname, .{ .mode = .write_only }) catch continue :loop;
var stat = try opened.stat();
@@ -490,7 +490,7 @@ pub const Archive = struct {
const dir_fd = dir.fd;
loop: while (true) {
- const r = @enumFromInt(Status, lib.archive_read_next_header(archive, &entry));
+ const r = @as(Status, @enumFromInt(lib.archive_read_next_header(archive, &entry)));
switch (r) {
Status.eof => break :loop,
@@ -513,7 +513,7 @@ pub const Archive = struct {
}
var pathname_ = tokenizer.rest();
- pathname = @ptrFromInt([*]const u8, @intFromPtr(pathname_.ptr))[0..pathname_.len :0];
+ pathname = @as([*]const u8, @ptrFromInt(@intFromPtr(pathname_.ptr)))[0..pathname_.len :0];
if (pathname.len == 0) continue;
const kind = C.kindFromMode(lib.archive_entry_filetype(entry));
@@ -528,7 +528,7 @@ pub const Archive = struct {
switch (kind) {
Kind.directory => {
- var mode = @intCast(i32, lib.archive_entry_perm(entry));
+ var mode = @as(i32, @intCast(lib.archive_entry_perm(entry)));
// if dirs are readable, then they should be listable
// https://github.com/npm/node-tar/blob/main/lib/mode-fix.js
@@ -539,7 +539,7 @@ pub const Archive = struct {
if ((mode & 0o4) != 0)
mode |= 0o1;
- std.os.mkdiratZ(dir_fd, pathname, @intCast(u32, mode)) catch |err| {
+ std.os.mkdiratZ(dir_fd, pathname, @as(u32, @intCast(mode))) catch |err| {
if (err == error.PathAlreadyExists or err == error.NotDir) break;
try dir.makePath(std.fs.path.dirname(slice) orelse return err);
try std.os.mkdiratZ(dir_fd, pathname, 0o777);
@@ -561,7 +561,7 @@ pub const Archive = struct {
};
},
Kind.file => {
- const mode = @intCast(std.os.mode_t, lib.archive_entry_perm(entry));
+ const mode = @as(std.os.mode_t, @intCast(lib.archive_entry_perm(entry)));
const file = dir.createFileZ(pathname, .{ .truncate = true, .mode = mode }) catch |err| brk: {
switch (err) {
error.AccessDenied, error.FileNotFound => {
@@ -579,7 +579,7 @@ pub const Archive = struct {
defer if (comptime close_handles) file.close();
const entry_size = @max(lib.archive_entry_size(entry), 0);
- const size = @intCast(usize, entry_size);
+ const size = @as(usize, @intCast(entry_size));
if (size > 0) {
if (ctx) |ctx_| {
const hash: u64 = if (ctx_.pluckers.len > 0)
@@ -599,7 +599,7 @@ pub const Archive = struct {
try plucker_.contents.inflate(size);
plucker_.contents.list.expandToCapacity();
var read = lib.archive_read_data(archive, plucker_.contents.list.items.ptr, size);
- try plucker_.contents.inflate(@intCast(usize, read));
+ try plucker_.contents.inflate(@as(usize, @intCast(read)));
plucker_.found = read > 0;
plucker_.fd = file.handle;
continue :loop;
diff --git a/src/linker.zig b/src/linker.zig
index fa1c504d7..744c5eabc 100644
--- a/src/linker.zig
+++ b/src/linker.zig
@@ -234,7 +234,7 @@ pub const Linker = struct {
switch (result.loader) {
.jsx, .js, .ts, .tsx => {
var record_i: u32 = 0;
- const record_count = @truncate(u32, import_records.items.len);
+ const record_count = @as(u32, @truncate(import_records.items.len));
outer: while (record_i < record_count) : (record_i += 1) {
var import_record = &import_records.items[record_i];
@@ -569,7 +569,7 @@ pub const Linker = struct {
// But we need to at least tell the printer that this needs to happen.
if (loader != .napi and resolved_import.shouldAssumeCommonJS(import_record.kind) and !is_bun) {
import_record.do_commonjs_transform_in_printer = true;
- import_record.module_id = @truncate(u32, bun.hash(path.pretty));
+ import_record.module_id = @as(u32, @truncate(bun.hash(path.pretty)));
}
} else |err| {
switch (err) {
diff --git a/src/linux_c.zig b/src/linux_c.zig
index 12e3c9b73..0c0631738 100644
--- a/src/linux_c.zig
+++ b/src/linux_c.zig
@@ -148,7 +148,7 @@ pub const SystemErrno = enum(u8) {
}
if (code >= max) return null;
- return @enumFromInt(SystemErrno, code);
+ return @as(SystemErrno, @enumFromInt(code));
}
pub fn label(this: SystemErrno) ?[]const u8 {
@@ -373,7 +373,7 @@ pub fn preallocate_file(fd: std.os.fd_t, offset: std.os.off_t, len: std.os.off_t
// './micro 65432000 temp --preallocate' ran
// 1.18 ± 0.06 times faster than './micro 65432000 temp'
//
- _ = std.os.linux.fallocate(fd, 0, @intCast(i64, offset), len);
+ _ = std.os.linux.fallocate(fd, 0, @as(i64, @intCast(offset)), len);
}
/// splice() moves data between two file descriptors without copying
@@ -384,9 +384,9 @@ pub fn preallocate_file(fd: std.os.fd_t, offset: std.os.off_t, len: std.os.off_t
pub fn splice(fd_in: std.os.fd_t, off_in: ?*i64, fd_out: std.os.fd_t, off_out: ?*i64, len: usize, flags: u32) usize {
return std.os.linux.syscall6(
.splice,
- @bitCast(usize, @as(isize, fd_in)),
+ @as(usize, @bitCast(@as(isize, fd_in))),
@intFromPtr(off_in),
- @bitCast(usize, @as(isize, fd_out)),
+ @as(usize, @bitCast(@as(isize, fd_out))),
@intFromPtr(off_out),
len,
flags,
@@ -411,26 +411,26 @@ pub const struct_sysinfo = extern struct {
pub fn _f(self: anytype) @import("std").zig.c_translation.FlexibleArrayType(@TypeOf(self), u8) {
const Intermediate = @import("std").zig.c_translation.FlexibleArrayType(@TypeOf(self), u8);
const ReturnType = @import("std").zig.c_translation.FlexibleArrayType(@TypeOf(self), u8);
- return @ptrCast(ReturnType, @alignCast(@alignOf(u8), @ptrCast(Intermediate, self) + 108));
+ return @as(ReturnType, @ptrCast(@alignCast(@as(Intermediate, @ptrCast(self)) + 108)));
}
};
pub extern fn sysinfo(__info: [*c]struct_sysinfo) c_int;
pub fn get_free_memory() u64 {
var info: struct_sysinfo = undefined;
- if (sysinfo(&info) == @as(c_int, 0)) return @bitCast(u64, info.freeram) *% @bitCast(c_ulong, @as(c_ulong, info.mem_unit));
+ if (sysinfo(&info) == @as(c_int, 0)) return @as(u64, @bitCast(info.freeram)) *% @as(c_ulong, @bitCast(@as(c_ulong, info.mem_unit)));
return 0;
}
pub fn get_total_memory() u64 {
var info: struct_sysinfo = undefined;
- if (sysinfo(&info) == @as(c_int, 0)) return @bitCast(u64, info.totalram) *% @bitCast(c_ulong, @as(c_ulong, info.mem_unit));
+ if (sysinfo(&info) == @as(c_int, 0)) return @as(u64, @bitCast(info.totalram)) *% @as(c_ulong, @bitCast(@as(c_ulong, info.mem_unit)));
return 0;
}
pub fn get_system_uptime() u64 {
var info: struct_sysinfo = undefined;
- if (sysinfo(&info) == @as(c_int, 0)) return @bitCast(u64, info.uptime);
+ if (sysinfo(&info) == @as(c_int, 0)) return @as(u64, @bitCast(info.uptime));
return 0;
}
@@ -438,9 +438,9 @@ pub fn get_system_loadavg() [3]f64 {
var info: struct_sysinfo = undefined;
if (sysinfo(&info) == @as(c_int, 0)) {
return [3]f64{
- std.math.ceil((@floatFromInt(f64, info.loads[0]) / 65536.0) * 100.0) / 100.0,
- std.math.ceil((@floatFromInt(f64, info.loads[1]) / 65536.0) * 100.0) / 100.0,
- std.math.ceil((@floatFromInt(f64, info.loads[2]) / 65536.0) * 100.0) / 100.0,
+ std.math.ceil((@as(f64, @floatFromInt(info.loads[0])) / 65536.0) * 100.0) / 100.0,
+ std.math.ceil((@as(f64, @floatFromInt(info.loads[1])) / 65536.0) * 100.0) / 100.0,
+ std.math.ceil((@as(f64, @floatFromInt(info.loads[2])) / 65536.0) * 100.0) / 100.0,
};
}
return [3]f64{ 0, 0, 0 };
diff --git a/src/logger.zig b/src/logger.zig
index fc25541de..5a9e5b973 100644
--- a/src/logger.zig
+++ b/src/logger.zig
@@ -75,7 +75,7 @@ pub const Loc = struct {
pub const toUsize = i;
pub inline fn i(self: *const Loc) usize {
- return @intCast(usize, @max(self.start, 0));
+ return @as(usize, @intCast(@max(self.start, 0)));
}
pub const Empty = Loc{ .start = -1 };
@@ -151,7 +151,7 @@ pub const Location = struct {
.column = this.column,
.line_text = this.line_text orelse "",
.suggestion = this.suggestion orelse "",
- .offset = @truncate(u32, this.offset),
+ .offset = @as(u32, @truncate(this.offset)),
};
}
@@ -194,7 +194,7 @@ pub const Location = struct {
.column = usize2Loc(data.column_count).start,
.length = full_line.len,
.line_text = full_line,
- .offset = @intCast(usize, @max(r.loc.start, 0)),
+ .offset = @as(usize, @intCast(@max(r.loc.start, 0))),
};
} else {
return null;
@@ -293,7 +293,7 @@ pub const Data = struct {
if (location.line_text) |line_text_| {
const line_text = std.mem.trimRight(u8, line_text_, "\r\n\t");
- const location_in_line_text = @intCast(u32, @max(location.column, 1) - 1);
+ const location_in_line_text = @as(u32, @intCast(@max(location.column, 1) - 1));
const has_position = location.column > -1 and line_text.len > 0 and location_in_line_text < line_text.len;
if (has_position) {
@@ -400,8 +400,8 @@ pub const BabyString = packed struct {
pub fn in(parent: string, text: string) BabyString {
return BabyString{
- .offset = @truncate(u16, std.mem.indexOf(u8, parent, text) orelse unreachable),
- .len = @truncate(u16, text.len),
+ .offset = @as(u16, @truncate(std.mem.indexOf(u8, parent, text) orelse unreachable)),
+ .len = @as(u16, @truncate(text.len)),
};
}
@@ -597,8 +597,8 @@ pub const Range = struct {
pub fn in(this: Range, buf: []const u8) []const u8 {
if (this.loc.start < 0 or this.len <= 0) return "";
- const slice = buf[@intCast(usize, this.loc.start)..];
- return slice[0..@min(@intCast(usize, this.len), buf.len)];
+ const slice = buf[@as(usize, @intCast(this.loc.start))..];
+ return slice[0..@min(@as(usize, @intCast(this.len)), buf.len)];
}
pub fn contains(this: Range, k: i32) bool {
@@ -650,8 +650,8 @@ pub const Log = struct {
var warnings: u32 = 0;
var errors: u32 = 0;
for (this.msgs.items) |msg| {
- errors += @intCast(u32, @intFromBool(msg.kind == .err));
- warnings += @intCast(u32, @intFromBool(msg.kind == .warn));
+ errors += @as(u32, @intCast(@intFromBool(msg.kind == .err)));
+ warnings += @as(u32, @intCast(@intFromBool(msg.kind == .warn)));
}
return Api.Log{
@@ -715,7 +715,7 @@ pub const Log = struct {
const msgs: []const Msg = this.msgs.items;
var errors_stack: [256]*anyopaque = undefined;
- const count = @intCast(u16, @min(msgs.len, errors_stack.len));
+ const count = @as(u16, @intCast(@min(msgs.len, errors_stack.len)));
switch (count) {
0 => return JSC.JSValue.jsUndefined(),
1 => {
@@ -743,11 +743,11 @@ pub const Log = struct {
const msgs: []const Msg = this.msgs.items;
var errors_stack: [256]*anyopaque = undefined;
- const count = @intCast(u16, @min(msgs.len, errors_stack.len));
+ const count = @as(u16, @intCast(@min(msgs.len, errors_stack.len)));
var arr = JSC.JSValue.createEmptyArray(global, count);
for (msgs[0..count], 0..) |msg, i| {
- arr.putIndex(global, @intCast(u32, i), msg.toJS(global, allocator));
+ arr.putIndex(global, @as(u32, @intCast(i)), msg.toJS(global, allocator));
}
return arr;
@@ -760,7 +760,7 @@ pub const Log = struct {
const msg: Msg = msg_;
if (msg.notes) |notes| {
for (notes) |note| {
- notes_count += @intCast(usize, @intFromBool(note.text.len > 0));
+ notes_count += @as(usize, @intCast(@intFromBool(note.text.len > 0)));
}
}
}
@@ -1228,7 +1228,7 @@ pub const Log = struct {
};
pub inline fn usize2Loc(loc: usize) Loc {
- return Loc{ .start = @intCast(i32, loc) };
+ return Loc{ .start = @as(i32, @intCast(loc)) };
}
pub const Source = struct {
@@ -1267,7 +1267,7 @@ pub const Source = struct {
pub fn isWebAssembly(this: *const Source) bool {
if (this.contents.len < 4) return false;
- const bytes = @bitCast(u32, this.contents[0..4].*);
+ const bytes = @as(u32, @bitCast(this.contents[0..4].*));
return bytes == 0x6d736100; // "\0asm"
}
@@ -1320,7 +1320,7 @@ pub const Source = struct {
if (index >= 0) {
return Range{ .loc = Loc{
.start = loc.start + index,
- }, .len = @intCast(i32, op.len) };
+ }, .len = @as(i32, @intCast(op.len)) };
}
return Range{ .loc = loc };
@@ -1344,7 +1344,7 @@ pub const Source = struct {
c = text[i];
if (c == quote) {
- return Range{ .loc = loc, .len = @intCast(i32, i + 1) };
+ return Range{ .loc = loc, .len = @as(i32, @intCast(i + 1)) };
} else if (c == '\\') {
i += 1;
}
@@ -1369,7 +1369,7 @@ pub const Source = struct {
pub fn initErrorPosition(self: *const Source, _offset: Loc) ErrorPosition {
var prev_code_point: i32 = 0;
- var offset: usize = @min(if (_offset.start < 0) 0 else @intCast(usize, _offset.start), @max(self.contents.len, 1) - 1);
+ var offset: usize = @min(if (_offset.start < 0) 0 else @as(usize, @intCast(_offset.start)), @max(self.contents.len, 1) - 1);
const contents = self.contents;
diff --git a/src/main_wasm.zig b/src/main_wasm.zig
index c9e4666e8..d58ce60a0 100644
--- a/src/main_wasm.zig
+++ b/src/main_wasm.zig
@@ -30,15 +30,15 @@ pub const Uint8Array = extern struct {
len: usize = 0,
pub fn fromSlice(slice: []const u8) u64 {
- return @bitCast(u64, [2]u32{
+ return @as(u64, @bitCast([2]u32{
@intFromPtr(slice.ptr),
slice.len,
- });
+ }));
}
pub fn fromJS(data: u64) []u8 {
- const ptrs = @bitCast([2]u32, data);
- return @ptrFromInt([*]u8, ptrs[0])[0..ptrs[1]];
+ const ptrs = @as([2]u32, @bitCast(data));
+ return @as([*]u8, @ptrFromInt(ptrs[0]))[0..ptrs[1]];
}
};
@@ -166,10 +166,10 @@ var buffer_writer: JSPrinter.BufferWriter = undefined;
var writer: JSPrinter.BufferPrinter = undefined;
var define: *Define.Define = undefined;
export fn bun_malloc(size: usize) u64 {
- return @bitCast(u64, [2]u32{
+ return @as(u64, @bitCast([2]u32{
@intFromPtr((default_allocator.alloc(u8, size) catch unreachable).ptr),
size,
- });
+ }));
}
export fn bun_free(bytes: u64) void {
@@ -270,7 +270,7 @@ export fn transform(opts_array: u64) u64 {
const Encoder = ApiWriter(@TypeOf(output_writer));
var encoder = Encoder.init(output_writer);
transform_response.encode(&encoder) catch unreachable;
- return @bitCast(u64, [2]u32{ @intFromPtr(output.items.ptr), output.items.len });
+ return @as(u64, @bitCast([2]u32{ @intFromPtr(output.items.ptr), output.items.len }));
}
export fn scan(opts_array: u64) u64 {
@@ -325,7 +325,7 @@ export fn scan(opts_array: u64) u64 {
var encoder = Encoder.init(output_writer);
scan_result.encode(&encoder) catch unreachable;
- return @bitCast(u64, [2]u32{ @intFromPtr(output.items.ptr), output.items.len });
+ return @as(u64, @bitCast([2]u32{ @intFromPtr(output.items.ptr), output.items.len }));
}
// pub fn main() anyerror!void {}
diff --git a/src/memory_allocator.zig b/src/memory_allocator.zig
index 391446f5e..dbcc492e9 100644
--- a/src/memory_allocator.zig
+++ b/src/memory_allocator.zig
@@ -71,7 +71,7 @@ const CAllocator = struct {
}
}
- return @ptrCast(?[*]u8, ptr);
+ return @as(?[*]u8, @ptrCast(ptr));
}
fn alignedAllocSize(ptr: [*]u8) usize {
@@ -83,7 +83,7 @@ const CAllocator = struct {
return alignedAlloc(len, log2_align);
}
- const alignment = @as(usize, 1) << @intCast(Allocator.Log2Align, log2_align);
+ const alignment = @as(usize, 1) << @as(Allocator.Log2Align, @intCast(log2_align));
return alignedAlloc(len, alignment);
}
@@ -132,7 +132,7 @@ const ZAllocator = struct {
}
}
- return @ptrCast(?[*]u8, ptr);
+ return @as(?[*]u8, @ptrCast(ptr));
}
fn alignedAllocSize(ptr: [*]u8) usize {
@@ -211,7 +211,7 @@ const HugeAllocator = struct {
_: u29,
_: usize,
) void {
- std.os.munmap(@alignCast(std.meta.alignment([]align(std.mem.page_size) u8), buf));
+ std.os.munmap(@alignCast(buf));
}
};
diff --git a/src/mimalloc_arena.zig b/src/mimalloc_arena.zig
index d0d0bbeab..dc71a887e 100644
--- a/src/mimalloc_arena.zig
+++ b/src/mimalloc_arena.zig
@@ -217,7 +217,7 @@ pub const Arena = struct {
}
return if (ptr) |p|
- @ptrCast([*]u8, p)
+ @as([*]u8, @ptrCast(p))
else
null;
}
@@ -234,7 +234,7 @@ pub const Arena = struct {
return alignedAlloc(this, len, log2_align);
}
- const alignment = @as(usize, 1) << @intCast(Allocator.Log2Align, log2_align);
+ const alignment = @as(usize, 1) << @as(Allocator.Log2Align, @intCast(log2_align));
return alignedAlloc(
this,
diff --git a/src/multi_array_list.zig b/src/multi_array_list.zig
index cff601bb8..96bd17819 100644
--- a/src/multi_array_list.zig
+++ b/src/multi_array_list.zig
@@ -47,7 +47,7 @@ pub fn MultiArrayList(comptime S: type) type {
const casted_ptr: [*]F = if (@sizeOf(F) == 0)
undefined
else
- @ptrCast([*]F, @alignCast(@alignOf(F), byte_ptr));
+ @as([*]F, @ptrCast(@alignCast(byte_ptr)));
return casted_ptr[0..self.len];
}
@@ -56,8 +56,7 @@ pub fn MultiArrayList(comptime S: type) type {
return .{};
}
const unaligned_ptr = self.ptrs[sizes.fields[0]];
- const aligned_ptr = @alignCast(@alignOf(S), unaligned_ptr);
- const casted_ptr = @ptrCast([*]align(@alignOf(S)) u8, aligned_ptr);
+ const casted_ptr: [*]align(@alignOf(S)) u8 = @ptrCast(@alignCast(unaligned_ptr));
return .{
.bytes = casted_ptr,
.len = self.len,
@@ -151,7 +150,7 @@ pub fn MultiArrayList(comptime S: type) type {
pub fn set(self: *Self, index: usize, elem: S) void {
const slices = self.slice();
inline for (fields, 0..) |field_info, i| {
- slices.items(@enumFromInt(Field, i))[index] = @field(elem, field_info.name);
+ slices.items(@as(Field, @enumFromInt(i)))[index] = @field(elem, field_info.name);
}
}
@@ -160,7 +159,7 @@ pub fn MultiArrayList(comptime S: type) type {
const slices = self.slice();
var result: S = undefined;
inline for (fields, 0..) |field_info, i| {
- @field(result, field_info.name) = slices.items(@enumFromInt(Field, i))[index];
+ @field(result, field_info.name) = slices.items(@as(Field, @enumFromInt(i)))[index];
}
return result;
}
@@ -233,7 +232,7 @@ pub fn MultiArrayList(comptime S: type) type {
self.len += 1;
const slices = self.slice();
inline for (fields, 0..) |field_info, field_index| {
- const field_slice = slices.items(@enumFromInt(Field, field_index));
+ const field_slice = slices.items(@as(Field, @enumFromInt(field_index)));
var i: usize = self.len - 1;
while (i > index) : (i -= 1) {
field_slice[i] = field_slice[i - 1];
@@ -248,7 +247,7 @@ pub fn MultiArrayList(comptime S: type) type {
pub fn swapRemove(self: *Self, index: usize) void {
const slices = self.slice();
inline for (fields, 0..) |_, i| {
- const field_slice = slices.items(@enumFromInt(Field, i));
+ const field_slice = slices.items(@as(Field, @enumFromInt(i)));
field_slice[index] = field_slice[self.len - 1];
field_slice[self.len - 1] = undefined;
}
@@ -260,7 +259,7 @@ pub fn MultiArrayList(comptime S: type) type {
pub fn orderedRemove(self: *Self, index: usize) void {
const slices = self.slice();
inline for (fields, 0..) |_, field_index| {
- const field_slice = slices.items(@enumFromInt(Field, field_index));
+ const field_slice = slices.items(@as(Field, @enumFromInt(field_index)));
var i = index;
while (i < self.len - 1) : (i += 1) {
field_slice[i] = field_slice[i + 1];
@@ -297,7 +296,7 @@ pub fn MultiArrayList(comptime S: type) type {
const self_slice = self.slice();
inline for (fields, 0..) |field_info, i| {
if (@sizeOf(field_info.type) != 0) {
- const field = @enumFromInt(Field, i);
+ const field = @as(Field, @enumFromInt(i));
const dest_slice = self_slice.items(field)[new_len..];
// We use memset here for more efficient codegen in safety-checked,
// valgrind-enabled builds. Otherwise the valgrind client request
@@ -318,7 +317,7 @@ pub fn MultiArrayList(comptime S: type) type {
const other_slice = other.slice();
inline for (fields, 0..) |field_info, i| {
if (@sizeOf(field_info.type) != 0) {
- const field = @enumFromInt(Field, i);
+ const field = @as(Field, @enumFromInt(i));
mem.copy(field_info.type, other_slice.items(field), self_slice.items(field));
}
}
@@ -379,7 +378,7 @@ pub fn MultiArrayList(comptime S: type) type {
const other_slice = other.slice();
inline for (fields, 0..) |field_info, i| {
if (@sizeOf(field_info.type) != 0) {
- const field = @enumFromInt(Field, i);
+ const field = @as(Field, @enumFromInt(i));
mem.copy(field_info.type, other_slice.items(field), self_slice.items(field));
}
}
@@ -398,7 +397,7 @@ pub fn MultiArrayList(comptime S: type) type {
const result_slice = result.slice();
inline for (fields, 0..) |field_info, i| {
if (@sizeOf(field_info.type) != 0) {
- const field = @enumFromInt(Field, i);
+ const field = @as(Field, @enumFromInt(i));
mem.copy(field_info.type, result_slice.items(field), self_slice.items(field));
}
}
@@ -419,7 +418,7 @@ pub fn MultiArrayList(comptime S: type) type {
pub fn swap(sc: @This(), a_index: usize, b_index: usize) void {
inline for (fields, 0..) |field_info, i| {
if (@sizeOf(field_info.type) != 0) {
- const field = @enumFromInt(Field, i);
+ const field = @as(Field, @enumFromInt(i));
const ptr = sc.slice.items(field);
mem.swap(field_info.type, &ptr[a_index], &ptr[b_index]);
}
@@ -444,7 +443,7 @@ pub fn MultiArrayList(comptime S: type) type {
return bytes;
} else {
const sizes_vector: @Vector(sizes.bytes.len, usize) = sizes.bytes;
- const capacity_vector = @splat(sizes.bytes.len, capacity);
+ const capacity_vector: @Vector(sizes.bytes.len, usize) = @splat(capacity);
return @reduce(.Add, capacity_vector * sizes_vector);
}
}
@@ -456,7 +455,7 @@ pub fn MultiArrayList(comptime S: type) type {
const this_slice = this.slice();
inline for (fields, 0..) |field_info, i| {
if (@sizeOf(field_info.type) != 0) {
- const field = @enumFromInt(Field, i);
+ const field = @as(Field, @enumFromInt(i));
mem.copy(field_info.type, this_slice.items(field)[offset..], other_slice.items(field));
}
}
@@ -550,9 +549,9 @@ test "basic usage" {
var i: usize = 0;
while (i < 6) : (i += 1) {
try list.append(ally, .{
- .a = @intCast(u32, 4 + i),
+ .a = @as(u32, @intCast(4 + i)),
.b = "whatever",
- .c = @intCast(u8, 'd' + i),
+ .c = @as(u8, @intCast('d' + i)),
});
}
diff --git a/src/napi/napi.zig b/src/napi/napi.zig
index 5caef4547..bb8f19df2 100644
--- a/src/napi/napi.zig
+++ b/src/napi/napi.zig
@@ -233,7 +233,7 @@ const prefilled_undefined_args_array: [128]JSC.JSValue = brk: {
};
pub export fn napi_create_array_with_length(env: napi_env, length: usize, result: *napi_value) napi_status {
log("napi_create_array_with_length", .{});
- const len = @intCast(u32, length);
+ const len = @as(u32, @intCast(length));
const array = JSC.JSValue.createEmptyArray(env, len);
array.ensureStillAlive();
@@ -274,7 +274,7 @@ inline fn setNapiValue(result: *napi_value, value: JSValue) void {
pub export fn napi_create_string_latin1(env: napi_env, str: [*]const u8, length: usize, result: *napi_value) napi_status {
log("napi_create_string_latin1", .{});
const slice = if (NAPI_AUTO_LENGTH == length)
- bun.sliceTo(@ptrCast([*:0]const u8, str), 0)
+ bun.sliceTo(@as([*:0]const u8, @ptrCast(str)), 0)
else
str[0..length];
@@ -283,7 +283,7 @@ pub export fn napi_create_string_latin1(env: napi_env, str: [*]const u8, length:
}
pub export fn napi_create_string_utf8(env: napi_env, str: [*]const u8, length: usize, result: *napi_value) napi_status {
const slice = if (NAPI_AUTO_LENGTH == length)
- bun.sliceTo(@ptrCast([*:0]const u8, str), 0)
+ bun.sliceTo(@as([*:0]const u8, @ptrCast(str)), 0)
else
str[0..length];
@@ -297,7 +297,7 @@ pub export fn napi_create_string_utf8(env: napi_env, str: [*]const u8, length: u
pub export fn napi_create_string_utf16(env: napi_env, str: [*]const char16_t, length: usize, result: *napi_value) napi_status {
log("napi_create_string_utf16", .{});
const slice = if (NAPI_AUTO_LENGTH == length)
- bun.sliceTo(@ptrCast([*:0]const char16_t, str), 0)
+ bun.sliceTo(@as([*:0]const char16_t, @ptrCast(str)), 0)
else
str[0..length];
@@ -342,7 +342,7 @@ inline fn maybeAppendNull(ptr: anytype, doit: bool) void {
pub export fn napi_get_value_string_latin1(env: napi_env, value: napi_value, buf_ptr_: ?[*:0]c_char, bufsize: usize, result_ptr: ?*usize) napi_status {
log("napi_get_value_string_latin1", .{});
defer value.ensureStillAlive();
- var buf_ptr = @ptrCast(?[*:0]u8, buf_ptr_);
+ var buf_ptr = @as(?[*:0]u8, @ptrCast(buf_ptr_));
const str = value.toBunString(env);
var buf = buf_ptr orelse {
@@ -418,7 +418,7 @@ pub export fn napi_get_value_string_utf16(env: napi_env, value: napi_value, buf_
var buf_ = buf[0..bufsize];
if (bufsize == NAPI_AUTO_LENGTH) {
- buf_ = bun.sliceTo(@ptrCast([*:0]u16, buf_ptr.?), 0);
+ buf_ = bun.sliceTo(@as([*:0]u16, @ptrCast(buf_ptr.?)), 0);
if (buf_.len == 0) {
if (result_ptr) |result| {
result.* = 0;
@@ -505,7 +505,7 @@ pub export fn napi_get_array_length(env: napi_env, value: napi_value, result: [*
return .array_expected;
}
- result.* = @truncate(u32, value.getLength(env));
+ result.* = @as(u32, @truncate(value.getLength(env)));
return .ok;
}
pub export fn napi_strict_equals(env: napi_env, lhs: napi_value, rhs: napi_value, result: *bool) napi_status {
@@ -530,7 +530,7 @@ pub export fn napi_new_instance(env: napi_env, constructor: napi_value, argc: us
constructor.asObjectRef(),
argc,
if (argv != null)
- @ptrCast([*]const JSC.C.JSValueRef, argv)
+ @as([*]const JSC.C.JSValueRef, @ptrCast(argv))
else
null,
&exception,
@@ -614,7 +614,7 @@ pub export fn napi_make_callback(env: napi_env, _: *anyopaque, recv: napi_value,
else
JSC.JSValue.jsUndefined(),
if (arg_count > 0 and args != null)
- @ptrCast([*]const JSC.JSValue, args.?)[0..arg_count]
+ @as([*]const JSC.JSValue, @ptrCast(args.?))[0..arg_count]
else
&.{},
);
@@ -701,7 +701,7 @@ pub export fn napi_create_arraybuffer(env: napi_env, byte_length: usize, data: [
log("napi_create_arraybuffer", .{});
var typed_array = JSC.C.JSObjectMakeTypedArray(env.ref(), .kJSTypedArrayTypeArrayBuffer, byte_length, TODO_EXCEPTION);
var array_buffer = JSValue.c(typed_array).asArrayBuffer(env) orelse return genericFailure();
- const len = @min(array_buffer.len, @truncate(u32, byte_length));
+ const len = @min(array_buffer.len, @as(u32, @truncate(byte_length)));
@memcpy(array_buffer.ptr[0..len], data[0..len]);
result.* = JSValue.c(typed_array);
return .ok;
@@ -711,7 +711,7 @@ pub export fn napi_create_external_arraybuffer(env: napi_env, external_data: ?*a
log("napi_create_external_arraybuffer", .{});
var external = JSC.ExternalBuffer.create(
finalize_hint,
- @ptrCast([*]u8, external_data.?)[0..byte_length],
+ @as([*]u8, @ptrCast(external_data.?))[0..byte_length],
env,
finalize_cb,
env.bunVM().allocator,
@@ -1074,7 +1074,7 @@ pub export fn napi_create_buffer(env: napi_env, length: usize, data: ?**anyopaqu
}
pub export fn napi_create_external_buffer(env: napi_env, length: usize, data: ?*anyopaque, finalize_cb: napi_finalize, finalize_hint: ?*anyopaque, result: *napi_value) napi_status {
log("napi_create_external_buffer: {d}", .{length});
- var buf = JSC.ExternalBuffer.create(finalize_hint, @ptrCast([*]u8, data.?)[0..length], env, finalize_cb, bun.default_allocator) catch {
+ var buf = JSC.ExternalBuffer.create(finalize_hint, @as([*]u8, @ptrCast(data.?))[0..length], env, finalize_cb, bun.default_allocator) catch {
return genericFailure();
};
diff --git a/src/network_thread.zig b/src/network_thread.zig
index 49711c469..e932bc414 100644
--- a/src/network_thread.zig
+++ b/src/network_thread.zig
@@ -144,7 +144,7 @@ fn processEvents_(this: *@This()) !void {
this.io.wait(this, queueEvents);
if (comptime Environment.isDebug) {
var end = std.time.nanoTimestamp();
- log("Waited {any}\n", .{std.fmt.fmtDurationSigned(@truncate(i64, end - start))});
+ log("Waited {any}\n", .{std.fmt.fmtDurationSigned(@as(i64, @truncate(end - start)))});
Output.flush();
}
}
@@ -161,7 +161,7 @@ pub fn schedule(this: *@This(), batch: Batch) void {
}
if (comptime Environment.isLinux) {
- const one = @bitCast([8]u8, @as(usize, batch.len));
+ const one = @as([8]u8, @bitCast(@as(usize, batch.len)));
_ = std.os.write(this.waker.fd, &one) catch @panic("Failed to write to eventfd");
} else {
this.waker.wake() catch @panic("Failed to wake");
diff --git a/src/node_fallbacks.zig b/src/node_fallbacks.zig
index 51da04be0..a8f125943 100644
--- a/src/node_fallbacks.zig
+++ b/src/node_fallbacks.zig
@@ -68,7 +68,7 @@ const assert_package_json = PackageJSON{
.name = "assert",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("assert@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("assert@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/assert/package.json", ""),
@@ -77,7 +77,7 @@ const buffer_package_json = PackageJSON{
.name = "buffer",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("buffer@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("buffer@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/buffer/package.json", ""),
@@ -86,7 +86,7 @@ const console_package_json = PackageJSON{
.name = "console",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("console@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("console@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/console/package.json", ""),
@@ -95,7 +95,7 @@ const constants_package_json = PackageJSON{
.name = "constants",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("constants@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("constants@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/constants/package.json", ""),
@@ -104,7 +104,7 @@ const crypto_package_json = PackageJSON{
.name = "crypto",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("crypto@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("crypto@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/crypto/package.json", ""),
@@ -113,7 +113,7 @@ const domain_package_json = PackageJSON{
.name = "domain",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("domain@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("domain@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/domain/package.json", ""),
@@ -122,7 +122,7 @@ const events_package_json = PackageJSON{
.name = "events",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("events@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("events@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/events/package.json", ""),
@@ -131,7 +131,7 @@ const http_package_json = PackageJSON{
.name = "http",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("http@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("http@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/http/package.json", ""),
@@ -140,7 +140,7 @@ const https_package_json = PackageJSON{
.name = "https",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("https@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("https@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/https/package.json", ""),
@@ -149,7 +149,7 @@ const net_package_json = PackageJSON{
.name = "net",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("net@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("net@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/net/package.json", ""),
@@ -158,7 +158,7 @@ const os_package_json = PackageJSON{
.name = "os",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("os@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("os@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/os/package.json", ""),
@@ -167,7 +167,7 @@ const path_package_json = PackageJSON{
.name = "path",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("path@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("path@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/path/package.json", ""),
@@ -176,7 +176,7 @@ const process_package_json = PackageJSON{
.name = "process",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("process@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("process@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/process/package.json", ""),
@@ -185,7 +185,7 @@ const punycode_package_json = PackageJSON{
.name = "punycode",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("punycode@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("punycode@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/punycode/package.json", ""),
@@ -194,7 +194,7 @@ const querystring_package_json = PackageJSON{
.name = "querystring",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("querystring@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("querystring@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/querystring/package.json", ""),
@@ -203,7 +203,7 @@ const stream_package_json = PackageJSON{
.name = "stream",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("stream@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("stream@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/stream/package.json", ""),
@@ -214,7 +214,7 @@ const string_decoder_package_json = PackageJSON{
.module_type = .esm,
.hash = brk: {
@setEvalBranchQuota(9999);
- break :brk @truncate(u32, bun.hash("string_decoder@0.0.0-polyfill"));
+ break :brk @as(u32, @truncate(bun.hash("string_decoder@0.0.0-polyfill")));
},
.main_fields = undefined,
@@ -226,7 +226,7 @@ const sys_package_json = PackageJSON{
.name = "sys",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("sys@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("sys@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/sys/package.json", ""),
@@ -235,7 +235,7 @@ const timers_package_json = PackageJSON{
.name = "timers",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("timers@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("timers@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/timers/package.json", ""),
@@ -244,7 +244,7 @@ const tty_package_json = PackageJSON{
.name = "tty",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("tty@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("tty@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/tty/package.json", ""),
@@ -253,7 +253,7 @@ const url_package_json = PackageJSON{
.name = "url",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("url@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("url@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/url/package.json", ""),
@@ -262,7 +262,7 @@ const util_package_json = PackageJSON{
.name = "util",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("util@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("util@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/util/package.json", ""),
@@ -271,7 +271,7 @@ const zlib_package_json = PackageJSON{
.name = "zlib",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("zlib@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("zlib@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/zlib/package.json", ""),
@@ -281,7 +281,7 @@ const node_fetch_package_json = PackageJSON{
.name = "node-fetch",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("node-fetch@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("node-fetch@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/node-fetch/package.json", ""),
@@ -290,7 +290,7 @@ const isomorphic_fetch_package_json = PackageJSON{
.name = "isomorphic-fetch",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("isomorphic-fetch@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("isomorphic-fetch@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/isomorphic-fetch/package.json", ""),
@@ -299,7 +299,7 @@ const supports_color_package_json = PackageJSON{
.name = "supports-color",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("supports-color@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("supports-color@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/supports-color/package.json", ""),
@@ -309,7 +309,7 @@ const vercel_fetch_package_json = PackageJSON{
.name = "@vercel/fetch",
.version = "0.0.0-polyfill",
.module_type = .esm,
- .hash = @truncate(u32, bun.hash("@vercel/fetch@0.0.0-polyfill")),
+ .hash = @as(u32, @truncate(bun.hash("@vercel/fetch@0.0.0-polyfill"))),
.main_fields = undefined,
.browser_map = undefined,
.source = logger.Source.initPathString("/bun-vfs/node_modules/@vercel/fetch/package.json", ""),
diff --git a/src/node_module_bundle.zig b/src/node_module_bundle.zig
index 6682e2dff..e785cb61d 100644
--- a/src/node_module_bundle.zig
+++ b/src/node_module_bundle.zig
@@ -71,7 +71,7 @@ pub const NodeModuleBundle = struct {
var buf = try allocator.alloc(u8, this.code_end_pos);
const count = try file.preadAll(buf, this.codeStartOffset());
- this.code_string = AllocatedString{ .str = buf[0..count], .len = @truncate(u32, buf.len), .allocator = allocator };
+ this.code_string = AllocatedString{ .str = buf[0..count], .len = @as(u32, @truncate(buf.len)), .allocator = allocator };
return this.code_string.?.str;
}
@@ -79,7 +79,7 @@ pub const NodeModuleBundle = struct {
this.package_name_map = PackageNameMap.init(this.allocator);
this.package_id_map = PackageIDMap.init(this.allocator);
- const package_count = @truncate(u32, this.bundle.packages.len);
+ const package_count = @as(u32, @truncate(this.bundle.packages.len));
// this.package_has_multiple_versions = try std.bit_set.DynamicBitSet.initFull(package_count, this.allocator);
@@ -94,9 +94,9 @@ pub const NodeModuleBundle = struct {
var prev_package_ids_for_name: []u32 = &[_]u32{};
for (this.bundle.packages, 0..) |package, _package_id| {
- const package_id = @truncate(u32, _package_id);
+ const package_id = @as(u32, @truncate(_package_id));
std.debug.assert(package.hash != 0);
- this.package_id_map.putAssumeCapacityNoClobber(package.hash, @truncate(u32, package_id));
+ this.package_id_map.putAssumeCapacityNoClobber(package.hash, @as(u32, @truncate(package_id)));
const package_name = this.str(package.name);
var entry = this.package_name_map.getOrPutAssumeCapacity(package_name);
@@ -147,12 +147,12 @@ pub const NodeModuleBundle = struct {
pub fn getPackage(this: *const NodeModuleBundle, name: string) ?*const Api.JavascriptBundledPackage {
const package_id = this.getPackageIDByName(name) orelse return null;
- return &this.bundle.packages[@intCast(usize, package_id[0])];
+ return &this.bundle.packages[@as(usize, @intCast(package_id[0]))];
}
pub fn hasModule(this: *const NodeModuleBundle, name: string) ?*const Api.JavascriptBundledPackage {
const package_id = this.getPackageID(name) orelse return null;
- return &this.bundle.packages[@intCast(usize, package_id)];
+ return &this.bundle.packages[@as(usize, @intCast(package_id))];
}
pub const ModuleQuery = struct {
@@ -197,7 +197,7 @@ pub const NodeModuleBundle = struct {
) ?u32 {
for (modulesIn(&this.bundle, package), 0..) |mod, i| {
if (strings.eql(this.str(mod.path), _query)) {
- return @truncate(u32, i + package.modules_offset);
+ return @as(u32, @truncate(i + package.modules_offset));
}
}
@@ -243,20 +243,20 @@ pub const NodeModuleBundle = struct {
.package_id = 0,
.code = .{},
.path = .{
- .offset = @truncate(u32, this.bundle.manifest_string.len),
+ .offset = @as(u32, @truncate(this.bundle.manifest_string.len)),
},
};
var finder = ModuleFinder{ .ctx = this, .pkg = package, .query = _query };
const modules = modulesIn(&this.bundle, package);
- return @intCast(u32, std.sort.binarySearch(
+ return @as(u32, @intCast(std.sort.binarySearch(
Api.JavascriptBundledModule,
to_find,
modules,
finder,
ModuleFinder.cmpAsc,
- ) orelse return null) + package.modules_offset;
+ ) orelse return null)) + package.modules_offset;
}
pub fn findModuleIDInPackageIgnoringExtension(
@@ -301,20 +301,20 @@ pub const NodeModuleBundle = struct {
.package_id = 0,
.code = .{},
.path = .{
- .offset = @truncate(u32, this.bundle.manifest_string.len),
+ .offset = @as(u32, @truncate(this.bundle.manifest_string.len)),
},
};
var finder = ModuleFinder{ .ctx = this, .pkg = package, .query = _query[0 .. _query.len - std.fs.path.extension(_query).len] };
const modules = modulesIn(&this.bundle, package);
- return @intCast(u32, std.sort.binarySearch(
+ return @as(u32, @intCast(std.sort.binarySearch(
Api.JavascriptBundledModule,
to_find,
modules,
finder,
ModuleFinder.cmpAsc,
- ) orelse return null) + package.modules_offset;
+ ) orelse return null)) + package.modules_offset;
}
pub fn init(container: Api.JavascriptBundleContainer, allocator: std.mem.Allocator) NodeModuleBundle {
@@ -355,7 +355,7 @@ pub const NodeModuleBundle = struct {
.bundle = container.bundle.?,
.fd = stream.handle,
// sorry you can't have 4 GB of node_modules
- .code_end_pos = end - @intCast(u32, jsbundle_prefix.len),
+ .code_end_pos = end - @as(u32, @intCast(jsbundle_prefix.len)),
.bytes = read_bytes,
.bytes_ptr = file_bytes,
.package_id_map = undefined,
@@ -402,7 +402,7 @@ pub const NodeModuleBundle = struct {
Output.print("\n", .{});
}
- const source_code_size = this.container.code_length.? - @intCast(u32, jsbundle_prefix.len);
+ const source_code_size = this.container.code_length.? - @as(u32, @intCast(jsbundle_prefix.len));
Output.pretty("<b>", .{});
prettySize(source_code_size, .neutral, ">");
@@ -412,7 +412,7 @@ pub const NodeModuleBundle = struct {
}
pub inline fn codeStartOffset(_: *const NodeModuleBundle) u32 {
- return @intCast(u32, jsbundle_prefix.len);
+ return @as(u32, @intCast(jsbundle_prefix.len));
}
pub fn printSummaryFromDisk(
@@ -431,16 +431,16 @@ pub const NodeModuleBundle = struct {
switch (size) {
0...1024 * 1024 => {
switch (level) {
- .bad => Output.pretty("<red>{d: " ++ align_char ++ "6.2} KB</r>", .{@floatFromInt(f64, size) / 1024.0}),
- .neutral => Output.pretty("{d: " ++ align_char ++ "6.2} KB</r>", .{@floatFromInt(f64, size) / 1024.0}),
- .good => Output.pretty("<green>{d: " ++ align_char ++ "6.2} KB</r>", .{@floatFromInt(f64, size) / 1024.0}),
+ .bad => Output.pretty("<red>{d: " ++ align_char ++ "6.2} KB</r>", .{@as(f64, @floatFromInt(size)) / 1024.0}),
+ .neutral => Output.pretty("{d: " ++ align_char ++ "6.2} KB</r>", .{@as(f64, @floatFromInt(size)) / 1024.0}),
+ .good => Output.pretty("<green>{d: " ++ align_char ++ "6.2} KB</r>", .{@as(f64, @floatFromInt(size)) / 1024.0}),
}
},
else => {
switch (level) {
- .bad => Output.pretty("<red>{d: " ++ align_char ++ "6.2} MB</r>", .{@floatFromInt(f64, size) / (1024 * 1024.0)}),
- .neutral => Output.pretty("{d: " ++ align_char ++ "6.2} MB</r>", .{@floatFromInt(f64, size) / (1024 * 1024.0)}),
- .good => Output.pretty("<green>{d: " ++ align_char ++ "6.2} MB</r>", .{@floatFromInt(f64, size) / (1024 * 1024.0)}),
+ .bad => Output.pretty("<red>{d: " ++ align_char ++ "6.2} MB</r>", .{@as(f64, @floatFromInt(size)) / (1024 * 1024.0)}),
+ .neutral => Output.pretty("{d: " ++ align_char ++ "6.2} MB</r>", .{@as(f64, @floatFromInt(size)) / (1024 * 1024.0)}),
+ .good => Output.pretty("<green>{d: " ++ align_char ++ "6.2} MB</r>", .{@as(f64, @floatFromInt(size)) / (1024 * 1024.0)}),
}
},
}
@@ -455,11 +455,11 @@ pub const NodeModuleBundle = struct {
const BufferStreamContext = struct {
pub fn run(in: StreamType, out: DestinationStreamType, end_at: u32) !void {
var buf: [4096]u8 = undefined;
- var remain = @intCast(i64, end_at);
+ var remain = @as(i64, @intCast(end_at));
var read_amount: i64 = 99999;
while (remain > 0 and read_amount > 0) {
- read_amount = @intCast(i64, in.read(&buf) catch 0);
- remain -= @intCast(i64, try out.write(buf[0..@intCast(usize, @min(read_amount, remain))]));
+ read_amount = @as(i64, @intCast(in.read(&buf) catch 0));
+ remain -= @as(i64, @intCast(try out.write(buf[0..@as(usize, @intCast(@min(read_amount, remain)))])));
}
}
};
@@ -468,7 +468,7 @@ pub const NodeModuleBundle = struct {
// darwin only allows reading ahead on/off, not specific amount
_ = std.os.fcntl(input.handle, std.os.F.RDAHEAD, 1) catch 0;
}
- const end = (try getCodeEndPosition(input, false)) - @intCast(u32, jsbundle_prefix.len);
+ const end = (try getCodeEndPosition(input, false)) - @as(u32, @intCast(jsbundle_prefix.len));
try BufferStreamContext.run(
input,
diff --git a/src/options.zig b/src/options.zig
index 38fac946c..f6b955a47 100644
--- a/src/options.zig
+++ b/src/options.zig
@@ -69,7 +69,7 @@ pub fn validatePath(
pub fn stringHashMapFromArrays(comptime t: type, allocator: std.mem.Allocator, keys: anytype, values: anytype) !t {
var hash_map = t.init(allocator);
if (keys.len > 0) {
- try hash_map.ensureTotalCapacity(@intCast(u32, keys.len));
+ try hash_map.ensureTotalCapacity(@as(u32, @intCast(keys.len)));
for (keys, 0..) |key, i| {
hash_map.putAssumeCapacity(key, values[i]);
}
@@ -1710,7 +1710,7 @@ pub const BundleOptions = struct {
opts.node_modules_bundle_pretty_path = try allocator.dupe(u8, pretty_path);
}
- const elapsed = @floatFromInt(f64, (std.time.nanoTimestamp() - time_start)) / std.time.ns_per_ms;
+ const elapsed = @as(f64, @floatFromInt((std.time.nanoTimestamp() - time_start))) / std.time.ns_per_ms;
Output.printElapsed(elapsed);
Output.prettyErrorln(
" <b><d>\"{s}\"<r><d> - {d} modules, {d} packages<r>",
@@ -2083,7 +2083,7 @@ pub const OutputFile = struct {
if (mime_type) |mime| {
blob.content_type = mime.value;
}
- blob.size = @truncate(JSC.WebCore.Blob.SizeType, byte_size);
+ blob.size = @as(JSC.WebCore.Blob.SizeType, @truncate(byte_size));
blob.allocator = bun.default_allocator;
return blob.toJS(globalThis);
}
@@ -2283,7 +2283,7 @@ pub const OutputFile = struct {
blob.content_type = this.loader.toMimeType().value;
}
- blob.size = @truncate(JSC.WebCore.Blob.SizeType, buffer.bytes.len);
+ blob.size = @as(JSC.WebCore.Blob.SizeType, @truncate(buffer.bytes.len));
var build_output = bun.default_allocator.create(JSC.API.BuildArtifact) catch @panic("Unable to allocate Artifact");
build_output.* = JSC.API.BuildArtifact{
diff --git a/src/output.zig b/src/output.zig
index cf58cbccf..cffa2c414 100644
--- a/src/output.zig
+++ b/src/output.zig
@@ -270,21 +270,21 @@ pub const ElapsedFormatter = struct {
0...std.time.ns_per_ms * 10 => {
const fmt_str = "<r><d>[{d:>.2}ms<r><d>]<r>";
switch (self.colors) {
- inline else => |colors| try writer_.print(comptime prettyFmt(fmt_str, colors), .{@floatFromInt(f64, self.duration_ns) / std.time.ns_per_ms}),
+ inline else => |colors| try writer_.print(comptime prettyFmt(fmt_str, colors), .{@as(f64, @floatFromInt(self.duration_ns)) / std.time.ns_per_ms}),
}
},
std.time.ns_per_ms * 8_000...std.math.maxInt(u64) => {
const fmt_str = "<r><d>[<r><yellow>{d:>.2}ms<r><d>]<r>";
switch (self.colors) {
- inline else => |colors| try writer_.print(comptime prettyFmt(fmt_str, colors), .{@floatFromInt(f64, self.duration_ns) / std.time.ns_per_ms}),
+ inline else => |colors| try writer_.print(comptime prettyFmt(fmt_str, colors), .{@as(f64, @floatFromInt(self.duration_ns)) / std.time.ns_per_ms}),
}
},
else => {
const fmt_str = "<r><d>[<b>{d:>.2}ms<r><d>]<r>";
switch (self.colors) {
- inline else => |colors| try writer_.print(comptime prettyFmt(fmt_str, colors), .{@floatFromInt(f64, self.duration_ns) / std.time.ns_per_ms}),
+ inline else => |colors| try writer_.print(comptime prettyFmt(fmt_str, colors), .{@as(f64, @floatFromInt(self.duration_ns)) / std.time.ns_per_ms}),
}
},
}
@@ -292,7 +292,7 @@ pub const ElapsedFormatter = struct {
};
inline fn printElapsedToWithCtx(elapsed: f64, comptime printerFn: anytype, comptime has_ctx: bool, ctx: anytype) void {
- switch (@intFromFloat(i64, @round(elapsed))) {
+ switch (@as(i64, @intFromFloat(@round(elapsed)))) {
0...1500 => {
const fmt = "<r><d>[<b>{d:>.2}ms<r><d>]<r>";
const args = .{elapsed};
@@ -328,7 +328,7 @@ pub fn printElapsedStdout(elapsed: f64) void {
}
pub fn printElapsedStdoutTrim(elapsed: f64) void {
- switch (@intFromFloat(i64, @round(elapsed))) {
+ switch (@as(i64, @intFromFloat(@round(elapsed)))) {
0...1500 => {
const fmt = "<r><d>[<b>{d:>}ms<r><d>]<r>";
const args = .{elapsed};
@@ -344,19 +344,19 @@ pub fn printElapsedStdoutTrim(elapsed: f64) void {
}
pub fn printStartEnd(start: i128, end: i128) void {
- const elapsed = @divTrunc(@truncate(i64, end - start), @as(i64, std.time.ns_per_ms));
- printElapsed(@floatFromInt(f64, elapsed));
+ const elapsed = @divTrunc(@as(i64, @truncate(end - start)), @as(i64, std.time.ns_per_ms));
+ printElapsed(@as(f64, @floatFromInt(elapsed)));
}
pub fn printStartEndStdout(start: i128, end: i128) void {
- const elapsed = @divTrunc(@truncate(i64, end - start), @as(i64, std.time.ns_per_ms));
- printElapsedStdout(@floatFromInt(f64, elapsed));
+ const elapsed = @divTrunc(@as(i64, @truncate(end - start)), @as(i64, std.time.ns_per_ms));
+ printElapsedStdout(@as(f64, @floatFromInt(elapsed)));
}
pub fn printTimer(timer: *SystemTimer) void {
if (comptime Environment.isWasm) return;
const elapsed = @divTrunc(timer.read(), @as(u64, std.time.ns_per_ms));
- printElapsed(@floatFromInt(f64, elapsed));
+ printElapsed(@as(f64, @floatFromInt(elapsed)));
}
pub noinline fn printErrorable(comptime fmt: string, args: anytype) !void {
@@ -692,7 +692,7 @@ pub const DebugTimer = struct {
var _opts = opts;
_opts.precision = 3;
std.fmt.formatFloatDecimal(
- @floatCast(f64, @floatFromInt(f64, timer.read()) / std.time.ns_per_ms),
+ @as(f64, @floatCast(@as(f64, @floatFromInt(timer.read())) / std.time.ns_per_ms)),
_opts,
writer_,
) catch unreachable;
diff --git a/src/renamer.zig b/src/renamer.zig
index 5c7177577..b2164703d 100644
--- a/src/renamer.zig
+++ b/src/renamer.zig
@@ -96,7 +96,7 @@ pub const SymbolSlot = struct {
pub fn init(str: []const u8) InlineString {
var this: InlineString = .{};
- this.len = @intCast(u8, @min(str.len, 15));
+ this.len = @as(u8, @intCast(@min(str.len, 15)));
for (this.bytes[0..this.len], str[0..this.len]) |*b, c| {
b.* = c;
}
@@ -293,7 +293,7 @@ pub const MinifyRenamer = struct {
for (sorted.items, slots.items, 0..) |*elem, slot, i| {
elem.* = SlotAndCount{
- .slot = @intCast(u32, i),
+ .slot = @as(u32, @intCast(i)),
.count = slot.count,
};
}
@@ -596,7 +596,7 @@ pub const NumberRenamer = struct {
std.sort.block(u32, sorted.items, {}, std.sort.asc(u32));
for (sorted.items) |inner_index| {
- r.assignName(s, Ref.init(@intCast(Ref.Int, inner_index), source_index, false));
+ r.assignName(s, Ref.init(@as(Ref.Int, @intCast(inner_index)), source_index, false));
}
}
@@ -884,7 +884,7 @@ pub fn computeInitialReservedNames(
try names.ensureTotalCapacityContext(
allocator,
- @truncate(u32, JSLexer.Keywords.keys().len + JSLexer.StrictModeReservedWords.keys().len + 1 + extras.len),
+ @as(u32, @truncate(JSLexer.Keywords.keys().len + JSLexer.StrictModeReservedWords.keys().len + 1 + extras.len)),
bun.StringHashMapContext{},
);
diff --git a/src/report.zig b/src/report.zig
index c2f466b03..827f8072d 100644
--- a/src/report.zig
+++ b/src/report.zig
@@ -69,7 +69,7 @@ pub const CrashReportWriter = struct {
const file_path = std.fmt.bufPrintZ(
&crash_reporter_path,
"{s}/.bun-crash/v{s}-{d}.crash",
- .{ base_dir, Global.package_json_version, @intCast(u64, @max(std.time.milliTimestamp(), 0)) },
+ .{ base_dir, Global.package_json_version, @as(u64, @intCast(@max(std.time.milliTimestamp(), 0))) },
) catch return;
std.fs.cwd().makeDir(std.fs.path.dirname(bun.asByteSlice(file_path)).?) catch {};
@@ -296,7 +296,7 @@ pub noinline fn handleCrash(signal: i32, addr: usize) void {
}
}
- std.c._exit(128 + @truncate(u8, @intCast(u8, @max(signal, 0))));
+ std.c._exit(128 + @as(u8, @truncate(@as(u8, @intCast(@max(signal, 0))))));
}
pub noinline fn globalError(err: anyerror, trace_: @TypeOf(@errorReturnTrace())) noreturn {
diff --git a/src/resolver/package_json.zig b/src/resolver/package_json.zig
index e759374e7..75e6a7c98 100644
--- a/src/resolver/package_json.zig
+++ b/src/resolver/package_json.zig
@@ -1026,7 +1026,7 @@ pub const PackageJSON = struct {
hasher.update(std.mem.asBytes(&this.hash));
hasher.update(module);
- return @truncate(u32, hasher.final());
+ return @as(u32, @truncate(hasher.final()));
}
};
@@ -1359,14 +1359,14 @@ pub const ESModule = struct {
pub fn parseName(specifier: string) ?string {
var slash = strings.indexOfCharNeg(specifier, '/');
if (!strings.startsWithChar(specifier, '@')) {
- slash = if (slash == -1) @intCast(i32, specifier.len) else slash;
- return specifier[0..@intCast(usize, slash)];
+ slash = if (slash == -1) @as(i32, @intCast(specifier.len)) else slash;
+ return specifier[0..@as(usize, @intCast(slash))];
} else {
if (slash == -1) return null;
- const slash2 = strings.indexOfChar(specifier[@intCast(usize, slash) + 1 ..], '/') orelse
- specifier[@intCast(u32, slash + 1)..].len;
- return specifier[0 .. @intCast(usize, slash + 1) + slash2];
+ const slash2 = strings.indexOfChar(specifier[@as(usize, @intCast(slash)) + 1 ..], '/') orelse
+ specifier[@as(u32, @intCast(slash + 1))..].len;
+ return specifier[0 .. @as(usize, @intCast(slash + 1)) + slash2];
}
}
diff --git a/src/resolver/resolve_path.zig b/src/resolver/resolve_path.zig
index e63318887..877f32ded 100644
--- a/src/resolver/resolve_path.zig
+++ b/src/resolver/resolve_path.zig
@@ -25,11 +25,11 @@ const IsSeparatorFunc = fn (char: u8) bool;
const LastSeparatorFunction = fn (slice: []const u8) ?usize;
inline fn @"is .."(slice: []const u8) bool {
- return slice.len >= 2 and @bitCast(u16, slice[0..2].*) == comptime std.mem.readIntNative(u16, "..");
+ return slice.len >= 2 and @as(u16, @bitCast(slice[0..2].*)) == comptime std.mem.readIntNative(u16, "..");
}
inline fn isDotSlash(slice: []const u8) bool {
- return @bitCast(u16, slice[0..2].*) == comptime std.mem.readIntNative(u16, "./");
+ return @as(u16, @bitCast(slice[0..2].*)) == comptime std.mem.readIntNative(u16, "./");
}
inline fn @"is ../"(slice: []const u8) bool {
@@ -376,7 +376,7 @@ pub fn relativeToCommonPath(
var out_slice: []u8 = buf[0..0];
if (normalized_from.len > 0) {
- var i: usize = @intCast(usize, @intFromBool(normalized_from[0] == separator)) + 1 + last_common_separator;
+ var i: usize = @as(usize, @intCast(@intFromBool(normalized_from[0] == separator))) + 1 + last_common_separator;
while (i <= normalized_from.len) : (i += 1) {
if (i == normalized_from.len or (normalized_from[i] == separator and i + 1 < normalized_from.len)) {
@@ -878,14 +878,14 @@ inline fn _joinAbsStringBuf(comptime is_sentinel: bool, comptime ReturnType: typ
{
var part_i: u16 = 0;
- var part_len: u16 = @truncate(u16, parts.len);
+ var part_len: u16 = @as(u16, @truncate(parts.len));
while (part_i < part_len) {
if (_platform.isAbsolute(parts[part_i])) {
cwd = parts[part_i];
parts = parts[part_i + 1 ..];
- part_len = @truncate(u16, parts.len);
+ part_len = @as(u16, @truncate(parts.len));
part_i = 0;
continue;
}
@@ -959,7 +959,7 @@ pub fn lastIndexOfNonSeparatorPosix(slice: []const u8) ?u32 {
var i: usize = slice.len;
while (i != 0) : (i -= 1) {
if (slice[i] != std.fs.path.sep_posix) {
- return @intCast(u32, i);
+ return @as(u32, @intCast(i));
}
}
diff --git a/src/resolver/resolver.zig b/src/resolver/resolver.zig
index ee65a23cb..cf337d324 100644
--- a/src/resolver/resolver.zig
+++ b/src/resolver/resolver.zig
@@ -283,10 +283,10 @@ pub const Result = struct {
if (strings.lastIndexOf(module, node_module_root)) |end_| {
var end: usize = end_ + node_module_root.len;
- return @truncate(u32, bun.hash(module[end..]));
+ return @as(u32, @truncate(bun.hash(module[end..])));
}
- return @truncate(u32, bun.hash(this.path_pair.primary.text));
+ return @as(u32, @truncate(bun.hash(this.path_pair.primary.text)));
}
};
@@ -1262,7 +1262,7 @@ pub const Resolver = struct {
if (NodeFallbackModules.Map.get(import_path_without_node_prefix)) |*fallback_module| {
result.path_pair.primary = fallback_module.path;
result.module_type = .cjs;
- result.package_json = @ptrFromInt(*PackageJSON, @intFromPtr(fallback_module.package_json));
+ result.package_json = @as(*PackageJSON, @ptrFromInt(@intFromPtr(fallback_module.package_json)));
result.is_from_node_modules = true;
return .{ .success = result };
// "node:*
@@ -1693,7 +1693,7 @@ pub const Resolver = struct {
// check the global cache directory for a package.json file.
var manager = r.getPackageManager();
var dependency_version = Dependency.Version{};
- var dependency_behavior = @enumFromInt(Dependency.Behavior, Dependency.Behavior.normal);
+ var dependency_behavior = @as(Dependency.Behavior, @enumFromInt(Dependency.Behavior.normal));
var string_buf = esm.version;
// const initial_pending_tasks = manager.pending_tasks;
@@ -2466,15 +2466,15 @@ pub const Resolver = struct {
top_parent = result;
break;
}
- bufs(.dir_entry_paths_to_resolve)[@intCast(usize, i)] = DirEntryResolveQueueItem{
+ bufs(.dir_entry_paths_to_resolve)[@as(usize, @intCast(i))] = DirEntryResolveQueueItem{
.unsafe_path = top,
.result = result,
.fd = 0,
};
if (rfs.entries.get(top)) |top_entry| {
- bufs(.dir_entry_paths_to_resolve)[@intCast(usize, i)].safe_path = top_entry.entries.dir;
- bufs(.dir_entry_paths_to_resolve)[@intCast(usize, i)].fd = top_entry.entries.fd;
+ bufs(.dir_entry_paths_to_resolve)[@as(usize, @intCast(i))].safe_path = top_entry.entries.dir;
+ bufs(.dir_entry_paths_to_resolve)[@as(usize, @intCast(i))].fd = top_entry.entries.fd;
}
i += 1;
}
@@ -2484,21 +2484,21 @@ pub const Resolver = struct {
if (result.status != .unknown) {
top_parent = result;
} else {
- bufs(.dir_entry_paths_to_resolve)[@intCast(usize, i)] = DirEntryResolveQueueItem{
+ bufs(.dir_entry_paths_to_resolve)[@as(usize, @intCast(i))] = DirEntryResolveQueueItem{
.unsafe_path = root_path,
.result = result,
.fd = 0,
};
if (rfs.entries.get(top)) |top_entry| {
- bufs(.dir_entry_paths_to_resolve)[@intCast(usize, i)].safe_path = top_entry.entries.dir;
- bufs(.dir_entry_paths_to_resolve)[@intCast(usize, i)].fd = top_entry.entries.fd;
+ bufs(.dir_entry_paths_to_resolve)[@as(usize, @intCast(i))].safe_path = top_entry.entries.dir;
+ bufs(.dir_entry_paths_to_resolve)[@as(usize, @intCast(i))].fd = top_entry.entries.fd;
}
i += 1;
}
}
- var queue_slice: []DirEntryResolveQueueItem = bufs(.dir_entry_paths_to_resolve)[0..@intCast(usize, i)];
+ var queue_slice: []DirEntryResolveQueueItem = bufs(.dir_entry_paths_to_resolve)[0..@as(usize, @intCast(i))];
if (Environment.allow_assert) std.debug.assert(queue_slice.len > 0);
var open_dir_count: usize = 0;
@@ -2626,7 +2626,7 @@ pub const Resolver = struct {
// Directories must always end in a trailing slash or else various bugs can occur.
// This covers "what happens when the trailing"
- end += @intCast(usize, @intFromBool(safe_path.len > end and end > 0 and safe_path[end - 1] != std.fs.path.sep and safe_path[end] == std.fs.path.sep));
+ end += @as(usize, @intCast(@intFromBool(safe_path.len > end and end > 0 and safe_path[end - 1] != std.fs.path.sep and safe_path[end] == std.fs.path.sep)));
break :brk safe_path[dir_path_i..end];
};
@@ -2779,8 +2779,8 @@ pub const Resolver = struct {
(prefix.len >= longest_match_prefix_length and
suffix.len > longest_match_suffix_length))
{
- longest_match_prefix_length = @intCast(i32, prefix.len);
- longest_match_suffix_length = @intCast(i32, suffix.len);
+ longest_match_prefix_length = @as(i32, @intCast(prefix.len));
+ longest_match_suffix_length = @as(i32, @intCast(suffix.len));
longest_match = TSConfigMatch{ .prefix = prefix, .suffix = suffix, .original_paths = original_paths };
}
}
diff --git a/src/router.zig b/src/router.zig
index 8ed16f102..685de061a 100644
--- a/src/router.zig
+++ b/src/router.zig
@@ -28,7 +28,7 @@ const URLPath = @import("./http/url_path.zig");
const PathnameScanner = @import("./url.zig").PathnameScanner;
const CodepointIterator = @import("./string_immutable.zig").CodepointIterator;
-const index_route_hash = @truncate(u32, bun.hash("$$/index-route$$-!(@*@#&*%-901823098123"));
+const index_route_hash = @as(u32, @truncate(bun.hash("$$/index-route$$-!(@*@#&*%-901823098123")));
const arbitrary_max_route = 4096;
pub const Param = struct {
@@ -335,7 +335,7 @@ const RouteLoader = struct {
const relative_dir = FileSystem.instance.relative(base_dir, config.dir);
if (!strings.hasPrefixComptime(relative_dir, "..")) {
- route_dirname_len = @truncate(u16, relative_dir.len + @as(usize, @intFromBool(config.dir[config.dir.len - 1] != std.fs.path.sep)));
+ route_dirname_len = @as(u16, @truncate(relative_dir.len + @as(usize, @intFromBool(config.dir[config.dir.len - 1] != std.fs.path.sep))));
}
var this = RouteLoader{
@@ -515,7 +515,7 @@ pub const TinyPtr = packed struct {
}
pub inline fn eql(a: TinyPtr, b: TinyPtr) bool {
- return @bitCast(u32, a) == @bitCast(u32, b);
+ return @as(u32, @bitCast(a)) == @as(u32, @bitCast(b));
}
pub fn from(parent: string, in: string) TinyPtr {
@@ -529,7 +529,7 @@ pub const TinyPtr = packed struct {
const length = @max(end, right) - right;
const offset = @max(@intFromPtr(in.ptr), @intFromPtr(parent.ptr)) - @intFromPtr(parent.ptr);
- return TinyPtr{ .offset = @truncate(u16, offset), .len = @truncate(u16, length) };
+ return TinyPtr{ .offset = @as(u16, @truncate(offset)), .len = @as(u16, @truncate(length)) };
}
};
@@ -571,7 +571,7 @@ pub const Route = struct {
var table: [std.math.maxInt(u8)]u8 = undefined;
var i: u16 = 0;
while (i < @as(u16, table.len)) {
- table[i] = @intCast(u8, i);
+ table[i] = @as(u8, @intCast(i));
i += 1;
}
// move dynamic routes to the bottom
@@ -770,7 +770,7 @@ pub const Route = struct {
.full_hash = if (is_index)
index_route_hash
else
- @truncate(u32, bun.hash(name)),
+ @as(u32, @truncate(bun.hash(name))),
.param_count = validation_result.param_count,
.kind = validation_result.kind,
.abs_path = entry.abs_path,
@@ -1184,7 +1184,7 @@ const Pattern = struct {
var offset: RoutePathInt = 0;
std.debug.assert(input.len > 0);
var kind: u4 = @intFromEnum(Tag.static);
- const end = @truncate(u32, input.len - 1);
+ const end = @as(u32, @truncate(input.len - 1));
while (offset < end) {
const pattern: Pattern = Pattern.initUnhashed(input, offset) catch |err| {
const source = Logger.Source.initEmptyFile(input);
@@ -1248,10 +1248,10 @@ const Pattern = struct {
};
offset = pattern.len;
kind = @max(@intFromEnum(@as(Pattern.Tag, pattern.value)), kind);
- count += @intCast(u16, @intFromBool(@intFromEnum(@as(Pattern.Tag, pattern.value)) > @intFromEnum(Pattern.Tag.static)));
+ count += @as(u16, @intCast(@intFromBool(@intFromEnum(@as(Pattern.Tag, pattern.value)) > @intFromEnum(Pattern.Tag.static))));
}
- return ValidationResult{ .param_count = count, .kind = @enumFromInt(Tag, kind) };
+ return ValidationResult{ .param_count = count, .kind = @as(Tag, @enumFromInt(kind)) };
}
pub fn eql(a: Pattern, b: Pattern) bool {
@@ -1292,13 +1292,13 @@ const Pattern = struct {
if (input.len == 0 or input.len <= @as(usize, offset)) return Pattern{
.value = .{ .static = HashedString.empty },
- .len = @truncate(RoutePathInt, @min(input.len, @as(usize, offset))),
+ .len = @as(RoutePathInt, @truncate(@min(input.len, @as(usize, offset)))),
};
var i: RoutePathInt = offset;
var tag = Tag.static;
- const end = @intCast(RoutePathInt, input.len - 1);
+ const end = @as(RoutePathInt, @intCast(input.len - 1));
if (offset == end) return Pattern{ .len = offset, .value = .{ .static = HashedString.empty } };
diff --git a/src/runtime.zig b/src/runtime.zig
index 072258747..89fd66e77 100644
--- a/src/runtime.zig
+++ b/src/runtime.zig
@@ -105,11 +105,11 @@ pub const Fallback = struct {
acc_len += 8;
while (acc_len >= 6) {
acc_len -= 6;
- try writer.writeByte(alphabet_chars[@truncate(u6, (acc >> acc_len))]);
+ try writer.writeByte(alphabet_chars[@as(u6, @truncate((acc >> acc_len)))]);
}
}
if (acc_len > 0) {
- try writer.writeByte(alphabet_chars[@truncate(u6, (acc << 6 - acc_len))]);
+ try writer.writeByte(alphabet_chars[@as(u6, @truncate((acc << 6 - acc_len)))]);
}
}
};
@@ -142,7 +142,7 @@ pub const Fallback = struct {
var version_hash_int: u32 = 0;
pub fn versionHash() u32 {
if (version_hash_int == 0) {
- version_hash_int = @truncate(u32, std.fmt.parseInt(u64, version(), 16) catch unreachable);
+ version_hash_int = @as(u32, @truncate(std.fmt.parseInt(u64, version(), 16) catch unreachable));
}
return version_hash_int;
}
@@ -267,7 +267,7 @@ pub const Runtime = struct {
var version_hash_int: u32 = 0;
pub fn versionHash() u32 {
if (version_hash_int == 0) {
- version_hash_int = @truncate(u32, version_hash);
+ version_hash_int = @as(u32, @truncate(version_hash));
}
return version_hash_int;
}
@@ -400,6 +400,7 @@ pub const Runtime = struct {
"$$typeof",
};
const all_sorted: [all.len]string = brk: {
+ @setEvalBranchQuota(1000000);
var list = all;
const Sorter = struct {
fn compare(_: void, a: []const u8, b: []const u8) bool {
diff --git a/src/sha.zig b/src/sha.zig
index 8faf9fbb2..542dc494e 100644
--- a/src/sha.zig
+++ b/src/sha.zig
@@ -251,10 +251,10 @@ pub fn main() anyerror!void {
var digest2: DigestType = undefined;
var digest3: DigestType = undefined;
var digest4: DigestType = undefined;
- @memset(@ptrCast([*]u8, &digest1)[0..@sizeOf(DigestType)], 0);
- @memset(@ptrCast([*]u8, &digest2)[0..@sizeOf(DigestType)], 0);
- @memset(@ptrCast([*]u8, &digest3)[0..@sizeOf(DigestType)], 0);
- @memset(@ptrCast([*]u8, &digest4)[0..@sizeOf(DigestType)], 0);
+ @memset(@as([*]u8, @ptrCast(&digest1))[0..@sizeOf(DigestType)], 0);
+ @memset(@as([*]u8, @ptrCast(&digest2))[0..@sizeOf(DigestType)], 0);
+ @memset(@as([*]u8, @ptrCast(&digest3))[0..@sizeOf(DigestType)], 0);
+ @memset(@as([*]u8, @ptrCast(&digest4))[0..@sizeOf(DigestType)], 0);
defer {
std.mem.doNotOptimizeAway(&digest1);
std.mem.doNotOptimizeAway(&digest2);
diff --git a/src/sourcemap/sourcemap.zig b/src/sourcemap/sourcemap.zig
index 0b245d8c7..178422848 100644
--- a/src/sourcemap/sourcemap.zig
+++ b/src/sourcemap/sourcemap.zig
@@ -221,7 +221,7 @@ pub const Mapping = struct {
.msg = "Missing generated column value",
.err = error.MissingGeneratedColumnValue,
.value = generated.columns,
- .loc = .{ .start = @intCast(i32, bytes.len - remain.len) },
+ .loc = .{ .start = @as(i32, @intCast(bytes.len - remain.len)) },
},
};
}
@@ -235,7 +235,7 @@ pub const Mapping = struct {
.msg = "Invalid generated column value",
.err = error.InvalidGeneratedColumnValue,
.value = generated.columns,
- .loc = .{ .start = @intCast(i32, bytes.len - remain.len) },
+ .loc = .{ .start = @as(i32, @intCast(bytes.len - remain.len)) },
},
};
}
@@ -267,7 +267,7 @@ pub const Mapping = struct {
.fail = .{
.msg = "Invalid source index delta",
.err = error.InvalidSourceIndexDelta,
- .loc = .{ .start = @intCast(i32, bytes.len - remain.len) },
+ .loc = .{ .start = @as(i32, @intCast(bytes.len - remain.len)) },
},
};
}
@@ -279,7 +279,7 @@ pub const Mapping = struct {
.msg = "Invalid source index value",
.err = error.InvalidSourceIndexValue,
.value = source_index,
- .loc = .{ .start = @intCast(i32, bytes.len - remain.len) },
+ .loc = .{ .start = @as(i32, @intCast(bytes.len - remain.len)) },
},
};
}
@@ -297,7 +297,7 @@ pub const Mapping = struct {
.fail = .{
.msg = "Missing original line",
.err = error.MissingOriginalLine,
- .loc = .{ .start = @intCast(i32, bytes.len - remain.len) },
+ .loc = .{ .start = @as(i32, @intCast(bytes.len - remain.len)) },
},
};
}
@@ -309,7 +309,7 @@ pub const Mapping = struct {
.msg = "Invalid original line value",
.err = error.InvalidOriginalLineValue,
.value = original.lines,
- .loc = .{ .start = @intCast(i32, bytes.len - remain.len) },
+ .loc = .{ .start = @as(i32, @intCast(bytes.len - remain.len)) },
},
};
}
@@ -323,7 +323,7 @@ pub const Mapping = struct {
.msg = "Missing original column value",
.err = error.MissingOriginalColumnValue,
.value = original.columns,
- .loc = .{ .start = @intCast(i32, bytes.len - remain.len) },
+ .loc = .{ .start = @as(i32, @intCast(bytes.len - remain.len)) },
},
};
}
@@ -335,7 +335,7 @@ pub const Mapping = struct {
.msg = "Invalid original column value",
.err = error.InvalidOriginalColumnValue,
.value = original.columns,
- .loc = .{ .start = @intCast(i32, bytes.len - remain.len) },
+ .loc = .{ .start = @as(i32, @intCast(bytes.len - remain.len)) },
},
};
}
@@ -352,8 +352,8 @@ pub const Mapping = struct {
.fail = .{
.msg = "Invalid character after mapping",
.err = error.InvalidSourceMap,
- .value = @intCast(i32, c),
- .loc = .{ .start = @intCast(i32, bytes.len - remain.len) },
+ .value = @as(i32, @intCast(c)),
+ .loc = .{ .start = @as(i32, @intCast(bytes.len - remain.len)) },
},
};
},
@@ -431,7 +431,7 @@ pub const LineColumnOffset = struct {
std.debug.assert(i < input.len);
var iter = strings.CodepointIterator.initOffset(input, i);
- var cursor = strings.CodepointIterator.Cursor{ .i = @truncate(u32, iter.i) };
+ var cursor = strings.CodepointIterator.Cursor{ .i = @as(u32, @truncate(iter.i)) };
_ = iter.next(&cursor);
offset = i + cursor.width;
@@ -596,7 +596,7 @@ pub fn appendSourceMapChunk(j: *Joiner, allocator: std.mem.Allocator, prev_end_s
var start_state = start_state_;
// Handle line breaks in between this mapping and the previous one
if (start_state.generated_line > 0) {
- j.append(try strings.repeatingAlloc(allocator, @intCast(usize, start_state.generated_line), ';'), 0, allocator);
+ j.append(try strings.repeatingAlloc(allocator, @as(usize, @intCast(start_state.generated_line)), ';'), 0, allocator);
prev_end_state.generated_column = 0;
}
@@ -668,7 +668,7 @@ pub fn encodeVLQWithLookupTable(
value: i32,
) VLQ {
return if (value >= 0 and value <= 255)
- vlq_lookup_table[@intCast(usize, value)]
+ vlq_lookup_table[@as(usize, @intCast(value))]
else
encodeVLQ(value);
}
@@ -727,9 +727,9 @@ pub fn encodeVLQ(
var bytes: [vlq_max_in_bytes]u8 = undefined;
var vlq: u32 = if (value >= 0)
- @bitCast(u32, value << 1)
+ @as(u32, @bitCast(value << 1))
else
- @bitCast(u32, (-value << 1) | 1);
+ @as(u32, @bitCast((-value << 1) | 1));
// source mappings are limited to i32
comptime var i: usize = 0;
@@ -783,10 +783,10 @@ pub fn decodeVLQ(encoded: []const u8, start: usize) VLQResult {
// inlining helps for the 1 or 2 byte case, hurts a little for larger
comptime var i: usize = 0;
inline while (i < vlq_max_in_bytes + 1) : (i += 1) {
- const index = @as(u32, base64_lut[@truncate(u7, encoded_[i])]);
+ const index = @as(u32, base64_lut[@as(u7, @truncate(encoded_[i]))]);
// decode a byte
- vlq |= (index & 31) << @truncate(u5, shift);
+ vlq |= (index & 31) << @as(u5, @truncate(shift));
shift += 5;
// Stop if there's no continuation bit
@@ -794,9 +794,9 @@ pub fn decodeVLQ(encoded: []const u8, start: usize) VLQResult {
return VLQResult{
.start = start + comptime (i + 1),
.value = if ((vlq & 1) == 0)
- @intCast(i32, vlq >> 1)
+ @as(i32, @intCast(vlq >> 1))
else
- -@intCast(i32, (vlq >> 1)),
+ -@as(i32, @intCast((vlq >> 1))),
};
}
}
@@ -825,10 +825,10 @@ pub const LineOffsetTable = struct {
pub fn findLine(byte_offsets_to_start_of_line: []const u32, loc: Logger.Loc) i32 {
std.debug.assert(loc.start > -1); // checked by caller
var original_line: usize = 0;
- const loc_start = @intCast(usize, loc.start);
+ const loc_start = @as(usize, @intCast(loc.start));
{
- var count = @truncate(usize, byte_offsets_to_start_of_line.len);
+ var count = @as(usize, @truncate(byte_offsets_to_start_of_line.len));
var i: usize = 0;
while (count > 0) {
const step = count / 2;
@@ -842,13 +842,13 @@ pub const LineOffsetTable = struct {
}
}
- return @intCast(i32, original_line) - 1;
+ return @as(i32, @intCast(original_line)) - 1;
}
pub fn generate(allocator: std.mem.Allocator, contents: []const u8, approximate_line_count: i32) List {
var list = List{};
// Preallocate the top-level table using the approximate line count from the lexer
- list.ensureUnusedCapacity(allocator, @intCast(usize, @max(approximate_line_count, 1))) catch unreachable;
+ list.ensureUnusedCapacity(allocator, @as(usize, @intCast(@max(approximate_line_count, 1)))) catch unreachable;
var column: i32 = 0;
var byte_offset_to_first_non_ascii: u32 = 0;
var column_byte_offset: u32 = 0;
@@ -869,9 +869,9 @@ pub const LineOffsetTable = struct {
const cp_len = @as(usize, len_);
if (column == 0) {
- line_byte_offset = @truncate(
+ line_byte_offset = @as(
u32,
- @intFromPtr(remaining.ptr) - @intFromPtr(contents.ptr),
+ @truncate(@intFromPtr(remaining.ptr) - @intFromPtr(contents.ptr)),
);
}
@@ -884,23 +884,23 @@ pub const LineOffsetTable = struct {
// we have a non-ASCII character, so we need to keep track of the
// mapping from byte offsets to UTF-16 code unit counts
columns_for_non_ascii.appendAssumeCapacity(column);
- column_byte_offset = @intCast(
+ column_byte_offset = @as(
u32,
- (@intFromPtr(
+ @intCast((@intFromPtr(
remaining.ptr,
) - @intFromPtr(
contents.ptr,
- )) - line_byte_offset,
+ )) - line_byte_offset),
);
byte_offset_to_first_non_ascii = line_byte_offset;
}
// Update the per-byte column offsets
if (columns_for_non_ascii.items.len > 0) {
- const line_bytes_so_far = @intCast(u32, @truncate(
+ const line_bytes_so_far = @as(u32, @intCast(@as(
u32,
- @intFromPtr(remaining.ptr) - @intFromPtr(contents.ptr),
- )) - line_byte_offset;
+ @truncate(@intFromPtr(remaining.ptr) - @intFromPtr(contents.ptr)),
+ ))) - line_byte_offset;
columns_for_non_ascii.ensureUnusedCapacity((line_bytes_so_far - column_byte_offset) + 1) catch unreachable;
while (column_byte_offset <= line_bytes_so_far) : (column_byte_offset += 1) {
columns_for_non_ascii.appendAssumeCapacity(column);
@@ -910,11 +910,11 @@ pub const LineOffsetTable = struct {
(@max('\r', '\n') + 1)...127 => {
// skip ahead to the next newline or non-ascii character
if (strings.indexOfNewlineOrNonASCIICheckStart(remaining, @as(u32, len_), false)) |j| {
- column += @intCast(i32, j);
+ column += @as(i32, @intCast(j));
remaining = remaining[j..];
} else {
// if there are no more lines, we are done!
- column += @intCast(i32, remaining.len);
+ column += @as(i32, @intCast(remaining.len));
remaining = remaining[remaining.len..];
}
@@ -965,11 +965,11 @@ pub const LineOffsetTable = struct {
// Mark the start of the next line
if (column == 0) {
- line_byte_offset = @intCast(u32, contents.len);
+ line_byte_offset = @as(u32, @intCast(contents.len));
}
if (columns_for_non_ascii.items.len > 0) {
- const line_bytes_so_far = @intCast(u32, contents.len) - line_byte_offset;
+ const line_bytes_so_far = @as(u32, @intCast(contents.len)) - line_byte_offset;
columns_for_non_ascii.ensureUnusedCapacity((line_bytes_so_far - column_byte_offset) + 1) catch unreachable;
while (column_byte_offset <= line_bytes_so_far) : (column_byte_offset += 1) {
columns_for_non_ascii.appendAssumeCapacity(column);
@@ -1216,8 +1216,8 @@ pub const Chunk = struct {
pub noinline fn generateChunk(b: *ThisBuilder, output: []const u8) Chunk {
b.updateGeneratedLineAndColumn(output);
if (b.prepend_count) {
- b.source_map.getBuffer().list.items[0..8].* = @bitCast([8]u8, b.source_map.getBuffer().list.items.len);
- b.source_map.getBuffer().list.items[8..16].* = @bitCast([8]u8, b.source_map.getCount());
+ b.source_map.getBuffer().list.items[0..8].* = @as([8]u8, @bitCast(b.source_map.getBuffer().list.items.len));
+ b.source_map.getBuffer().list.items[8..16].* = @as([8]u8, @bitCast(b.source_map.getCount()));
}
return Chunk{
.buffer = b.source_map.getBuffer(),
@@ -1235,7 +1235,7 @@ pub const Chunk = struct {
var needs_mapping = b.cover_lines_without_mappings and !b.line_starts_with_mapping and b.has_prev_state;
var i: usize = 0;
- const n = @intCast(usize, slice.len);
+ const n = @as(usize, @intCast(slice.len));
var c: i32 = 0;
while (i < n) {
const len = strings.wtf8ByteSequenceLengthWithInvalid(slice[i]);
@@ -1244,12 +1244,12 @@ pub const Chunk = struct {
switch (c) {
14...127 => {
- if (strings.indexOfNewlineOrNonASCII(slice, @intCast(u32, i))) |j| {
- b.generated_column += @intCast(i32, (@as(usize, j) - i) + 1);
+ if (strings.indexOfNewlineOrNonASCII(slice, @as(u32, @intCast(i)))) |j| {
+ b.generated_column += @as(i32, @intCast((@as(usize, j) - i) + 1));
i = j;
continue;
} else {
- b.generated_column += @intCast(i32, slice[i..].len) + 1;
+ b.generated_column += @as(i32, @intCast(slice[i..].len)) + 1;
i = n;
break;
}
@@ -1293,7 +1293,7 @@ pub const Chunk = struct {
}
}
- b.last_generated_update = @truncate(u32, output.len);
+ b.last_generated_update = @as(u32, @truncate(output.len));
}
pub fn appendMapping(b: *ThisBuilder, current_state_: SourceMapState) void {
@@ -1327,12 +1327,12 @@ pub const Chunk = struct {
b.prev_loc = loc;
const list = b.line_offset_tables;
const original_line = LineOffsetTable.findLine(b.line_offset_table_byte_offset_list, loc);
- const line = list.get(@intCast(usize, @max(original_line, 0)));
+ const line = list.get(@as(usize, @intCast(@max(original_line, 0))));
// Use the line to compute the column
- var original_column = loc.start - @intCast(i32, line.byte_offset_to_start_of_line);
- if (line.columns_for_non_ascii.len > 0 and original_column >= @intCast(i32, line.byte_offset_to_first_non_ascii)) {
- original_column = line.columns_for_non_ascii.ptr[@intCast(u32, original_column) - line.byte_offset_to_first_non_ascii];
+ var original_column = loc.start - @as(i32, @intCast(line.byte_offset_to_start_of_line));
+ if (line.columns_for_non_ascii.len > 0 and original_column >= @as(i32, @intCast(line.byte_offset_to_first_non_ascii))) {
+ original_column = line.columns_for_non_ascii.ptr[@as(u32, @intCast(original_column)) - line.byte_offset_to_first_non_ascii];
}
b.updateGeneratedLineAndColumn(output);
diff --git a/src/sourcemap/vlq_bench.zig b/src/sourcemap/vlq_bench.zig
index ca5b1ed8e..4da9db8ff 100644
--- a/src/sourcemap/vlq_bench.zig
+++ b/src/sourcemap/vlq_bench.zig
@@ -30,7 +30,7 @@ const SourceMap = struct {
value: i32,
) VLQ {
return if (value >= 0 and value <= 255)
- vlq_lookup_table[@intCast(usize, value)]
+ vlq_lookup_table[@as(usize, @intCast(value))]
else
encodeVLQ(value);
}
@@ -54,9 +54,9 @@ const SourceMap = struct {
var bytes: [vlq_max_in_bytes]u8 = undefined;
var vlq: u32 = if (value >= 0)
- @bitCast(u32, value << 1)
+ @as(u32, @bitCast(value << 1))
else
- @bitCast(u32, (-value << 1) | 1);
+ @as(u32, @bitCast((-value << 1) | 1));
// source mappings are limited to i32
comptime var i: usize = 0;
@@ -111,10 +111,10 @@ const SourceMap = struct {
// inlining helps for the 1 or 2 byte case, hurts a little for larger
comptime var i: usize = 0;
inline while (i < vlq_max_in_bytes + 1) : (i += 1) {
- const index = @as(u32, base64_lut[@truncate(u7, encoded_[i])]);
+ const index = @as(u32, base64_lut[@as(u7, @truncate(encoded_[i]))]);
// decode a byte
- vlq |= (index & 31) << @truncate(u5, shift);
+ vlq |= (index & 31) << @as(u5, @truncate(shift));
shift += 5;
// Stop if there's no continuation bit
@@ -122,9 +122,9 @@ const SourceMap = struct {
return VLQResult{
.start = i + start,
.value = if ((vlq & 1) == 0)
- @intCast(i32, vlq >> 1)
+ @as(i32, @intCast(vlq >> 1))
else
- -@intCast(i32, (vlq >> 1)),
+ -@as(i32, @intCast((vlq >> 1))),
};
}
}
diff --git a/src/standalone_bun.zig b/src/standalone_bun.zig
index b18fe384e..03cec9370 100644
--- a/src/standalone_bun.zig
+++ b/src/standalone_bun.zig
@@ -211,7 +211,7 @@ pub const StandaloneModuleGraph = struct {
}
var offsets = Offsets{
- .entry_point_id = @truncate(u32, entry_point_id.?),
+ .entry_point_id = @as(u32, @truncate(entry_point_id.?)),
.modules_ptr = string_builder.appendCount(std.mem.sliceAsBytes(modules.items)),
.byte_count = string_builder.len,
};
@@ -230,7 +230,7 @@ pub const StandaloneModuleGraph = struct {
pub fn inject(bytes: []const u8) i32 {
var buf: [bun.MAX_PATH_BYTES]u8 = undefined;
- var zname: [:0]const u8 = bun.span(bun.fs.FileSystem.instance.tmpname("bun-build", &buf, @bitCast(u64, std.time.milliTimestamp())) catch |err| {
+ var zname: [:0]const u8 = bun.span(bun.fs.FileSystem.instance.tmpname("bun-build", &buf, @as(u64, @bitCast(std.time.milliTimestamp()))) catch |err| {
Output.prettyErrorln("<r><red>error<r><d>:<r> failed to get temporary file name: {s}", .{@errorName(err)});
Global.exit(1);
return -1;
@@ -338,7 +338,7 @@ pub const StandaloneModuleGraph = struct {
break :brk fd;
};
- const seek_position = @intCast(u64, brk: {
+ const seek_position = @as(u64, @intCast(brk: {
const fstat = switch (Syscall.fstat(cloned_executable_fd)) {
.result => |res| res,
.err => |err| {
@@ -349,7 +349,7 @@ pub const StandaloneModuleGraph = struct {
};
break :brk @max(fstat.size, 0);
- });
+ }));
const total_byte_count = seek_position + bytes.len + 8;
@@ -479,7 +479,7 @@ pub const StandaloneModuleGraph = struct {
return null;
var end = @as([]u8, &trailer_bytes).ptr + read_amount - @sizeOf(usize);
- const total_byte_count: usize = @bitCast(usize, end[0..8].*);
+ const total_byte_count: usize = @as(usize, @bitCast(end[0..8].*));
if (total_byte_count > std.math.maxInt(u32) or total_byte_count < 4096) {
// sanity check: the total byte count should never be more than 4 GB
@@ -511,7 +511,7 @@ pub const StandaloneModuleGraph = struct {
// if you have not a ton of code, we only do a single read() call
if (Environment.allow_assert or offsets.byte_count > 1024 * 3) {
const offset_from_end = trailer_bytes.len - (@intFromPtr(end) - @intFromPtr(@as([]u8, &trailer_bytes).ptr));
- std.os.lseek_END(self_exe, -@intCast(i64, offset_from_end + offsets.byte_count)) catch return null;
+ std.os.lseek_END(self_exe, -@as(i64, @intCast(offset_from_end + offsets.byte_count))) catch return null;
if (comptime Environment.allow_assert) {
// actually we just want to verify this logic is correct in development
diff --git a/src/string.zig b/src/string.zig
index 26cd86d8c..e592537c2 100644
--- a/src/string.zig
+++ b/src/string.zig
@@ -706,7 +706,7 @@ pub const String = extern struct {
if (uchar > 255)
return null;
- buffer[i] = @intCast(u8, uchar);
+ buffer[i] = @as(u8, @intCast(uchar));
}
inline for (0..values.len) |i| {
@@ -747,7 +747,7 @@ pub const String = extern struct {
if (uchar > 255)
return null;
- byte.* = @intCast(u8, uchar);
+ byte.* = @as(u8, @intCast(uchar));
}
break :brk bytes;
};
diff --git a/src/string_builder.zig b/src/string_builder.zig
index 7aba5cd89..8acef5f07 100644
--- a/src/string_builder.zig
+++ b/src/string_builder.zig
@@ -64,7 +64,7 @@ pub fn add(this: *StringBuilder, len: usize) bun.StringPointer {
if (comptime Environment.allow_assert) assert(this.len <= this.cap);
- return bun.StringPointer{ .offset = @truncate(u32, start), .length = @truncate(u32, len) };
+ return bun.StringPointer{ .offset = @as(u32, @truncate(start)), .length = @as(u32, @truncate(len)) };
}
pub fn appendCount(this: *StringBuilder, slice: string) bun.StringPointer {
if (comptime Environment.allow_assert) {
@@ -80,7 +80,7 @@ pub fn appendCount(this: *StringBuilder, slice: string) bun.StringPointer {
if (comptime Environment.allow_assert) assert(this.len <= this.cap);
- return bun.StringPointer{ .offset = @truncate(u32, start), .length = @truncate(u32, slice.len) };
+ return bun.StringPointer{ .offset = @as(u32, @truncate(start)), .length = @as(u32, @truncate(slice.len)) };
}
pub fn fmt(this: *StringBuilder, comptime str: string, args: anytype) string {
@@ -112,8 +112,8 @@ pub fn fmtAppendCount(this: *StringBuilder, comptime str: string, args: anytype)
if (comptime Environment.allow_assert) assert(this.len <= this.cap);
return bun.StringPointer{
- .offset = @truncate(u32, off),
- .length = @truncate(u32, out.len),
+ .offset = @as(u32, @truncate(off)),
+ .length = @as(u32, @truncate(out.len)),
};
}
diff --git a/src/string_immutable.zig b/src/string_immutable.zig
index 6c4eaa943..9ca60c860 100644
--- a/src/string_immutable.zig
+++ b/src/string_immutable.zig
@@ -52,16 +52,16 @@ pub fn indexOfAny(slice: string, comptime str: anytype) ?OptionalUsize {
if (comptime Environment.enableSIMD) {
while (remaining.len >= ascii_vector_size) {
const vec: AsciiVector = remaining[0..ascii_vector_size].*;
- var cmp = @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, str[0])));
+ var cmp: AsciiVectorU1 = @bitCast(vec == @as(AsciiVector, @splat(@as(u8, str[0]))));
inline for (str[1..]) |c| {
- cmp |= @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, c)));
+ cmp |= @bitCast(vec == @as(AsciiVector, @splat(@as(u8, c))));
}
if (@reduce(.Max, cmp) > 0) {
- const bitmask = @bitCast(AsciiVectorInt, cmp);
+ const bitmask = @as(AsciiVectorInt, @bitCast(cmp));
const first = @ctz(bitmask);
- return @intCast(OptionalUsize, first + slice.len - remaining.len);
+ return @as(OptionalUsize, @intCast(first + slice.len - remaining.len));
}
remaining = remaining[ascii_vector_size..];
@@ -72,7 +72,7 @@ pub fn indexOfAny(slice: string, comptime str: anytype) ?OptionalUsize {
for (remaining, 0..) |c, i| {
if (strings.indexOfChar(str, c) != null) {
- return @intCast(OptionalUsize, i + slice.len - remaining.len);
+ return @as(OptionalUsize, @intCast(i + slice.len - remaining.len));
}
}
@@ -82,7 +82,7 @@ pub fn indexOfAny16(self: []const u16, comptime str: anytype) ?OptionalUsize {
for (self, 0..) |c, i| {
inline for (str) |a| {
if (c == a) {
- return @intCast(OptionalUsize, i);
+ return @as(OptionalUsize, @intCast(i));
}
}
}
@@ -94,7 +94,7 @@ pub inline fn containsComptime(self: string, comptime str: string) bool {
const Int = std.meta.Int(.unsigned, str.len * 8);
while (remain.len >= comptime str.len) {
- if (@bitCast(Int, remain.ptr[0..str.len].*) == @bitCast(Int, str.ptr[0..str.len].*)) {
+ if (@as(Int, @bitCast(remain.ptr[0..str.len].*)) == @as(Int, @bitCast(str.ptr[0..str.len].*))) {
return true;
}
remain = remain[str.len..];
@@ -179,7 +179,7 @@ pub fn repeatingBuf(self: []u8, char: u8) void {
pub fn indexOfCharNeg(self: string, char: u8) i32 {
var i: u32 = 0;
while (i < self.len) : (i += 1) {
- if (self[i] == char) return @intCast(i32, i);
+ if (self[i] == char) return @as(i32, @intCast(i));
}
return -1;
}
@@ -259,7 +259,7 @@ pub const FormatValidIdentifier = struct {
pub fn indexOfSigned(self: string, str: string) i32 {
const i = std.mem.indexOf(u8, self, str) orelse return -1;
- return @intCast(i32, i);
+ return @as(i32, @intCast(i));
}
pub inline fn lastIndexOfChar(self: string, char: u8) ?usize {
@@ -291,7 +291,7 @@ pub inline fn indexOf(self: string, str: string) ?usize {
const i = @intFromPtr(start) - @intFromPtr(self_ptr);
std.debug.assert(i < self_len);
- return @intCast(usize, i);
+ return @as(usize, @intCast(i));
}
pub fn split(self: string, delimiter: string) SplitIterator {
@@ -400,7 +400,7 @@ pub const StringOrTinyString = struct {
// This is a switch expression instead of a statement to make sure it uses the faster assembly
return switch (this.is_tiny_string) {
1 => this.remainder_buf[0..this.remainder_len],
- 0 => @ptrFromInt([*]const u8, std.mem.readIntNative(usize, this.remainder_buf[0..@sizeOf(usize)]))[0..std.mem.readIntNative(usize, this.remainder_buf[@sizeOf(usize) .. @sizeOf(usize) * 2])],
+ 0 => @as([*]const u8, @ptrFromInt(std.mem.readIntNative(usize, this.remainder_buf[0..@sizeOf(usize)])))[0..std.mem.readIntNative(usize, this.remainder_buf[@sizeOf(usize) .. @sizeOf(usize) * 2])],
};
}
@@ -436,7 +436,7 @@ pub const StringOrTinyString = struct {
@setRuntimeSafety(false);
var tiny = StringOrTinyString{
.is_tiny_string = 1,
- .remainder_len = @truncate(u7, stringy.len),
+ .remainder_len = @as(u7, @truncate(stringy.len)),
};
@memcpy(tiny.remainder_buf[0..tiny.remainder_len], stringy[0..tiny.remainder_len]);
return tiny;
@@ -462,7 +462,7 @@ pub const StringOrTinyString = struct {
@setRuntimeSafety(false);
var tiny = StringOrTinyString{
.is_tiny_string = 1,
- .remainder_len = @truncate(u7, stringy.len),
+ .remainder_len = @as(u7, @truncate(stringy.len)),
};
_ = copyLowercase(stringy, &tiny.remainder_buf);
return tiny;
@@ -734,9 +734,9 @@ pub fn endsWithAny(self: string, str: string) bool {
// - Strips ANSI output as it will appear malformed.
pub fn githubActionWriter(writer: anytype, self: string) !void {
var offset: usize = 0;
- const end = @truncate(u32, self.len);
+ const end = @as(u32, @truncate(self.len));
while (offset < end) {
- if (indexOfNewlineOrNonASCIIOrANSI(self, @truncate(u32, offset))) |i| {
+ if (indexOfNewlineOrNonASCIIOrANSI(self, @as(u32, @truncate(offset)))) |i| {
const byte = self[i];
if (byte > 0x7F) {
offset += @max(wtf8ByteSequenceLength(byte), 1);
@@ -842,11 +842,11 @@ pub fn countChar(self: string, char: u8) usize {
var total: usize = 0;
var remaining = self;
- const splatted: AsciiVector = @splat(ascii_vector_size, char);
+ const splatted: AsciiVector = @splat(char);
while (remaining.len >= 16) {
const vec: AsciiVector = remaining[0..ascii_vector_size].*;
- const cmp = @popCount(@bitCast(@Vector(ascii_vector_size, u1), vec == splatted));
+ const cmp = @popCount(@as(@Vector(ascii_vector_size, u1), @bitCast(vec == splatted)));
total += @as(usize, @reduce(.Add, cmp));
remaining = remaining[ascii_vector_size..];
}
@@ -936,7 +936,7 @@ inline fn eqlComptimeCheckLenWithKnownType(comptime Type: type, a: []const Type,
comptime var b_ptr: usize = 0;
inline while (dword_length > 0) : (dword_length -= 1) {
- if (@bitCast(usize, a[b_ptr..][0 .. @sizeOf(usize) / divisor].*) != comptime @bitCast(usize, (slice[b_ptr..])[0 .. @sizeOf(usize) / divisor].*))
+ if (@as(usize, @bitCast(a[b_ptr..][0 .. @sizeOf(usize) / divisor].*)) != comptime @as(usize, @bitCast((slice[b_ptr..])[0 .. @sizeOf(usize) / divisor].*)))
return false;
comptime b_ptr += @sizeOf(usize);
if (comptime b_ptr == b.len) return true;
@@ -944,7 +944,7 @@ inline fn eqlComptimeCheckLenWithKnownType(comptime Type: type, a: []const Type,
if (comptime @sizeOf(usize) == 8) {
if (comptime (len & 4) != 0) {
- if (@bitCast(u32, a[b_ptr..][0 .. @sizeOf(u32) / divisor].*) != comptime @bitCast(u32, (slice[b_ptr..])[0 .. @sizeOf(u32) / divisor].*))
+ if (@as(u32, @bitCast(a[b_ptr..][0 .. @sizeOf(u32) / divisor].*)) != comptime @as(u32, @bitCast((slice[b_ptr..])[0 .. @sizeOf(u32) / divisor].*)))
return false;
comptime b_ptr += @sizeOf(u32);
@@ -954,7 +954,7 @@ inline fn eqlComptimeCheckLenWithKnownType(comptime Type: type, a: []const Type,
}
if (comptime (len & 2) != 0) {
- if (@bitCast(u16, a[b_ptr..][0 .. @sizeOf(u16) / divisor].*) != comptime @bitCast(u16, slice[b_ptr .. b_ptr + (@sizeOf(u16) / divisor)].*))
+ if (@as(u16, @bitCast(a[b_ptr..][0 .. @sizeOf(u16) / divisor].*)) != comptime @as(u16, @bitCast(slice[b_ptr .. b_ptr + (@sizeOf(u16) / divisor)].*)))
return false;
comptime b_ptr += @sizeOf(u16);
@@ -1027,7 +1027,7 @@ pub fn eqlLong(a_str: string, b_str: string, comptime check_len: bool) bool {
{
var dword_length = len >> 3;
while (dword_length > 0) : (dword_length -= 1) {
- if (@bitCast(usize, a[0..@sizeOf(usize)].*) != @bitCast(usize, b[0..@sizeOf(usize)].*))
+ if (@as(usize, @bitCast(a[0..@sizeOf(usize)].*)) != @as(usize, @bitCast(b[0..@sizeOf(usize)].*)))
return false;
b += @sizeOf(usize);
if (b == end) return true;
@@ -1037,7 +1037,7 @@ pub fn eqlLong(a_str: string, b_str: string, comptime check_len: bool) bool {
if (comptime @sizeOf(usize) == 8) {
if ((len & 4) != 0) {
- if (@bitCast(u32, a[0..@sizeOf(u32)].*) != @bitCast(u32, b[0..@sizeOf(u32)].*))
+ if (@as(u32, @bitCast(a[0..@sizeOf(u32)].*)) != @as(u32, @bitCast(b[0..@sizeOf(u32)].*)))
return false;
b += @sizeOf(u32);
@@ -1047,7 +1047,7 @@ pub fn eqlLong(a_str: string, b_str: string, comptime check_len: bool) bool {
}
if ((len & 2) != 0) {
- if (@bitCast(u16, a[0..@sizeOf(u16)].*) != @bitCast(u16, b[0..@sizeOf(u16)].*))
+ if (@as(u16, @bitCast(a[0..@sizeOf(u16)].*)) != @as(u16, @bitCast(b[0..@sizeOf(u16)].*)))
return false;
b += @sizeOf(u16);
@@ -1098,7 +1098,7 @@ pub inline fn joinBuf(out: []u8, parts: anytype, comptime parts_len: usize) []u8
pub fn index(self: string, str: string) i32 {
if (strings.indexOf(self, str)) |i| {
- return @intCast(i32, i);
+ return @as(i32, @intCast(i));
} else {
return -1;
}
@@ -1117,12 +1117,12 @@ pub fn toUTF8Alloc(allocator: std.mem.Allocator, js: []const u16) !string {
}
pub inline fn appendUTF8MachineWordToUTF16MachineWord(output: *[@sizeOf(usize) / 2]u16, input: *const [@sizeOf(usize) / 2]u8) void {
- output[0 .. @sizeOf(usize) / 2].* = @bitCast(
+ output[0 .. @sizeOf(usize) / 2].* = @as(
[4]u16,
- @as(
+ @bitCast(@as(
@Vector(4, u16),
- @bitCast(@Vector(4, u8), input[0 .. @sizeOf(usize) / 2].*),
- ),
+ @as(@Vector(4, u8), @bitCast(input[0 .. @sizeOf(usize) / 2].*)),
+ )),
);
}
@@ -1160,7 +1160,7 @@ pub fn copyU8IntoU16WithAlignment(comptime alignment: u21, output_: []align(alig
}
if (std.mem.isAligned(@intFromPtr(output.ptr), @alignOf(u16)) and input.len > 0) {
- copyU8IntoU16(@alignCast(@alignOf(u16), output.ptr)[0..output.len], input);
+ copyU8IntoU16(@as([*]u16, @alignCast(output.ptr))[0..output.len], input);
return;
}
@@ -1213,7 +1213,7 @@ pub inline fn copyU16IntoU8(output_: []u8, comptime InputType: type, input_: Inp
while (last_vector_ptr != input_ptr) {
const input_vec1: @Vector(group, u16) = input_ptr[0..group].*;
inline for (0..group) |i| {
- output_ptr[i] = @truncate(u8, input_vec1[i]);
+ output_ptr[i] = @as(u8, @truncate(input_vec1[i]));
}
output_ptr += group;
@@ -1227,7 +1227,7 @@ pub inline fn copyU16IntoU8(output_: []u8, comptime InputType: type, input_: Inp
const last_input_ptr = input_ptr + @min(input.len, output.len);
while (last_input_ptr != input_ptr) {
- output_ptr[0] = @truncate(u8, input_ptr[0]);
+ output_ptr[0] = @as(u8, @truncate(input_ptr[0]));
output_ptr += 1;
input_ptr += 1;
}
@@ -1239,7 +1239,7 @@ pub fn copyLatin1IntoASCII(dest: []u8, src: []const u8) void {
var remain = src;
var to = dest;
- const non_ascii_offset = strings.firstNonASCII(remain) orelse @truncate(u32, remain.len);
+ const non_ascii_offset = strings.firstNonASCII(remain) orelse @as(u32, @truncate(remain.len));
if (non_ascii_offset > 0) {
@memcpy(to[0..non_ascii_offset], remain[0..non_ascii_offset]);
remain = remain[non_ascii_offset..];
@@ -1277,7 +1277,7 @@ pub fn copyLatin1IntoASCII(dest: []u8, src: []const u8) void {
}
for (to) |*to_byte| {
- to_byte.* = @as(u8, @truncate(u7, remain[0]));
+ to_byte.* = @as(u8, @as(u7, @truncate(remain[0])));
remain = remain[1..];
}
}
@@ -1349,7 +1349,7 @@ pub fn toUTF16Alloc(allocator: std.mem.Allocator, bytes: []const u8, comptime fa
//#define U16_LENGTH(c) ((uint32_t)(c)<=0xffff ? 1 : 2)
switch (replacement.code_point) {
0...0xffff => |c| {
- try output.append(@intCast(u16, c));
+ try output.append(@as(u16, @intCast(c)));
},
else => |c| {
try output.appendSlice(&[_]u16{ strings.u16Lead(c), strings.u16Trail(c) });
@@ -1384,7 +1384,7 @@ pub fn toUTF16Alloc(allocator: std.mem.Allocator, bytes: []const u8, comptime fa
//#define U16_LENGTH(c) ((uint32_t)(c)<=0xffff ? 1 : 2)
switch (replacement.code_point) {
0...0xffff => |c| {
- try output.append(@intCast(u16, c));
+ try output.append(@as(u16, @intCast(c)));
},
else => |c| {
try output.appendSlice(&[_]u16{ strings.u16Lead(c), strings.u16Trail(c) });
@@ -1529,7 +1529,7 @@ pub fn toUTF8ListWithTypeBun(list_: std.ArrayList(u8), comptime Type: type, utf1
utf16_remaining = utf16_remaining[replacement.len..];
const count: usize = replacement.utf8Width();
- try list.ensureTotalCapacityPrecise(i + count + list.items.len + @intFromFloat(usize, (@floatFromInt(f64, @truncate(u52, utf16_remaining.len)) * 1.2)));
+ try list.ensureTotalCapacityPrecise(i + count + list.items.len + @as(usize, @intFromFloat((@as(f64, @floatFromInt(@as(u52, @truncate(utf16_remaining.len)))) * 1.2))));
list.items.len += i;
copyU16IntoU8(
@@ -1597,7 +1597,7 @@ pub fn allocateLatin1IntoUTF8WithList(list_: std.ArrayList(u8), offset_into_list
// zig or LLVM doesn't do @ctz nicely with SIMD
if (comptime ascii_vector_size >= 8) {
{
- const bytes = @bitCast(Int, latin1[0..size].*);
+ const bytes = @as(Int, @bitCast(latin1[0..size].*));
// https://dotat.at/@/2022-06-27-tolower-swar.html
const mask = bytes & 0x8080808080808080;
@@ -1605,19 +1605,19 @@ pub fn allocateLatin1IntoUTF8WithList(list_: std.ArrayList(u8), offset_into_list
const first_set_byte = @ctz(mask) / 8;
if (comptime Environment.allow_assert) std.debug.assert(latin1[first_set_byte] >= 127);
- buf[0..size].* = @bitCast([size]u8, bytes);
+ buf[0..size].* = @as([size]u8, @bitCast(bytes));
buf = buf[first_set_byte..];
latin1 = latin1[first_set_byte..];
break :inner;
}
- buf[0..size].* = @bitCast([size]u8, bytes);
+ buf[0..size].* = @as([size]u8, @bitCast(bytes));
latin1 = latin1[size..];
buf = buf[size..];
}
if (comptime ascii_vector_size >= 16) {
- const bytes = @bitCast(Int, latin1[0..size].*);
+ const bytes = @as(Int, @bitCast(latin1[0..size].*));
// https://dotat.at/@/2022-06-27-tolower-swar.html
const mask = bytes & 0x8080808080808080;
@@ -1625,7 +1625,7 @@ pub fn allocateLatin1IntoUTF8WithList(list_: std.ArrayList(u8), offset_into_list
const first_set_byte = @ctz(mask) / 8;
if (comptime Environment.allow_assert) std.debug.assert(latin1[first_set_byte] >= 127);
- buf[0..size].* = @bitCast([size]u8, bytes);
+ buf[0..size].* = @as([size]u8, @bitCast(bytes));
buf = buf[first_set_byte..];
latin1 = latin1[first_set_byte..];
break :inner;
@@ -1635,7 +1635,7 @@ pub fn allocateLatin1IntoUTF8WithList(list_: std.ArrayList(u8), offset_into_list
unreachable;
}
- buf[0..ascii_vector_size].* = @bitCast([ascii_vector_size]u8, vec)[0..ascii_vector_size].*;
+ buf[0..ascii_vector_size].* = @as([ascii_vector_size]u8, @bitCast(vec))[0..ascii_vector_size].*;
latin1 = latin1[ascii_vector_size..];
buf = buf[ascii_vector_size..];
}
@@ -1644,7 +1644,7 @@ pub fn allocateLatin1IntoUTF8WithList(list_: std.ArrayList(u8), offset_into_list
const Int = u64;
const size = @sizeOf(Int);
- const bytes = @bitCast(Int, latin1[0..size].*);
+ const bytes = @as(Int, @bitCast(latin1[0..size].*));
// https://dotat.at/@/2022-06-27-tolower-swar.html
const mask = bytes & 0x8080808080808080;
@@ -1652,13 +1652,13 @@ pub fn allocateLatin1IntoUTF8WithList(list_: std.ArrayList(u8), offset_into_list
const first_set_byte = @ctz(mask) / 8;
if (comptime Environment.allow_assert) std.debug.assert(latin1[first_set_byte] >= 127);
- buf[0..size].* = @bitCast([size]u8, bytes);
+ buf[0..size].* = @as([size]u8, @bitCast(bytes));
latin1 = latin1[first_set_byte..];
buf = buf[first_set_byte..];
break :inner;
}
- buf[0..size].* = @bitCast([size]u8, bytes);
+ buf[0..size].* = @as([size]u8, @bitCast(bytes));
latin1 = latin1[size..];
buf = buf[size..];
}
@@ -1808,7 +1808,7 @@ pub fn copyLatin1IntoUTF8(buf_: []u8, comptime Type: type, latin1_: Type) Encode
pub fn copyLatin1IntoUTF8StopOnNonASCII(buf_: []u8, comptime Type: type, latin1_: Type, comptime stop: bool) EncodeIntoResult {
if (comptime bun.FeatureFlags.latin1_is_now_ascii) {
- const to_copy = @truncate(u32, @min(buf_.len, latin1_.len));
+ const to_copy = @as(u32, @truncate(@min(buf_.len, latin1_.len)));
@memcpy(buf_[0..to_copy], latin1_[0..to_copy]);
return .{ .written = to_copy, .read = to_copy };
@@ -1834,11 +1834,11 @@ pub fn copyLatin1IntoUTF8StopOnNonASCII(buf_: []u8, comptime Type: type, latin1_
const size = @sizeOf(Int);
{
- const bytes = @bitCast(Int, latin1[0..size].*);
+ const bytes = @as(Int, @bitCast(latin1[0..size].*));
// https://dotat.at/@/2022-06-27-tolower-swar.html
const mask = bytes & 0x8080808080808080;
- buf[0..size].* = @bitCast([size]u8, bytes);
+ buf[0..size].* = @as([size]u8, @bitCast(bytes));
if (mask > 0) {
const first_set_byte = @ctz(mask) / 8;
@@ -1854,11 +1854,11 @@ pub fn copyLatin1IntoUTF8StopOnNonASCII(buf_: []u8, comptime Type: type, latin1_
}
if (comptime ascii_vector_size >= 16) {
- const bytes = @bitCast(Int, latin1[0..size].*);
+ const bytes = @as(Int, @bitCast(latin1[0..size].*));
// https://dotat.at/@/2022-06-27-tolower-swar.html
const mask = bytes & 0x8080808080808080;
- buf[0..size].* = @bitCast([size]u8, bytes);
+ buf[0..size].* = @as([size]u8, @bitCast(bytes));
if (comptime Environment.allow_assert) std.debug.assert(mask > 0);
const first_set_byte = @ctz(mask) / 8;
@@ -1872,7 +1872,7 @@ pub fn copyLatin1IntoUTF8StopOnNonASCII(buf_: []u8, comptime Type: type, latin1_
unreachable;
}
- buf[0..ascii_vector_size].* = @bitCast([ascii_vector_size]u8, vec)[0..ascii_vector_size].*;
+ buf[0..ascii_vector_size].* = @as([ascii_vector_size]u8, @bitCast(vec))[0..ascii_vector_size].*;
latin1 = latin1[ascii_vector_size..];
buf = buf[ascii_vector_size..];
}
@@ -1881,8 +1881,8 @@ pub fn copyLatin1IntoUTF8StopOnNonASCII(buf_: []u8, comptime Type: type, latin1_
const Int = u64;
const size = @sizeOf(Int);
while (@min(buf.len, latin1.len) >= size) {
- const bytes = @bitCast(Int, latin1[0..size].*);
- buf[0..size].* = @bitCast([size]u8, bytes);
+ const bytes = @as(Int, @bitCast(latin1[0..size].*));
+ buf[0..size].* = @as([size]u8, @bitCast(bytes));
// https://dotat.at/@/2022-06-27-tolower-swar.html
@@ -1931,8 +1931,8 @@ pub fn copyLatin1IntoUTF8StopOnNonASCII(buf_: []u8, comptime Type: type, latin1_
}
return .{
- .written = @truncate(u32, buf_.len - buf.len),
- .read = @truncate(u32, latin1_.len - latin1.len),
+ .written = @as(u32, @truncate(buf_.len - buf.len)),
+ .read = @as(u32, @truncate(latin1_.len - latin1.len)),
};
}
@@ -1959,16 +1959,14 @@ pub fn elementLengthLatin1IntoUTF8(comptime Type: type, latin1_: Type) usize {
const vec: AsciiVector = latin1[0..ascii_vector_size].*;
// Shifting a unsigned 8 bit integer to the right by 7 bits always produces a value of 0 or 1.
- const cmp = vec >> @splat(
- ascii_vector_size,
+ const cmp = vec >> @as(AsciiVector, @splat(
@as(u8, 7),
- );
+ ));
// Anding that value rather than converting it into a @Vector(16, u1) produces better code from LLVM.
- const mask = cmp & @splat(
- ascii_vector_size,
+ const mask: AsciiVector = cmp & @as(AsciiVector, @splat(
@as(u8, 1),
- );
+ ));
total_non_ascii_count += @as(usize, @reduce(.Add, mask));
latin1 = latin1[ascii_vector_size..];
@@ -1992,7 +1990,7 @@ pub fn copyLatin1IntoUTF16(comptime Buffer: type, buf_: Buffer, comptime Type: t
var buf = buf_;
var latin1 = latin1_;
while (buf.len > 0 and latin1.len > 0) {
- const to_write = strings.firstNonASCII(latin1) orelse @truncate(u32, @min(latin1.len, buf.len));
+ const to_write = strings.firstNonASCII(latin1) orelse @as(u32, @truncate(@min(latin1.len, buf.len)));
if (comptime std.meta.alignment(Buffer) != @alignOf(u16)) {
strings.copyU8IntoU16WithAlignment(std.meta.alignment(Buffer), buf, latin1[0..to_write]);
} else {
@@ -2009,8 +2007,8 @@ pub fn copyLatin1IntoUTF16(comptime Buffer: type, buf_: Buffer, comptime Type: t
}
return .{
- .read = @truncate(u32, buf_.len - buf.len),
- .written = @truncate(u32, latin1_.len - latin1.len),
+ .read = @as(u32, @truncate(buf_.len - buf.len)),
+ .written = @as(u32, @truncate(latin1_.len - latin1.len)),
};
}
@@ -2024,7 +2022,7 @@ pub fn elementLengthLatin1IntoUTF16(comptime Type: type, latin1_: Type) usize {
var latin1 = latin1_;
while (latin1.len > 0) {
const function = comptime if (std.meta.Child(Type) == u8) strings.firstNonASCIIWithType else strings.firstNonASCII16;
- const to_write = function(Type, latin1) orelse @truncate(u32, latin1.len);
+ const to_write = function(Type, latin1) orelse @as(u32, @truncate(latin1.len));
count += to_write;
latin1 = latin1[to_write..];
if (latin1.len > 0) {
@@ -2186,7 +2184,7 @@ pub fn escapeHTMLForLatin1Input(allocator: std.mem.Allocator, latin1: []const u8
const vecs: [vec_chars.len]AsciiVector = comptime brk: {
var _vecs: [vec_chars.len]AsciiVector = undefined;
for (vec_chars, 0..) |c, i| {
- _vecs[i] = @splat(ascii_vector_size, c);
+ _vecs[i] = @splat(c);
}
break :brk _vecs;
};
@@ -2204,11 +2202,11 @@ pub fn escapeHTMLForLatin1Input(allocator: std.mem.Allocator, latin1: []const u8
scan_and_allocate_lazily: while (remaining.len >= ascii_vector_size) {
if (comptime Environment.allow_assert) std.debug.assert(!any_needs_escape);
const vec: AsciiVector = remaining[0..ascii_vector_size].*;
- if (@reduce(.Max, @bitCast(AsciiVectorU1, (vec == vecs[0])) |
- @bitCast(AsciiVectorU1, (vec == vecs[1])) |
- @bitCast(AsciiVectorU1, (vec == vecs[2])) |
- @bitCast(AsciiVectorU1, (vec == vecs[3])) |
- @bitCast(AsciiVectorU1, (vec == vecs[4]))) == 1)
+ if (@reduce(.Max, @as(AsciiVectorU1, @bitCast((vec == vecs[0]))) |
+ @as(AsciiVectorU1, @bitCast((vec == vecs[1]))) |
+ @as(AsciiVectorU1, @bitCast((vec == vecs[2]))) |
+ @as(AsciiVectorU1, @bitCast((vec == vecs[3]))) |
+ @as(AsciiVectorU1, @bitCast((vec == vecs[4])))) == 1)
{
if (comptime Environment.allow_assert) std.debug.assert(buf.capacity == 0);
@@ -2264,11 +2262,11 @@ pub fn escapeHTMLForLatin1Input(allocator: std.mem.Allocator, latin1: []const u8
// so we'll go ahead and copy the buffer into a new buffer
while (remaining.len >= ascii_vector_size) {
const vec: AsciiVector = remaining[0..ascii_vector_size].*;
- if (@reduce(.Max, @bitCast(AsciiVectorU1, (vec == vecs[0])) |
- @bitCast(AsciiVectorU1, (vec == vecs[1])) |
- @bitCast(AsciiVectorU1, (vec == vecs[2])) |
- @bitCast(AsciiVectorU1, (vec == vecs[3])) |
- @bitCast(AsciiVectorU1, (vec == vecs[4]))) == 1)
+ if (@reduce(.Max, @as(AsciiVectorU1, @bitCast((vec == vecs[0]))) |
+ @as(AsciiVectorU1, @bitCast((vec == vecs[1]))) |
+ @as(AsciiVectorU1, @bitCast((vec == vecs[2]))) |
+ @as(AsciiVectorU1, @bitCast((vec == vecs[3]))) |
+ @as(AsciiVectorU1, @bitCast((vec == vecs[4])))) == 1)
{
buf.ensureUnusedCapacity(ascii_vector_size + 6) catch unreachable;
comptime var i: usize = 0;
@@ -2448,7 +2446,7 @@ pub fn escapeHTMLForUTF16Input(allocator: std.mem.Allocator, utf16: []const u16)
const vecs: [vec_chars.len]AsciiU16Vector = brk: {
var _vecs: [vec_chars.len]AsciiU16Vector = undefined;
for (vec_chars, 0..) |c, i| {
- _vecs[i] = @splat(ascii_u16_vector_size, @as(u16, c));
+ _vecs[i] = @splat(@as(u16, c));
}
break :brk _vecs;
};
@@ -2457,12 +2455,12 @@ pub fn escapeHTMLForUTF16Input(allocator: std.mem.Allocator, utf16: []const u16)
scan_and_allocate_lazily: while (remaining.len >= ascii_u16_vector_size) {
if (comptime Environment.allow_assert) std.debug.assert(!any_needs_escape);
const vec: AsciiU16Vector = remaining[0..ascii_u16_vector_size].*;
- if (@reduce(.Max, @bitCast(AsciiVectorU16U1, vec > @splat(ascii_u16_vector_size, @as(u16, 127))) |
- @bitCast(AsciiVectorU16U1, (vec == vecs[0])) |
- @bitCast(AsciiVectorU16U1, (vec == vecs[1])) |
- @bitCast(AsciiVectorU16U1, (vec == vecs[2])) |
- @bitCast(AsciiVectorU16U1, (vec == vecs[3])) |
- @bitCast(AsciiVectorU16U1, (vec == vecs[4]))) == 1)
+ if (@reduce(.Max, @as(AsciiVectorU16U1, @bitCast(vec > @as(AsciiU16Vector, @splat(@as(u16, 127))))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == vecs[0]))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == vecs[1]))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == vecs[2]))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == vecs[3]))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == vecs[4])))) == 1)
{
var i: u16 = 0;
lazy: {
@@ -2536,12 +2534,12 @@ pub fn escapeHTMLForUTF16Input(allocator: std.mem.Allocator, utf16: []const u16)
// so we'll go ahead and copy the buffer into a new buffer
while (remaining.len >= ascii_u16_vector_size) {
const vec: AsciiU16Vector = remaining[0..ascii_u16_vector_size].*;
- if (@reduce(.Max, @bitCast(AsciiVectorU16U1, vec > @splat(ascii_u16_vector_size, @as(u16, 127))) |
- @bitCast(AsciiVectorU16U1, (vec == vecs[0])) |
- @bitCast(AsciiVectorU16U1, (vec == vecs[1])) |
- @bitCast(AsciiVectorU16U1, (vec == vecs[2])) |
- @bitCast(AsciiVectorU16U1, (vec == vecs[3])) |
- @bitCast(AsciiVectorU16U1, (vec == vecs[4]))) == 1)
+ if (@reduce(.Max, @as(AsciiVectorU16U1, @bitCast(vec > @as(AsciiU16Vector, @splat(@as(u16, 127))))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == vecs[0]))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == vecs[1]))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == vecs[2]))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == vecs[3]))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == vecs[4])))) == 1)
{
buf.ensureUnusedCapacity(ascii_u16_vector_size) catch unreachable;
var i: u16 = 0;
@@ -2698,9 +2696,9 @@ test "copyLatin1IntoUTF8 - latin1" {
}
pub fn latin1ToCodepointAssumeNotASCII(char: u8, comptime CodePointType: type) CodePointType {
- return @intCast(
+ return @as(
CodePointType,
- latin1ToCodepointBytesAssumeNotASCII16(char),
+ @intCast(latin1ToCodepointBytesAssumeNotASCII16(char)),
);
}
@@ -2741,12 +2739,12 @@ const latin1_to_utf16_conversion_table = [256]u16{
pub fn latin1ToCodepointBytesAssumeNotASCII(char: u32) [2]u8 {
var bytes = [4]u8{ 0, 0, 0, 0 };
- _ = encodeWTF8Rune(&bytes, @intCast(i32, char));
+ _ = encodeWTF8Rune(&bytes, @as(i32, @intCast(char)));
return bytes[0..2].*;
}
pub fn latin1ToCodepointBytesAssumeNotASCII16(char: u32) u16 {
- return latin1_to_utf16_conversion_table[@truncate(u8, char)];
+ return latin1_to_utf16_conversion_table[@as(u8, @truncate(char))];
}
pub fn copyUTF16IntoUTF8(buf: []u8, comptime Type: type, utf16: Type, comptime allow_partial_write: bool) EncodeIntoResult {
@@ -2784,8 +2782,8 @@ pub fn copyUTF16IntoUTF8WithBuffer(buf: []u8, comptime Type: type, utf16: Type,
if (result.status == .surrogate) break :brk;
return EncodeIntoResult{
- .read = @truncate(u32, trimmed.len),
- .written = @truncate(u32, result.count),
+ .read = @as(u32, @truncate(trimmed.len)),
+ .written = @as(u32, @truncate(result.count)),
};
}
}
@@ -2810,7 +2808,7 @@ pub fn copyUTF16IntoUTF8WithBuffer(buf: []u8, comptime Type: type, utf16: Type,
2 => {
if (remaining.len > 0) {
//only first will be written
- remaining[0] = @truncate(u8, 0xC0 | (replacement.code_point >> 6));
+ remaining[0] = @as(u8, @truncate(0xC0 | (replacement.code_point >> 6)));
remaining = remaining[remaining.len..];
}
},
@@ -2818,12 +2816,12 @@ pub fn copyUTF16IntoUTF8WithBuffer(buf: []u8, comptime Type: type, utf16: Type,
//only first to second written
switch (remaining.len) {
1 => {
- remaining[0] = @truncate(u8, 0xE0 | (replacement.code_point >> 12));
+ remaining[0] = @as(u8, @truncate(0xE0 | (replacement.code_point >> 12)));
remaining = remaining[remaining.len..];
},
2 => {
- remaining[0] = @truncate(u8, 0xE0 | (replacement.code_point >> 12));
- remaining[1] = @truncate(u8, 0x80 | (replacement.code_point >> 6) & 0x3F);
+ remaining[0] = @as(u8, @truncate(0xE0 | (replacement.code_point >> 12)));
+ remaining[1] = @as(u8, @truncate(0x80 | (replacement.code_point >> 6) & 0x3F));
remaining = remaining[remaining.len..];
},
else => {},
@@ -2833,18 +2831,18 @@ pub fn copyUTF16IntoUTF8WithBuffer(buf: []u8, comptime Type: type, utf16: Type,
//only 1 to 3 written
switch (remaining.len) {
1 => {
- remaining[0] = @truncate(u8, 0xF0 | (replacement.code_point >> 18));
+ remaining[0] = @as(u8, @truncate(0xF0 | (replacement.code_point >> 18)));
remaining = remaining[remaining.len..];
},
2 => {
- remaining[0] = @truncate(u8, 0xF0 | (replacement.code_point >> 18));
- remaining[1] = @truncate(u8, 0x80 | (replacement.code_point >> 12) & 0x3F);
+ remaining[0] = @as(u8, @truncate(0xF0 | (replacement.code_point >> 18)));
+ remaining[1] = @as(u8, @truncate(0x80 | (replacement.code_point >> 12) & 0x3F));
remaining = remaining[remaining.len..];
},
3 => {
- remaining[0] = @truncate(u8, 0xF0 | (replacement.code_point >> 18));
- remaining[1] = @truncate(u8, 0x80 | (replacement.code_point >> 12) & 0x3F);
- remaining[2] = @truncate(u8, 0x80 | (replacement.code_point >> 6) & 0x3F);
+ remaining[0] = @as(u8, @truncate(0xF0 | (replacement.code_point >> 18)));
+ remaining[1] = @as(u8, @truncate(0x80 | (replacement.code_point >> 12) & 0x3F));
+ remaining[2] = @as(u8, @truncate(0x80 | (replacement.code_point >> 6) & 0x3F));
remaining = remaining[remaining.len..];
},
else => {},
@@ -2869,8 +2867,8 @@ pub fn copyUTF16IntoUTF8WithBuffer(buf: []u8, comptime Type: type, utf16: Type,
}
return .{
- .read = @truncate(u32, utf16.len - utf16_remaining.len),
- .written = @truncate(u32, buf.len - remaining.len),
+ .read = @as(u32, @truncate(utf16.len - utf16_remaining.len)),
+ .written = @as(u32, @truncate(buf.len - remaining.len)),
};
}
@@ -2967,7 +2965,7 @@ pub fn encodeWTF8Rune(p: *[4]u8, r: i32) u3 {
.{
p,
u32,
- @intCast(u32, r),
+ @as(u32, @intCast(r)),
},
);
}
@@ -2975,25 +2973,25 @@ pub fn encodeWTF8Rune(p: *[4]u8, r: i32) u3 {
pub fn encodeWTF8RuneT(p: *[4]u8, comptime R: type, r: R) u3 {
switch (r) {
0...0x7F => {
- p[0] = @intCast(u8, r);
+ p[0] = @as(u8, @intCast(r));
return 1;
},
(0x7F + 1)...0x7FF => {
- p[0] = @truncate(u8, 0xC0 | ((r >> 6)));
- p[1] = @truncate(u8, 0x80 | (r & 0x3F));
+ p[0] = @as(u8, @truncate(0xC0 | ((r >> 6))));
+ p[1] = @as(u8, @truncate(0x80 | (r & 0x3F)));
return 2;
},
(0x7FF + 1)...0xFFFF => {
- p[0] = @truncate(u8, 0xE0 | ((r >> 12)));
- p[1] = @truncate(u8, 0x80 | ((r >> 6) & 0x3F));
- p[2] = @truncate(u8, 0x80 | (r & 0x3F));
+ p[0] = @as(u8, @truncate(0xE0 | ((r >> 12))));
+ p[1] = @as(u8, @truncate(0x80 | ((r >> 6) & 0x3F)));
+ p[2] = @as(u8, @truncate(0x80 | (r & 0x3F)));
return 3;
},
else => {
- p[0] = @truncate(u8, 0xF0 | ((r >> 18)));
- p[1] = @truncate(u8, 0x80 | ((r >> 12) & 0x3F));
- p[2] = @truncate(u8, 0x80 | ((r >> 6) & 0x3F));
- p[3] = @truncate(u8, 0x80 | (r & 0x3F));
+ p[0] = @as(u8, @truncate(0xF0 | ((r >> 18))));
+ p[1] = @as(u8, @truncate(0x80 | ((r >> 12) & 0x3F)));
+ p[2] = @as(u8, @truncate(0x80 | ((r >> 6) & 0x3F)));
+ p[3] = @as(u8, @truncate(0x80 | (r & 0x3F)));
return 4;
},
}
@@ -3070,17 +3068,17 @@ pub const ascii_vector_size = if (Environment.isWasm) 8 else 16;
pub const ascii_u16_vector_size = if (Environment.isWasm) 4 else 8;
pub const AsciiVectorInt = std.meta.Int(.unsigned, ascii_vector_size);
pub const AsciiVectorIntU16 = std.meta.Int(.unsigned, ascii_u16_vector_size);
-pub const max_16_ascii = @splat(ascii_vector_size, @as(u8, 127));
-pub const min_16_ascii = @splat(ascii_vector_size, @as(u8, 0x20));
-pub const max_u16_ascii = @splat(ascii_u16_vector_size, @as(u16, 127));
-pub const min_u16_ascii = @splat(ascii_u16_vector_size, @as(u16, 0x20));
+pub const max_16_ascii: @Vector(ascii_vector_size, u8) = @splat(@as(u8, 127));
+pub const min_16_ascii: @Vector(ascii_vector_size, u8) = @splat(@as(u8, 0x20));
+pub const max_u16_ascii: @Vector(ascii_u16_vector_size, u16) = @splat(@as(u16, 127));
+pub const min_u16_ascii: @Vector(ascii_u16_vector_size, u16) = @splat(@as(u16, 0x20));
pub const AsciiVector = @Vector(ascii_vector_size, u8);
pub const AsciiVectorSmall = @Vector(8, u8);
pub const AsciiVectorU1 = @Vector(ascii_vector_size, u1);
pub const AsciiVectorU1Small = @Vector(8, u1);
pub const AsciiVectorU16U1 = @Vector(ascii_u16_vector_size, u1);
pub const AsciiU16Vector = @Vector(ascii_u16_vector_size, u16);
-pub const max_4_ascii = @splat(4, @as(u8, 127));
+pub const max_4_ascii: @Vector(4, u8) = @splat(@as(u8, 127));
pub fn isAllASCII(slice: []const u8) bool {
if (bun.FeatureFlags.use_simdutf)
return bun.simdutf.validate.ascii(slice);
@@ -3103,7 +3101,7 @@ pub fn isAllASCII(slice: []const u8) bool {
const size = @sizeOf(Int);
const remaining_last8 = slice.ptr + slice.len - (slice.len % size);
while (remaining.ptr != remaining_last8) : (remaining.ptr += size) {
- const bytes = @bitCast(Int, remaining[0..size].*);
+ const bytes = @as(Int, @bitCast(remaining[0..size].*));
// https://dotat.at/@/2022-06-27-tolower-swar.html
const mask = bytes & 0x8080808080808080;
@@ -3133,12 +3131,12 @@ pub fn isAllASCIISimple(comptime slice: []const u8) bool {
//#define U16_LEAD(supplementary) (UChar)(((supplementary)>>10)+0xd7c0)
pub inline fn u16Lead(supplementary: anytype) u16 {
- return @intCast(u16, (supplementary >> 10) + 0xd7c0);
+ return @as(u16, @intCast((supplementary >> 10) + 0xd7c0));
}
//#define U16_TRAIL(supplementary) (UChar)(((supplementary)&0x3ff)|0xdc00)
pub inline fn u16Trail(supplementary: anytype) u16 {
- return @intCast(u16, (supplementary & 0x3ff) | 0xdc00);
+ return @as(u16, @intCast((supplementary & 0x3ff) | 0xdc00));
}
pub fn firstNonASCII(slice: []const u8) ?u32 {
@@ -3154,7 +3152,7 @@ pub fn firstNonASCIIWithType(comptime Type: type, slice: Type) ?u32 {
return null;
}
- return @truncate(u32, result.count);
+ return @as(u32, @truncate(result.count));
}
if (comptime Environment.enableSIMD) {
@@ -3171,7 +3169,7 @@ pub fn firstNonASCIIWithType(comptime Type: type, slice: Type) ?u32 {
remaining.len -= @intFromPtr(remaining.ptr) - @intFromPtr(remaining_start);
{
- const bytes = @bitCast(Int, remaining[0..size].*);
+ const bytes = @as(Int, @bitCast(remaining[0..size].*));
// https://dotat.at/@/2022-06-27-tolower-swar.html
const mask = bytes & 0x8080808080808080;
@@ -3185,12 +3183,12 @@ pub fn firstNonASCIIWithType(comptime Type: type, slice: Type) ?u32 {
}
}
- return @as(u32, first_set_byte) + @intCast(u32, slice.len - remaining.len);
+ return @as(u32, first_set_byte) + @as(u32, @intCast(slice.len - remaining.len));
}
remaining = remaining[size..];
}
{
- const bytes = @bitCast(Int, remaining[0..size].*);
+ const bytes = @as(Int, @bitCast(remaining[0..size].*));
const mask = bytes & 0x8080808080808080;
if (mask > 0) {
@@ -3203,7 +3201,7 @@ pub fn firstNonASCIIWithType(comptime Type: type, slice: Type) ?u32 {
}
}
- return @as(u32, first_set_byte) + @intCast(u32, slice.len - remaining.len);
+ return @as(u32, first_set_byte) + @as(u32, @intCast(slice.len - remaining.len));
}
}
unreachable;
@@ -3233,7 +3231,7 @@ pub fn firstNonASCIIWithType(comptime Type: type, slice: Type) ?u32 {
if (remaining.len >= size) {
while (remaining.ptr != remaining_end) {
- const bytes = @bitCast(Int, remaining[0..size].*);
+ const bytes = @as(Int, @bitCast(remaining[0..size].*));
// https://dotat.at/@/2022-06-27-tolower-swar.html
const mask = bytes & 0x8080808080808080;
@@ -3248,7 +3246,7 @@ pub fn firstNonASCIIWithType(comptime Type: type, slice: Type) ?u32 {
}
}
- return @as(u32, first_set_byte) + @intCast(u32, slice.len - remaining.len);
+ return @as(u32, first_set_byte) + @as(u32, @intCast(slice.len - remaining.len));
}
remaining.ptr += size;
@@ -3262,7 +3260,7 @@ pub fn firstNonASCIIWithType(comptime Type: type, slice: Type) ?u32 {
for (remaining) |*char| {
if (char.* > 127) {
// try to prevent it from reading the length of the slice
- return @truncate(u32, @intFromPtr(char) - @intFromPtr(slice.ptr));
+ return @as(u32, @truncate(@intFromPtr(char) - @intFromPtr(slice.ptr)));
}
}
@@ -3279,16 +3277,16 @@ pub fn indexOfNewlineOrNonASCIIOrANSI(slice_: []const u8, offset: u32) ?u32 {
if (comptime Environment.enableSIMD) {
while (remaining.len >= ascii_vector_size) {
const vec: AsciiVector = remaining[0..ascii_vector_size].*;
- const cmp = @bitCast(AsciiVectorU1, (vec > max_16_ascii)) | @bitCast(AsciiVectorU1, (vec < min_16_ascii)) |
- @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, '\r'))) |
- @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, '\n'))) |
- @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, '\x1b')));
+ const cmp = @as(AsciiVectorU1, @bitCast((vec > max_16_ascii))) | @as(AsciiVectorU1, @bitCast((vec < min_16_ascii))) |
+ @as(AsciiVectorU1, @bitCast(vec == @as(AsciiVector, @splat(@as(u8, '\r'))))) |
+ @as(AsciiVectorU1, @bitCast(vec == @as(AsciiVector, @splat(@as(u8, '\n'))))) |
+ @as(AsciiVectorU1, @bitCast(vec == @as(AsciiVector, @splat(@as(u8, '\x1b')))));
if (@reduce(.Max, cmp) > 0) {
- const bitmask = @bitCast(AsciiVectorInt, cmp);
+ const bitmask = @as(AsciiVectorInt, @bitCast(cmp));
const first = @ctz(bitmask);
- return @as(u32, first) + @intCast(u32, slice.len - remaining.len) + offset;
+ return @as(u32, first) + @as(u32, @intCast(slice.len - remaining.len)) + offset;
}
remaining = remaining[ascii_vector_size..];
@@ -3300,7 +3298,7 @@ pub fn indexOfNewlineOrNonASCIIOrANSI(slice_: []const u8, offset: u32) ?u32 {
for (remaining) |*char_| {
const char = char_.*;
if (char > 127 or char < 0x20 or char == '\n' or char == '\r' or char == '\x1b') {
- return @truncate(u32, (@intFromPtr(char_) - @intFromPtr(slice.ptr))) + offset;
+ return @as(u32, @truncate((@intFromPtr(char_) - @intFromPtr(slice.ptr)))) + offset;
}
}
@@ -3328,15 +3326,15 @@ pub fn indexOfNewlineOrNonASCIICheckStart(slice_: []const u8, offset: u32, compt
if (comptime Environment.enableSIMD) {
while (remaining.len >= ascii_vector_size) {
const vec: AsciiVector = remaining[0..ascii_vector_size].*;
- const cmp = @bitCast(AsciiVectorU1, (vec > max_16_ascii)) | @bitCast(AsciiVectorU1, (vec < min_16_ascii)) |
- @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, '\r'))) |
- @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, '\n')));
+ const cmp = @as(AsciiVectorU1, @bitCast((vec > max_16_ascii))) | @as(AsciiVectorU1, @bitCast((vec < min_16_ascii))) |
+ @as(AsciiVectorU1, @bitCast(vec == @as(AsciiVector, @splat(@as(u8, '\r'))))) |
+ @as(AsciiVectorU1, @bitCast(vec == @as(AsciiVector, @splat(@as(u8, '\n')))));
if (@reduce(.Max, cmp) > 0) {
- const bitmask = @bitCast(AsciiVectorInt, cmp);
+ const bitmask = @as(AsciiVectorInt, @bitCast(cmp));
const first = @ctz(bitmask);
- return @as(u32, first) + @intCast(u32, slice.len - remaining.len) + offset;
+ return @as(u32, first) + @as(u32, @intCast(slice.len - remaining.len)) + offset;
}
remaining = remaining[ascii_vector_size..];
@@ -3348,7 +3346,7 @@ pub fn indexOfNewlineOrNonASCIICheckStart(slice_: []const u8, offset: u32, compt
for (remaining) |*char_| {
const char = char_.*;
if (char > 127 or char < 0x20 or char == '\n' or char == '\r') {
- return @truncate(u32, (@intFromPtr(char_) - @intFromPtr(slice.ptr))) + offset;
+ return @as(u32, @truncate((@intFromPtr(char_) - @intFromPtr(slice.ptr)))) + offset;
}
}
@@ -3365,10 +3363,10 @@ pub fn containsNewlineOrNonASCIIOrQuote(slice_: []const u8) bool {
if (comptime Environment.enableSIMD) {
while (remaining.len >= ascii_vector_size) {
const vec: AsciiVector = remaining[0..ascii_vector_size].*;
- const cmp = @bitCast(AsciiVectorU1, (vec > max_16_ascii)) | @bitCast(AsciiVectorU1, (vec < min_16_ascii)) |
- @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, '\r'))) |
- @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, '\n'))) |
- @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, '"')));
+ const cmp = @as(AsciiVectorU1, @bitCast((vec > max_16_ascii))) | @as(AsciiVectorU1, @bitCast((vec < min_16_ascii))) |
+ @as(AsciiVectorU1, @bitCast(vec == @as(AsciiVector, @splat(@as(u8, '\r'))))) |
+ @as(AsciiVectorU1, @bitCast(vec == @as(AsciiVector, @splat(@as(u8, '\n'))))) |
+ @as(AsciiVectorU1, @bitCast(vec == @as(AsciiVector, @splat(@as(u8, '"')))));
if (@reduce(.Max, cmp) > 0) {
return true;
@@ -3402,15 +3400,15 @@ pub fn indexOfNeedsEscape(slice: []const u8) ?u32 {
if (comptime Environment.enableSIMD) {
while (remaining.len >= ascii_vector_size) {
const vec: AsciiVector = remaining[0..ascii_vector_size].*;
- const cmp = @bitCast(AsciiVectorU1, (vec > max_16_ascii)) | @bitCast(AsciiVectorU1, (vec < min_16_ascii)) |
- @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, '\\'))) |
- @bitCast(AsciiVectorU1, vec == @splat(ascii_vector_size, @as(u8, '"')));
+ const cmp = @as(AsciiVectorU1, @bitCast((vec > max_16_ascii))) | @as(AsciiVectorU1, @bitCast((vec < min_16_ascii))) |
+ @as(AsciiVectorU1, @bitCast(vec == @as(AsciiVector, @splat(@as(u8, '\\'))))) |
+ @as(AsciiVectorU1, @bitCast(vec == @as(AsciiVector, @splat(@as(u8, '"')))));
if (@reduce(.Max, cmp) > 0) {
- const bitmask = @bitCast(AsciiVectorInt, cmp);
+ const bitmask = @as(AsciiVectorInt, @bitCast(cmp));
const first = @ctz(bitmask);
- return @as(u32, first) + @truncate(u32, @intFromPtr(remaining.ptr) - @intFromPtr(slice.ptr));
+ return @as(u32, first) + @as(u32, @truncate(@intFromPtr(remaining.ptr) - @intFromPtr(slice.ptr)));
}
remaining = remaining[ascii_vector_size..];
@@ -3420,7 +3418,7 @@ pub fn indexOfNeedsEscape(slice: []const u8) ?u32 {
for (remaining) |*char_| {
const char = char_.*;
if (char > 127 or char < 0x20 or char == '\\' or char == '"') {
- return @truncate(u32, @intFromPtr(char_) - @intFromPtr(slice.ptr));
+ return @as(u32, @truncate(@intFromPtr(char_) - @intFromPtr(slice.ptr)));
}
}
@@ -3444,11 +3442,11 @@ pub fn indexOfCharZ(sliceZ: [:0]const u8, char: u8) ?u63 {
@intFromPtr(ptr) < @intFromPtr(sliceZ.ptr + sliceZ.len) and
pos <= sliceZ.len);
- return @truncate(u63, pos);
+ return @as(u63, @truncate(pos));
}
pub fn indexOfChar(slice: []const u8, char: u8) ?u32 {
- return @truncate(u32, indexOfCharUsize(slice, char) orelse return null);
+ return @as(u32, @truncate(indexOfCharUsize(slice, char) orelse return null));
}
pub fn indexOfCharUsize(slice: []const u8, char: u8) ?usize {
@@ -3493,7 +3491,7 @@ test "indexOfChar" {
inline for (pairs) |pair| {
try std.testing.expectEqual(
indexOfChar(pair.@"0", pair.@"1").?,
- @truncate(u32, std.mem.indexOfScalar(u8, pair.@"0", pair.@"1").?),
+ @as(u32, @truncate(std.mem.indexOfScalar(u8, pair.@"0", pair.@"1").?)),
);
}
}
@@ -3509,11 +3507,11 @@ pub fn indexOfNotChar(slice: []const u8, char: u8) ?u32 {
if (comptime Environment.enableSIMD) {
while (remaining.len >= ascii_vector_size) {
const vec: AsciiVector = remaining[0..ascii_vector_size].*;
- const cmp = @splat(ascii_vector_size, char) != vec;
- if (@reduce(.Max, @bitCast(AsciiVectorU1, cmp)) > 0) {
- const bitmask = @bitCast(AsciiVectorInt, cmp);
+ const cmp = @as(AsciiVector, @splat(char)) != vec;
+ if (@reduce(.Max, @as(AsciiVectorU1, @bitCast(cmp))) > 0) {
+ const bitmask = @as(AsciiVectorInt, @bitCast(cmp));
const first = @ctz(bitmask);
- return @as(u32, first) + @intCast(u32, slice.len - remaining.len);
+ return @as(u32, first) + @as(u32, @intCast(slice.len - remaining.len));
}
remaining = remaining[ascii_vector_size..];
@@ -3522,7 +3520,7 @@ pub fn indexOfNotChar(slice: []const u8, char: u8) ?u32 {
for (remaining) |*current| {
if (current.* != char) {
- return @truncate(u32, @intFromPtr(current) - @intFromPtr(slice.ptr));
+ return @as(u32, @truncate(@intFromPtr(current) - @intFromPtr(slice.ptr)));
}
}
@@ -3578,8 +3576,8 @@ inline fn _decodeHexToBytes(destination: []u8, comptime Char: type, source: []co
return error.InvalidByteSequence;
}
}
- const a = hex_table[@truncate(u8, int[0])];
- const b = hex_table[@truncate(u8, int[1])];
+ const a = hex_table[@as(u8, @truncate(int[0]))];
+ const b = hex_table[@as(u8, @truncate(int[1]))];
if (a == invalid_char or b == invalid_char) {
if (comptime truncate) break;
return error.InvalidByteSequence;
@@ -3617,7 +3615,7 @@ pub fn encodeBytesToHex(destination: []u8, source: []const u8) usize {
test "decodeHexToBytes" {
var buffer = std.mem.zeroes([1024]u8);
for (buffer, 0..) |_, i| {
- buffer[i] = @truncate(u8, i % 256);
+ buffer[i] = @as(u8, @truncate(i % 256));
}
var written: [2048]u8 = undefined;
var hex = std.fmt.bufPrint(&written, "{}", .{std.fmt.fmtSliceHexLower(&buffer)}) catch unreachable;
@@ -3733,24 +3731,24 @@ pub fn firstNonASCII16CheckMin(comptime Slice: type, slice: Slice, comptime chec
// it does it element-wise for every single u8 on the vector
// instead of doing the SIMD instructions
// it removes a loop, but probably is slower in the end
- const cmp = @bitCast(AsciiVectorU16U1, vec > max_u16_ascii) |
- @bitCast(AsciiVectorU16U1, vec < min_u16_ascii);
- const bitmask: u8 = @bitCast(u8, cmp);
+ const cmp = @as(AsciiVectorU16U1, @bitCast(vec > max_u16_ascii)) |
+ @as(AsciiVectorU16U1, @bitCast(vec < min_u16_ascii));
+ const bitmask: u8 = @as(u8, @bitCast(cmp));
const first = @ctz(bitmask);
- return @intCast(u32, @as(u32, first) +
- @intCast(u32, slice.len - remaining.len));
+ return @as(u32, @intCast(@as(u32, first) +
+ @as(u32, @intCast(slice.len - remaining.len))));
}
} else if (comptime !check_min) {
if (max_value > 127) {
remaining.len -= (@intFromPtr(remaining.ptr) - @intFromPtr(remaining_start)) / 2;
const cmp = vec > max_u16_ascii;
- const bitmask: u8 = @bitCast(u8, cmp);
+ const bitmask: u8 = @as(u8, @bitCast(cmp));
const first = @ctz(bitmask);
- return @intCast(u32, @as(u32, first) +
- @intCast(u32, slice.len - remaining.len));
+ return @as(u32, @intCast(@as(u32, first) +
+ @as(u32, @intCast(slice.len - remaining.len))));
}
}
@@ -3764,7 +3762,7 @@ pub fn firstNonASCII16CheckMin(comptime Slice: type, slice: Slice, comptime chec
var i: usize = 0;
for (remaining) |char| {
if (char > 127 or char < 0x20) {
- return @truncate(u32, i);
+ return @as(u32, @truncate(i));
}
i += 1;
@@ -3773,7 +3771,7 @@ pub fn firstNonASCII16CheckMin(comptime Slice: type, slice: Slice, comptime chec
var i: usize = 0;
for (remaining) |char| {
if (char > 127) {
- return @truncate(u32, i);
+ return @as(u32, @truncate(i));
}
i += 1;
@@ -3794,17 +3792,17 @@ pub fn @"nextUTF16NonASCIIOr$`\\"(
while (remaining.len >= ascii_u16_vector_size) {
const vec: AsciiU16Vector = remaining[0..ascii_u16_vector_size].*;
- const cmp = @bitCast(AsciiVectorU16U1, (vec > max_u16_ascii)) |
- @bitCast(AsciiVectorU16U1, (vec < min_u16_ascii)) |
- @bitCast(AsciiVectorU16U1, (vec == @splat(ascii_u16_vector_size, @as(u16, '$')))) |
- @bitCast(AsciiVectorU16U1, (vec == @splat(ascii_u16_vector_size, @as(u16, '`')))) |
- @bitCast(AsciiVectorU16U1, (vec == @splat(ascii_u16_vector_size, @as(u16, '\\'))));
+ const cmp = @as(AsciiVectorU16U1, @bitCast((vec > max_u16_ascii))) |
+ @as(AsciiVectorU16U1, @bitCast((vec < min_u16_ascii))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == @as(AsciiU16Vector, @splat(@as(u16, '$')))))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == @as(AsciiU16Vector, @splat(@as(u16, '`')))))) |
+ @as(AsciiVectorU16U1, @bitCast((vec == @as(AsciiU16Vector, @splat(@as(u16, '\\'))))));
- const bitmask = @bitCast(u8, cmp);
+ const bitmask = @as(u8, @bitCast(cmp));
const first = @ctz(bitmask);
if (first < ascii_u16_vector_size) {
- return @intCast(u32, @as(u32, first) +
- @intCast(u32, slice.len - remaining.len));
+ return @as(u32, @intCast(@as(u32, first) +
+ @as(u32, @intCast(slice.len - remaining.len))));
}
remaining = remaining[ascii_u16_vector_size..];
@@ -3814,7 +3812,7 @@ pub fn @"nextUTF16NonASCIIOr$`\\"(
for (remaining, 0..) |char, i| {
switch (char) {
'$', '`', '\\', 0...0x20 - 1, 128...std.math.maxInt(u16) => {
- return @truncate(u32, i + (slice.len - remaining.len));
+ return @as(u32, @truncate(i + (slice.len - remaining.len)));
},
else => {},
@@ -4193,7 +4191,7 @@ pub fn NewCodePointIterator(comptime CodePointType: type, comptime zeroValue: co
it.i = @min(next_, bytes.len);
const slice = bytes[prev..][0..cp_len];
- it.width = @intCast(u3, slice.len);
+ it.width = @as(u3, @intCast(slice.len));
return slice;
}
@@ -4235,10 +4233,10 @@ pub fn NewCodePointIterator(comptime CodePointType: type, comptime zeroValue: co
it.c = switch (slice.len) {
0 => zeroValue,
- 1 => @intCast(CodePointType, slice[0]),
- 2 => @intCast(CodePointType, std.unicode.utf8Decode2(slice) catch unreachable),
- 3 => @intCast(CodePointType, std.unicode.utf8Decode3(slice) catch unreachable),
- 4 => @intCast(CodePointType, std.unicode.utf8Decode4(slice) catch unreachable),
+ 1 => @as(CodePointType, @intCast(slice[0])),
+ 2 => @as(CodePointType, @intCast(std.unicode.utf8Decode2(slice) catch unreachable)),
+ 3 => @as(CodePointType, @intCast(std.unicode.utf8Decode3(slice) catch unreachable)),
+ 4 => @as(CodePointType, @intCast(std.unicode.utf8Decode4(slice) catch unreachable)),
else => unreachable,
};
diff --git a/src/string_joiner.zig b/src/string_joiner.zig
index 9abdc8a58..6e01ff50c 100644
--- a/src/string_joiner.zig
+++ b/src/string_joiner.zig
@@ -120,7 +120,7 @@ pub fn ensureNewlineAtEnd(this: *Joiner) void {
pub fn append(this: *Joiner, slice: string, offset: u32, allocator: ?Allocator) void {
const data = slice[offset..];
- this.len += @truncate(u32, data.len);
+ this.len += @as(u32, @truncate(data.len));
var new_tail = if (this.use_pool)
Joinable.Pool.get(default_allocator)
@@ -138,7 +138,7 @@ pub fn append(this: *Joiner, slice: string, offset: u32, allocator: ?Allocator)
new_tail.* = .{
.allocator = default_allocator,
.data = Joinable{
- .offset = @truncate(u31, offset),
+ .offset = @as(u31, @truncate(offset)),
.allocator = allocator orelse undefined,
.needs_deinit = allocator != null,
.slice = slice,
diff --git a/src/string_mutable.zig b/src/string_mutable.zig
index 103f03aa3..239713407 100644
--- a/src/string_mutable.zig
+++ b/src/string_mutable.zig
@@ -224,7 +224,7 @@ pub const MutableString = struct {
);
}
pub inline fn lenI(self: *MutableString) i32 {
- return @intCast(i32, self.list.items.len);
+ return @as(i32, @intCast(self.list.items.len));
}
pub fn toOwnedSlice(self: *MutableString) string {
diff --git a/src/string_types.zig b/src/string_types.zig
index c091e2a86..ab048b008 100644
--- a/src/string_types.zig
+++ b/src/string_types.zig
@@ -40,20 +40,20 @@ pub const PathString = packed struct {
pub inline fn slice(this: anytype) string {
@setRuntimeSafety(false); // "cast causes pointer to be null" is fine here. if it is null, the len will be 0.
- return @ptrFromInt([*]u8, @intCast(usize, this.ptr))[0..this.len];
+ return @as([*]u8, @ptrFromInt(@as(usize, @intCast(this.ptr))))[0..this.len];
}
pub inline fn sliceAssumeZ(this: anytype) stringZ {
@setRuntimeSafety(false); // "cast causes pointer to be null" is fine here. if it is null, the len will be 0.
- return @ptrFromInt([*:0]u8, @intCast(usize, this.ptr))[0..this.len :0];
+ return @as([*:0]u8, @ptrFromInt(@as(usize, @intCast(this.ptr))))[0..this.len :0];
}
pub inline fn init(str: string) @This() {
@setRuntimeSafety(false); // "cast causes pointer to be null" is fine here. if it is null, the len will be 0.
return @This(){
- .ptr = @truncate(PointerIntType, @intFromPtr(str.ptr)),
- .len = @truncate(PathInt, str.len),
+ .ptr = @as(PointerIntType, @truncate(@intFromPtr(str.ptr))),
+ .len = @as(PathInt, @truncate(str.len)),
};
}
@@ -78,20 +78,20 @@ pub const HashedString = struct {
len: u32,
hash: u32,
- pub const empty = HashedString{ .ptr = @ptrFromInt([*]const u8, 0xDEADBEEF), .len = 0, .hash = 0 };
+ pub const empty = HashedString{ .ptr = @as([*]const u8, @ptrFromInt(0xDEADBEEF)), .len = 0, .hash = 0 };
pub fn init(buf: string) HashedString {
return HashedString{
.ptr = buf.ptr,
- .len = @truncate(u32, buf.len),
- .hash = @truncate(u32, bun.hash(buf)),
+ .len = @as(u32, @truncate(buf.len)),
+ .hash = @as(u32, @truncate(bun.hash(buf))),
};
}
pub fn initNoHash(buf: string) HashedString {
return HashedString{
.ptr = buf.ptr,
- .len = @truncate(u32, buf.len),
+ .len = @as(u32, @truncate(buf.len)),
.hash = 0,
};
}
@@ -106,7 +106,7 @@ pub const HashedString = struct {
return ((@max(this.hash, other.hash) > 0 and this.hash == other.hash) or (this.ptr == other.ptr)) and this.len == other.len;
},
else => {
- return @as(usize, this.len) == other.len and @truncate(u32, bun.hash(other[0..other.len])) == this.hash;
+ return @as(usize, this.len) == other.len and @as(u32, @truncate(bun.hash(other[0..other.len]))) == this.hash;
},
}
}
diff --git a/src/sync.zig b/src/sync.zig
index ca0818744..d2ecd95bd 100644
--- a/src/sync.zig
+++ b/src/sync.zig
@@ -977,7 +977,7 @@ else if (@import("builtin").os.tag == .linux)
}
Futex.wait(
- @ptrCast(*const i32, &self.state),
+ @as(*const i32, @ptrCast(&self.state)),
@intFromEnum(new_state),
);
}
@@ -994,7 +994,7 @@ else if (@import("builtin").os.tag == .linux)
fn unlockSlow(self: *Mutex) void {
@setCold(true);
- Futex.wake(@ptrCast(*const i32, &self.state));
+ Futex.wake(@as(*const i32, @ptrCast(&self.state)));
}
}
else
diff --git a/src/tagged_pointer.zig b/src/tagged_pointer.zig
index a246ee355..6c2462139 100644
--- a/src/tagged_pointer.zig
+++ b/src/tagged_pointer.zig
@@ -26,26 +26,26 @@ pub const TaggedPointer = packed struct {
const address = @intFromPtr(ptr);
return TaggedPointer{
- ._ptr = @truncate(AddressableSize, address),
+ ._ptr = @as(AddressableSize, @truncate(address)),
.data = data,
};
}
pub inline fn get(this: TaggedPointer, comptime Type: type) *Type {
- return @ptrFromInt(*Type, @intCast(usize, this._ptr));
+ return @as(*Type, @ptrFromInt(@as(usize, @intCast(this._ptr))));
}
pub inline fn from(val: anytype) TaggedPointer {
const ValueType = @TypeOf(val);
return switch (ValueType) {
- f64, i64, u64 => @bitCast(TaggedPointer, val),
- ?*anyopaque, *anyopaque => @bitCast(TaggedPointer, @intFromPtr(val)),
+ f64, i64, u64 => @as(TaggedPointer, @bitCast(val)),
+ ?*anyopaque, *anyopaque => @as(TaggedPointer, @bitCast(@intFromPtr(val))),
else => @compileError("Unsupported type: " ++ @typeName(ValueType)),
};
}
pub inline fn to(this: TaggedPointer) *anyopaque {
- return @ptrFromInt(*anyopaque, @bitCast(u64, this));
+ return @as(*anyopaque, @ptrFromInt(@as(u64, @bitCast(this))));
}
};
@@ -111,7 +111,7 @@ pub fn TaggedPointerUnion(comptime Types: anytype) type {
}
pub inline fn tag(this: This) TagType {
- return @enumFromInt(TagType, this.repr.data);
+ return @as(TagType, @enumFromInt(this.repr.data));
}
/// unsafely cast a tagged pointer to a specific type, without checking that it's really that type
diff --git a/src/thread_pool.zig b/src/thread_pool.zig
index 3359311d6..402f6b1d6 100644
--- a/src/thread_pool.zig
+++ b/src/thread_pool.zig
@@ -17,7 +17,7 @@ on_thread_spawn: ?OnSpawnCallback = null,
threadpool_context: ?*anyopaque = null,
stack_size: u32,
max_threads: u32,
-sync: Atomic(u32) = Atomic(u32).init(@bitCast(u32, Sync{})),
+sync: Atomic(u32) = Atomic(u32).init(@as(u32, @bitCast(Sync{}))),
idle_event: Event = .{},
join_event: Event = .{},
run_queue: Node.Queue = .{},
@@ -352,7 +352,7 @@ pub fn Do(
}
}
- wait_group.counter += @intCast(u32, values.len);
+ wait_group.counter += @as(u32, @intCast(values.len));
this.schedule(batch);
wait_group.wait();
}
@@ -431,7 +431,7 @@ inline fn notify(self: *ThreadPool, is_waking: bool) void {
// Fast path to check the Sync state to avoid calling into notifySlow().
// If we're waking, then we need to update the state regardless
if (!is_waking) {
- const sync = @bitCast(Sync, self.sync.load(.Monotonic));
+ const sync = @as(Sync, @bitCast(self.sync.load(.Monotonic)));
if (sync.notified) {
return;
}
@@ -443,20 +443,20 @@ inline fn notify(self: *ThreadPool, is_waking: bool) void {
/// Warm the thread pool up to the given number of threads.
/// https://www.youtube.com/watch?v=ys3qcbO5KWw
pub fn warm(self: *ThreadPool, count: u14) void {
- var sync = @bitCast(Sync, self.sync.load(.Monotonic));
+ var sync = @as(Sync, @bitCast(self.sync.load(.Monotonic)));
if (sync.spawned >= count)
return;
- const to_spawn = @min(count - sync.spawned, @truncate(u14, self.max_threads));
+ const to_spawn = @min(count - sync.spawned, @as(u14, @truncate(self.max_threads)));
while (sync.spawned < to_spawn) {
var new_sync = sync;
new_sync.spawned += 1;
- sync = @bitCast(Sync, self.sync.tryCompareAndSwap(
- @bitCast(u32, sync),
- @bitCast(u32, new_sync),
+ sync = @as(Sync, @bitCast(self.sync.tryCompareAndSwap(
+ @as(u32, @bitCast(sync)),
+ @as(u32, @bitCast(new_sync)),
.Release,
.Monotonic,
- ) orelse break);
+ ) orelse break));
const spawn_config = if (Environment.isMac)
// stack size must be a multiple of page_size
// macOS will fail to spawn a thread if the stack size is not a multiple of page_size
@@ -470,7 +470,7 @@ pub fn warm(self: *ThreadPool, count: u14) void {
}
noinline fn notifySlow(self: *ThreadPool, is_waking: bool) void {
- var sync = @bitCast(Sync, self.sync.load(.Monotonic));
+ var sync = @as(Sync, @bitCast(self.sync.load(.Monotonic)));
while (sync.state != .shutdown) {
const can_wake = is_waking or (sync.state == .pending);
if (is_waking) {
@@ -492,9 +492,9 @@ noinline fn notifySlow(self: *ThreadPool, is_waking: bool) void {
// Release barrier synchronizes with Acquire in wait()
// to ensure pushes to run queues happen before observing a posted notification.
- sync = @bitCast(Sync, self.sync.tryCompareAndSwap(
- @bitCast(u32, sync),
- @bitCast(u32, new_sync),
+ sync = @as(Sync, @bitCast(self.sync.tryCompareAndSwap(
+ @as(u32, @bitCast(sync)),
+ @as(u32, @bitCast(new_sync)),
.Release,
.Monotonic,
) orelse {
@@ -518,14 +518,14 @@ noinline fn notifySlow(self: *ThreadPool, is_waking: bool) void {
}
return;
- });
+ }));
}
}
noinline fn wait(self: *ThreadPool, _is_waking: bool) error{Shutdown}!bool {
var is_idle = false;
var is_waking = _is_waking;
- var sync = @bitCast(Sync, self.sync.load(.Monotonic));
+ var sync = @as(Sync, @bitCast(self.sync.load(.Monotonic)));
while (true) {
if (sync.state == .shutdown) return error.Shutdown;
@@ -542,44 +542,44 @@ noinline fn wait(self: *ThreadPool, _is_waking: bool) error{Shutdown}!bool {
// Acquire barrier synchronizes with notify()
// to ensure that pushes to run queue are observed after wait() returns.
- sync = @bitCast(Sync, self.sync.tryCompareAndSwap(
- @bitCast(u32, sync),
- @bitCast(u32, new_sync),
+ sync = @as(Sync, @bitCast(self.sync.tryCompareAndSwap(
+ @as(u32, @bitCast(sync)),
+ @as(u32, @bitCast(new_sync)),
.Acquire,
.Monotonic,
) orelse {
return is_waking or (sync.state == .signaled);
- });
+ }));
} else if (!is_idle) {
var new_sync = sync;
new_sync.idle += 1;
if (is_waking)
new_sync.state = .pending;
- sync = @bitCast(Sync, self.sync.tryCompareAndSwap(
- @bitCast(u32, sync),
- @bitCast(u32, new_sync),
+ sync = @as(Sync, @bitCast(self.sync.tryCompareAndSwap(
+ @as(u32, @bitCast(sync)),
+ @as(u32, @bitCast(new_sync)),
.Monotonic,
.Monotonic,
) orelse {
is_waking = false;
is_idle = true;
continue;
- });
+ }));
} else {
if (Thread.current) |current| {
current.drainIdleEvents();
}
self.idle_event.wait();
- sync = @bitCast(Sync, self.sync.load(.Monotonic));
+ sync = @as(Sync, @bitCast(self.sync.load(.Monotonic)));
}
}
}
/// Marks the thread pool as shutdown
pub noinline fn shutdown(self: *ThreadPool) void {
- var sync = @bitCast(Sync, self.sync.load(.Monotonic));
+ var sync = @as(Sync, @bitCast(self.sync.load(.Monotonic)));
while (sync.state != .shutdown) {
var new_sync = sync;
new_sync.notified = true;
@@ -587,9 +587,9 @@ pub noinline fn shutdown(self: *ThreadPool) void {
new_sync.idle = 0;
// Full barrier to synchronize with both wait() and notify()
- sync = @bitCast(Sync, self.sync.tryCompareAndSwap(
- @bitCast(u32, sync),
- @bitCast(u32, new_sync),
+ sync = @as(Sync, @bitCast(self.sync.tryCompareAndSwap(
+ @as(u32, @bitCast(sync)),
+ @as(u32, @bitCast(new_sync)),
.AcqRel,
.Monotonic,
) orelse {
@@ -597,7 +597,7 @@ pub noinline fn shutdown(self: *ThreadPool) void {
// TODO: I/O polling notification here.
if (sync.idle > 0) self.idle_event.shutdown();
return;
- });
+ }));
}
}
@@ -628,8 +628,8 @@ pub fn setThreadContext(noalias pool: *ThreadPool, ctx: ?*anyopaque) void {
fn unregister(noalias self: *ThreadPool, noalias maybe_thread: ?*Thread) void {
// Un-spawn one thread, either due to a failed OS thread spawning or the thread is exiting.
- const one_spawned = @bitCast(u32, Sync{ .spawned = 1 });
- const sync = @bitCast(Sync, self.sync.fetchSub(one_spawned, .Release));
+ const one_spawned = @as(u32, @bitCast(Sync{ .spawned = 1 }));
+ const sync = @as(Sync, @bitCast(self.sync.fetchSub(one_spawned, .Release)));
assert(sync.spawned > 0);
// The last thread to exit must wake up the thread pool join()er
@@ -651,10 +651,10 @@ fn unregister(noalias self: *ThreadPool, noalias maybe_thread: ?*Thread) void {
fn join(self: *ThreadPool) void {
// Wait for the thread pool to be shutdown() then for all threads to enter a joinable state
- var sync = @bitCast(Sync, self.sync.load(.Monotonic));
+ var sync = @as(Sync, @bitCast(self.sync.load(.Monotonic)));
if (!(sync.state == .shutdown and sync.spawned == 0)) {
self.join_event.wait();
- sync = @bitCast(Sync, self.sync.load(.Monotonic));
+ sync = @as(Sync, @bitCast(self.sync.load(.Monotonic)));
}
assert(sync.state == .shutdown);
@@ -753,7 +753,7 @@ pub const Thread = struct {
}
// Then try work stealing from other threads
- var num_threads: u32 = @bitCast(Sync, thread_pool.sync.load(.Monotonic)).spawned;
+ var num_threads: u32 = @as(Sync, @bitCast(thread_pool.sync.load(.Monotonic))).spawned;
while (num_threads > 0) : (num_threads -= 1) {
// Traverse the stack of registered threads on the thread pool
const target = self.target orelse thread_pool.threads.load(.Acquire) orelse unreachable;
@@ -945,7 +945,7 @@ pub const Node = struct {
var stack = self.stack.load(.Monotonic);
while (true) {
// Attach the list to the stack (pt. 1)
- list.tail.next = @ptrFromInt(?*Node, stack & PTR_MASK);
+ list.tail.next = @as(?*Node, @ptrFromInt(stack & PTR_MASK));
// Update the stack with the list (pt. 2).
// Don't change the HAS_CACHE and IS_CONSUMING bits of the consumer.
@@ -985,7 +985,7 @@ pub const Node = struct {
new_stack,
.Acquire,
.Monotonic,
- ) orelse return self.cache orelse @ptrFromInt(*Node, stack & PTR_MASK);
+ ) orelse return self.cache orelse @as(*Node, @ptrFromInt(stack & PTR_MASK));
}
}
@@ -1022,7 +1022,7 @@ pub const Node = struct {
assert(stack & IS_CONSUMING != 0);
assert(stack & PTR_MASK != 0);
- const node = @ptrFromInt(*Node, stack & PTR_MASK);
+ const node = @as(*Node, @ptrFromInt(stack & PTR_MASK));
consumer_ref.* = node.next;
return node;
}
diff --git a/src/toml/toml_lexer.zig b/src/toml/toml_lexer.zig
index 7d576af86..701a91d99 100644
--- a/src/toml/toml_lexer.zig
+++ b/src/toml/toml_lexer.zig
@@ -150,7 +150,7 @@ pub const Lexer = struct {
const code_point = switch (slice.len) {
0 => -1,
1 => @as(CodePoint, slice[0]),
- else => strings.decodeWTF8RuneTMultibyte(slice.ptr[0..4], @intCast(u3, slice.len), CodePoint, strings.unicode_replacement),
+ else => strings.decodeWTF8RuneTMultibyte(slice.ptr[0..4], @as(u3, @intCast(slice.len)), CodePoint, strings.unicode_replacement),
};
it.end = it.current;
@@ -464,9 +464,9 @@ pub const Lexer = struct {
// Parse a 32-bit integer (very fast path);
var number: u32 = 0;
for (text) |c| {
- number = number * 10 + @intCast(u32, c - '0');
+ number = number * 10 + @as(u32, @intCast(c - '0'));
}
- lexer.number = @floatFromInt(f64, number);
+ lexer.number = @as(f64, @floatFromInt(number));
} else {
// Parse a double-precision floating-point number;
if (std.fmt.parseFloat(f64, text)) |num| {
@@ -910,10 +910,10 @@ pub const Lexer = struct {
},
}
- iter.c = @intCast(i32, value);
+ iter.c = @as(i32, @intCast(value));
if (is_bad) {
lexer.addRangeError(
- logger.Range{ .loc = .{ .start = @intCast(i32, octal_start) }, .len = @intCast(i32, iter.i - octal_start) },
+ logger.Range{ .loc = .{ .start = @as(i32, @intCast(octal_start)) }, .len = @as(i32, @intCast(iter.i - octal_start)) },
"Invalid legacy octal literal",
.{},
false,
@@ -1025,7 +1025,7 @@ pub const Lexer = struct {
if (is_out_of_range) {
try lexer.addRangeError(
- .{ .loc = .{ .start = @intCast(i32, start + hex_start) }, .len = @intCast(i32, (iter.i - hex_start)) },
+ .{ .loc = .{ .start = @as(i32, @intCast(start + hex_start)) }, .len = @as(i32, @intCast((iter.i - hex_start))) },
"Unicode escape sequence is out of range",
.{},
true,
@@ -1064,7 +1064,7 @@ pub const Lexer = struct {
}
}
- iter.c = @truncate(CodePoint, value);
+ iter.c = @as(CodePoint, @truncate(value));
},
'\r' => {
if (comptime !allow_multiline) {
@@ -1098,7 +1098,7 @@ pub const Lexer = struct {
switch (iter.c) {
-1 => return try lexer.addDefaultError("Unexpected end of file"),
0...127 => {
- buf.append(@intCast(u8, iter.c)) catch unreachable;
+ buf.append(@as(u8, @intCast(iter.c))) catch unreachable;
},
else => {
var part: [4]u8 = undefined;
@@ -1215,5 +1215,5 @@ pub fn isLatin1Identifier(comptime Buffer: type, name: Buffer) bool {
}
inline fn float64(num: anytype) f64 {
- return @floatFromInt(f64, num);
+ return @as(f64, @floatFromInt(num));
}
diff --git a/src/tracy.zig b/src/tracy.zig
index 583a3be25..fb900442b 100644
--- a/src/tracy.zig
+++ b/src/tracy.zig
@@ -129,7 +129,7 @@ pub fn TracyAllocator(comptime name: ?[:0]const u8) type {
}
fn allocFn(ptr: *anyopaque, len: usize, ptr_align: u8, ret_addr: usize) ?[*]u8 {
- const self = @ptrCast(*Self, @alignCast(@alignOf(Self), ptr));
+ const self = @as(*Self, @ptrCast(@alignCast(ptr)));
const result = self.parent_allocator.rawAlloc(len, ptr_align, ret_addr);
if (result) |data| {
if (len != 0) {
@@ -146,7 +146,7 @@ pub fn TracyAllocator(comptime name: ?[:0]const u8) type {
}
fn resizeFn(ptr: *anyopaque, buf: []u8, buf_align: u8, new_len: usize, ret_addr: usize) bool {
- const self = @ptrCast(*Self, @alignCast(@alignOf(Self), ptr));
+ const self = @as(*Self, @ptrCast(@alignCast(ptr)));
if (self.parent_allocator.rawResize(buf, buf_align, new_len, ret_addr)) {
if (name) |n| {
freeNamed(buf.ptr, n);
@@ -165,7 +165,7 @@ pub fn TracyAllocator(comptime name: ?[:0]const u8) type {
}
fn freeFn(ptr: *anyopaque, buf: []u8, buf_align: u8, ret_addr: usize) void {
- const self = @ptrCast(*Self, @alignCast(@alignOf(Self), ptr));
+ const self = @as(*Self, @ptrCast(@alignCast(ptr)));
self.parent_allocator.rawFree(buf, buf_align, ret_addr);
// this condition is to handle free being called on an empty slice that was never even allocated
// example case: `std.process.getSelfExeSharedLibPaths` can return `&[_][:0]u8{}`
diff --git a/src/url.zig b/src/url.zig
index af13b139c..550704491 100644
--- a/src/url.zig
+++ b/src/url.zig
@@ -254,14 +254,14 @@ pub const URL = struct {
}
if (strings.indexOfChar(base[offset..], '?')) |q| {
- offset += @intCast(u31, q);
+ offset += @as(u31, @intCast(q));
url.path = base[path_offset..][0..q];
can_update_path = false;
url.search = base[offset..];
}
if (strings.indexOfChar(base[offset..], '#')) |hash| {
- offset += @intCast(u31, hash);
+ offset += @as(u31, @intCast(hash));
hash_offset = offset;
if (can_update_path) {
url.path = base[path_offset..][0..hash];
@@ -304,7 +304,7 @@ pub const URL = struct {
url.pathname = "/";
}
- while (url.pathname.len > 1 and @bitCast(u16, url.pathname[0..2].*) == comptime std.mem.readIntNative(u16, "//")) {
+ while (url.pathname.len > 1 and @as(u16, @bitCast(url.pathname[0..2].*)) == comptime std.mem.readIntNative(u16, "//")) {
url.pathname = url.pathname[1..];
}
@@ -633,10 +633,10 @@ pub const QueryStringMap = struct {
var value = result.value;
const name_slice = result.rawName(scanner.pathname.routename);
- name.length = @truncate(u32, name_slice.len);
+ name.length = @as(u32, @truncate(name_slice.len));
name.offset = buf_writer_pos;
try writer.writeAll(name_slice);
- buf_writer_pos += @truncate(u32, name_slice.len);
+ buf_writer_pos += @as(u32, @truncate(name_slice.len));
var name_hash: u64 = bun.hash(name_slice);
@@ -844,7 +844,7 @@ pub const PercentEncoding = struct {
// scan ahead assuming .writeAll is faster than .writeByte one at a time
while (i < input.len and input[i] != '%') : (i += 1) {}
try writer.writeAll(input[start..i]);
- written += @truncate(u32, i - start);
+ written += @as(u32, @truncate(i - start));
},
}
}
@@ -933,7 +933,7 @@ pub const FormData = struct {
if (begin.len == 0)
return null;
- var boundary_end = strings.indexOfChar(begin, ';') orelse @truncate(u32, begin.len);
+ var boundary_end = strings.indexOfChar(begin, ';') orelse @as(u32, @truncate(begin.len));
if (begin[0] == '"' and boundary_end > 0 and begin[boundary_end -| 1] == '"') {
boundary_end -|= 1;
return begin[1..boundary_end];
@@ -1207,8 +1207,8 @@ fn stringPointerFromStrings(parent: string, in: string) Api.StringPointer {
}
return Api.StringPointer{
- .offset = @truncate(u32, i),
- .length = @truncate(u32, in.len),
+ .offset = @as(u32, @truncate(i)),
+ .length = @as(u32, @truncate(in.len)),
};
}
}
@@ -1301,7 +1301,7 @@ pub const Scanner = struct {
var slice = this.query_string[this.i..];
relative_i = 0;
- var name = Api.StringPointer{ .offset = @truncate(u32, this.i), .length = 0 };
+ var name = Api.StringPointer{ .offset = @as(u32, @truncate(this.i)), .length = 0 };
var value = Api.StringPointer{ .offset = 0, .length = 0 };
var name_needs_decoding = false;
@@ -1309,10 +1309,10 @@ pub const Scanner = struct {
const char = slice[relative_i];
switch (char) {
'=' => {
- name.length = @truncate(u32, relative_i);
+ name.length = @as(u32, @truncate(relative_i));
relative_i += 1;
- value.offset = @truncate(u32, relative_i + this.i);
+ value.offset = @as(u32, @truncate(relative_i + this.i));
const offset = relative_i;
var value_needs_decoding = false;
@@ -1322,7 +1322,7 @@ pub const Scanner = struct {
else => false,
};
}
- value.length = @truncate(u32, relative_i - offset);
+ value.length = @as(u32, @truncate(relative_i - offset));
// If the name is empty and it's just a value, skip it.
// This is kind of an opinion. But, it's hard to see where that might be intentional.
if (name.length == 0) return null;
@@ -1334,7 +1334,7 @@ pub const Scanner = struct {
'&' => {
// key&
if (relative_i > 0) {
- name.length = @truncate(u32, relative_i);
+ name.length = @as(u32, @truncate(relative_i));
return Result{ .name = name, .value = value, .name_needs_decoding = name_needs_decoding, .value_needs_decoding = false };
}
@@ -1355,7 +1355,7 @@ pub const Scanner = struct {
return null;
}
- name.length = @truncate(u32, relative_i);
+ name.length = @as(u32, @truncate(relative_i));
return Result{ .name = name, .value = value, .name_needs_decoding = name_needs_decoding };
}
}
diff --git a/src/util.zig b/src/util.zig
index 1664cadd9..671e9fc27 100644
--- a/src/util.zig
+++ b/src/util.zig
@@ -218,7 +218,7 @@ pub fn fromSlice(
map.items.len = default.len;
slice = map.items;
} else if (comptime @hasField(Array, "len")) {
- map.len = @intCast(u32, default.len);
+ map.len = @as(u32, @intCast(default.len));
slice = map.slice();
} else {
@compileError("Cannot set length of " ++ @typeName(Array));
@@ -229,8 +229,8 @@ pub fn fromSlice(
slice = try allocator.alloc(Of(Array), default.len);
map = .{
.ptr = slice.ptr,
- .len = @truncate(u32, default.len),
- .cap = @truncate(u32, default.len),
+ .len = @as(u32, @truncate(default.len)),
+ .cap = @as(u32, @truncate(default.len)),
};
}
@@ -269,7 +269,7 @@ pub fn Batcher(comptime Type: type) type {
}
pub inline fn eat(this: *@This(), value: Type) *Type {
- return @ptrCast(*Type, &this.head.eat1(value).ptr);
+ return @as(*Type, @ptrCast(&this.head.eat1(value).ptr));
}
pub inline fn eat1(this: *@This(), value: Type) []Type {
diff --git a/src/watcher.zig b/src/watcher.zig
index e3b3600ad..aded993e8 100644
--- a/src/watcher.zig
+++ b/src/watcher.zig
@@ -73,7 +73,7 @@ pub const INotify = struct {
// it includes alignment / padding
// but it is a sentineled value
// so we can just trim it to the first null byte
- return bun.sliceTo(@ptrFromInt([*:0]u8, @intFromPtr(&this.name_len) + @sizeOf(u32)), 0)[0.. :0];
+ return bun.sliceTo(@as([*:0]u8, @ptrFromInt(@intFromPtr(&this.name_len) + @sizeOf(u32))), 0)[0.. :0];
}
};
pub var inotify_fd: EventListIndex = 0;
@@ -131,13 +131,13 @@ pub const INotify = struct {
Futex.wait(&watch_count, 0, null) catch unreachable;
const rc = std.os.system.read(
inotify_fd,
- @ptrCast([*]u8, @alignCast(@alignOf([*]u8), &eventlist)),
+ @as([*]u8, @ptrCast(@alignCast(&eventlist))),
@sizeOf(EventListBuffer),
);
switch (std.os.errno(rc)) {
.SUCCESS => {
- var len = @intCast(usize, rc);
+ var len = @as(usize, @intCast(rc));
if (len == 0) return &[_]*INotifyEvent{};
@@ -154,12 +154,12 @@ pub const INotify = struct {
while (true) {
const new_rc = std.os.system.read(
inotify_fd,
- @ptrCast([*]u8, @alignCast(@alignOf([*]u8), &eventlist)) + len,
+ @as([*]u8, @ptrCast(@alignCast(&eventlist))) + len,
@sizeOf(EventListBuffer) - len,
);
switch (std.os.errno(new_rc)) {
.SUCCESS => {
- len += @intCast(usize, new_rc);
+ len += @as(usize, @intCast(new_rc));
},
.AGAIN => continue,
.INTR => continue,
@@ -186,7 +186,7 @@ pub const INotify = struct {
var i: u32 = 0;
while (i < len) : (i += @sizeOf(INotifyEvent)) {
@setRuntimeSafety(false);
- var event = @ptrCast(*INotifyEvent, @alignCast(@alignOf(*INotifyEvent), eventlist[i..][0..@sizeOf(INotifyEvent)]));
+ var event = @as(*INotifyEvent, @ptrCast(@alignCast(eventlist[i..][0..@sizeOf(INotifyEvent)])));
i += event.name_len;
eventlist_ptrs[count] = event;
@@ -284,7 +284,7 @@ pub const WatchEvent = struct {
pub fn ignoreINotifyEvent(event: INotify.INotifyEvent) bool {
var stack: WatchEvent = undefined;
stack.fromINotify(event, 0);
- return @bitCast(std.meta.Int(.unsigned, @bitSizeOf(Op)), stack.op) == 0;
+ return @as(std.meta.Int(.unsigned, @bitSizeOf(Op)), @bitCast(stack.op)) == 0;
}
pub fn names(this: WatchEvent, buf: []?[:0]u8) []?[:0]u8 {
@@ -319,7 +319,7 @@ pub const WatchEvent = struct {
.rename = (kevent.fflags & (std.c.NOTE_RENAME | std.c.NOTE_LINK)) > 0,
.write = (kevent.fflags & std.c.NOTE_WRITE) > 0,
},
- .index = @truncate(WatchItemIndex, kevent.udata),
+ .index = @as(WatchItemIndex, @truncate(kevent.udata)),
};
}
@@ -377,7 +377,7 @@ pub fn NewWatcher(comptime ContextType: type) type {
var evict_list: [WATCHER_MAX_LIST]WatchItemIndex = undefined;
pub fn getHash(filepath: string) HashType {
- return @truncate(HashType, bun.hash(filepath));
+ return @as(HashType, @truncate(bun.hash(filepath)));
}
pub fn init(ctx: ContextType, fs: *Fs.FileSystem, allocator: std.mem.Allocator) !*Watcher {
@@ -464,7 +464,7 @@ pub fn NewWatcher(comptime ContextType: type) type {
if (comptime kind == .directory) {
for (parents) |parent| {
if (parent == hash) {
- evict_list[evict_list_i] = @truncate(WatchItemIndex, parent);
+ evict_list[evict_list_i] = @as(WatchItemIndex, @truncate(parent));
evict_list_i += 1;
}
}
@@ -538,9 +538,9 @@ pub fn NewWatcher(comptime ContextType: type) type {
var timespec = std.os.timespec{ .tv_sec = 0, .tv_nsec = 100_000 };
const extra = std.os.system.kevent(
DarwinWatcher.fd,
- @as([*]KEvent, changelist[@intCast(usize, count_)..].ptr),
+ @as([*]KEvent, changelist[@as(usize, @intCast(count_))..].ptr),
0,
- @as([*]KEvent, changelist[@intCast(usize, count_)..].ptr),
+ @as([*]KEvent, changelist[@as(usize, @intCast(count_))..].ptr),
remain,
&timespec,
@@ -549,7 +549,7 @@ pub fn NewWatcher(comptime ContextType: type) type {
count_ += extra;
}
- var changes = changelist[0..@intCast(usize, @max(0, count_))];
+ var changes = changelist[0..@as(usize, @intCast(@max(0, count_)))];
var watchevents = this.watch_events[0..changes.len];
var out_len: usize = 0;
if (changes.len > 0) {
@@ -603,13 +603,13 @@ pub fn NewWatcher(comptime ContextType: type) type {
for (slice) |event| {
watchevents[watch_event_id].fromINotify(
event.*,
- @intCast(
+ @as(
WatchItemIndex,
- std.mem.indexOfScalar(
+ @intCast(std.mem.indexOfScalar(
INotify.EventListIndex,
eventlist_index,
event.watch_descriptor,
- ) orelse continue,
+ ) orelse continue),
),
);
temp_name_list[temp_name_off] = if (event.name_len > 0)
@@ -661,7 +661,7 @@ pub fn NewWatcher(comptime ContextType: type) type {
pub fn indexOf(this: *Watcher, hash: HashType) ?u32 {
for (this.watchlist.items(.hash), 0..) |other, i| {
if (hash == other) {
- return @truncate(u32, i);
+ return @as(u32, @truncate(i));
}
}
return null;
@@ -725,10 +725,10 @@ pub fn NewWatcher(comptime ContextType: type) type {
event.fflags = std.c.NOTE_WRITE | std.c.NOTE_RENAME | std.c.NOTE_DELETE;
// id
- event.ident = @intCast(usize, fd);
+ event.ident = @as(usize, @intCast(fd));
// Store the hash for fast filtering later
- event.udata = @intCast(usize, watchlist_id);
+ event.udata = @as(usize, @intCast(watchlist_id));
var events: [1]KEvent = .{event};
// This took a lot of work to figure out the right permutation
@@ -777,7 +777,7 @@ pub fn NewWatcher(comptime ContextType: type) type {
if (fd_ > 0) break :brk fd_;
const dir = try std.fs.cwd().openIterableDir(file_path, .{});
- break :brk @truncate(StoredFileDescriptorType, dir.dir.fd);
+ break :brk @as(StoredFileDescriptorType, @truncate(dir.dir.fd));
};
const parent_hash = Watcher.getHash(Fs.PathName.init(file_path).dirWithTrailingSlash());
@@ -807,10 +807,10 @@ pub fn NewWatcher(comptime ContextType: type) type {
event.fflags = std.c.NOTE_WRITE | std.c.NOTE_RENAME | std.c.NOTE_DELETE;
// id
- event.ident = @intCast(usize, fd);
+ event.ident = @as(usize, @intCast(fd));
// Store the hash for fast filtering later
- event.udata = @intCast(usize, watchlist_id);
+ event.udata = @as(usize, @intCast(watchlist_id));
var events: [1]KEvent = .{event};
// This took a lot of work to figure out the right permutation
@@ -845,7 +845,7 @@ pub fn NewWatcher(comptime ContextType: type) type {
.kind = .directory,
.package_json = null,
});
- return @truncate(WatchItemIndex, this.watchlist.len - 1);
+ return @as(WatchItemIndex, @truncate(this.watchlist.len - 1));
}
pub inline fn isEligibleDirectory(this: *Watcher, dir: string) bool {
@@ -898,18 +898,18 @@ pub fn NewWatcher(comptime ContextType: type) type {
if (dir_fd > 0) {
var fds = watchlist_slice.items(.fd);
if (std.mem.indexOfScalar(StoredFileDescriptorType, fds, dir_fd)) |i| {
- parent_watch_item = @truncate(WatchItemIndex, i);
+ parent_watch_item = @as(WatchItemIndex, @truncate(i));
}
}
if (parent_watch_item == null) {
const hashes = watchlist_slice.items(.hash);
if (std.mem.indexOfScalar(HashType, hashes, parent_dir_hash)) |i| {
- parent_watch_item = @truncate(WatchItemIndex, i);
+ parent_watch_item = @as(WatchItemIndex, @truncate(i));
}
}
}
- try this.watchlist.ensureUnusedCapacity(this.allocator, 1 + @intCast(usize, @intFromBool(parent_watch_item == null)));
+ try this.watchlist.ensureUnusedCapacity(this.allocator, 1 + @as(usize, @intCast(@intFromBool(parent_watch_item == null))));
if (autowatch_parent_dir) {
parent_watch_item = parent_watch_item orelse try this.appendDirectoryAssumeCapacity(dir_fd, parent_dir, parent_dir_hash, copy_file_path);
diff --git a/src/which.zig b/src/which.zig
index 8c29e7e4a..69356e611 100644
--- a/src/which.zig
+++ b/src/which.zig
@@ -7,7 +7,7 @@ fn isValid(buf: *[bun.MAX_PATH_BYTES]u8, segment: []const u8, bin: []const u8) ?
buf[segment.len + 1 + bin.len ..][0] = 0;
const filepath = buf[0 .. segment.len + 1 + bin.len :0];
if (!checkPath(filepath)) return null;
- return @intCast(u16, filepath.len);
+ return @as(u16, @intCast(filepath.len));
}
extern "C" fn is_executable_file(path: [*:0]const u8) bool;
diff --git a/src/work_pool.zig b/src/work_pool.zig
index cb59c0143..7e1fda872 100644
--- a/src/work_pool.zig
+++ b/src/work_pool.zig
@@ -13,7 +13,7 @@ pub fn NewWorkPool(comptime max_threads: ?usize) type {
@setCold(true);
pool = ThreadPool.init(.{
- .max_threads = max_threads orelse @max(@truncate(u32, std.Thread.getCpuCount() catch 0), 2),
+ .max_threads = max_threads orelse @max(@as(u32, @truncate(std.Thread.getCpuCount() catch 0)), 2),
.stack_size = 2 * 1024 * 1024,
});
return &pool;
diff --git a/src/wyhash.zig b/src/wyhash.zig
index bd5cbf62b..acb100682 100644
--- a/src/wyhash.zig
+++ b/src/wyhash.zig
@@ -25,7 +25,7 @@ fn read_8bytes_swapped(data: []const u8) u64 {
fn mum(a: u64, b: u64) u64 {
var r = std.math.mulWide(u64, a, b);
r = (r >> 64) ^ r;
- return @truncate(u64, r);
+ return @as(u64, @truncate(r));
}
fn mix0(a: u64, b: u64, seed: u64) u64 {
@@ -80,7 +80,7 @@ const WyhashStateless = struct {
std.debug.assert(b.len < 32);
const seed = self.seed;
- const rem_len = @intCast(u5, b.len);
+ const rem_len = @as(u5, @intCast(b.len));
const rem_key = b[0..rem_len];
self.seed = switch (rem_len) {
@@ -164,7 +164,7 @@ pub const Wyhash = struct {
self.state.update(b[off .. off + aligned_len]);
mem.copy(u8, self.buf[self.buf_len..], b[off + aligned_len ..]);
- self.buf_len += @intCast(u8, b[off + aligned_len ..].len);
+ self.buf_len += @as(u8, @intCast(b[off + aligned_len ..].len));
}
pub fn final(self: *Wyhash) u64 {
diff --git a/src/zlib.zig b/src/zlib.zig
index b85ddf431..d79965a2a 100644
--- a/src/zlib.zig
+++ b/src/zlib.zig
@@ -242,7 +242,7 @@ pub fn NewZlibReader(comptime Writer: type, comptime buffer_size: usize) type {
state: State = State.Uninitialized,
pub fn alloc(ctx: *anyopaque, items: uInt, len: uInt) callconv(.C) *anyopaque {
- var this = @ptrCast(*ZlibReader, @alignCast(@alignOf(*ZlibReader), ctx));
+ var this = @as(*ZlibReader, @ptrCast(@alignCast(ctx)));
const buf = this.arena.allocator().alloc(u8, items * len) catch unreachable;
return buf.ptr;
}
@@ -277,8 +277,8 @@ pub fn NewZlibReader(comptime Writer: type, comptime buffer_size: usize) type {
zlib_reader.zlib = zStream_struct{
.next_in = input.ptr,
- .avail_in = @intCast(uInt, input.len),
- .total_in = @intCast(uInt, input.len),
+ .avail_in = @as(uInt, @intCast(input.len)),
+ .total_in = @as(uInt, @intCast(input.len)),
.next_out = &zlib_reader.buf,
.avail_out = buffer_size,
@@ -426,7 +426,7 @@ pub const ZlibReaderArrayList = struct {
state: State = State.Uninitialized,
pub fn alloc(ctx: *anyopaque, items: uInt, len: uInt) callconv(.C) *anyopaque {
- var this = @ptrCast(*ZlibReader, @alignCast(@alignOf(*ZlibReader), ctx));
+ var this = @as(*ZlibReader, @ptrCast(@alignCast(ctx)));
const buf = this.allocator.alloc(u8, items * len) catch unreachable;
return buf.ptr;
}
@@ -478,11 +478,11 @@ pub const ZlibReaderArrayList = struct {
zlib_reader.zlib = zStream_struct{
.next_in = input.ptr,
- .avail_in = @intCast(uInt, input.len),
- .total_in = @intCast(uInt, input.len),
+ .avail_in = @as(uInt, @intCast(input.len)),
+ .total_in = @as(uInt, @intCast(input.len)),
.next_out = zlib_reader.list.items.ptr,
- .avail_out = @intCast(u32, zlib_reader.list.items.len),
+ .avail_out = @as(u32, @intCast(zlib_reader.list.items.len)),
.total_out = zlib_reader.list.items.len,
.err_msg = null,
@@ -562,7 +562,7 @@ pub const ZlibReaderArrayList = struct {
try this.list.ensureUnusedCapacity(this.list_allocator, 4096);
this.list.expandToCapacity();
this.zlib.next_out = &this.list.items[initial];
- this.zlib.avail_out = @intCast(u32, this.list.items.len - initial);
+ this.zlib.avail_out = @as(u32, @intCast(this.list.items.len - initial));
}
if (this.zlib.avail_in == 0) {
@@ -833,7 +833,7 @@ pub const ZlibCompressorArrayList = struct {
state: State = State.Uninitialized,
pub fn alloc(ctx: *anyopaque, items: uInt, len: uInt) callconv(.C) *anyopaque {
- var this = @ptrCast(*ZlibCompressor, @alignCast(@alignOf(*ZlibCompressor), ctx));
+ var this = @as(*ZlibCompressor, @ptrCast(@alignCast(ctx)));
const buf = this.allocator.alloc(u8, items * len) catch unreachable;
return buf.ptr;
}
@@ -873,11 +873,11 @@ pub const ZlibCompressorArrayList = struct {
zlib_reader.zlib = zStream_struct{
.next_in = input.ptr,
- .avail_in = @intCast(uInt, input.len),
- .total_in = @intCast(uInt, input.len),
+ .avail_in = @as(uInt, @intCast(input.len)),
+ .total_in = @as(uInt, @intCast(input.len)),
.next_out = zlib_reader.list.items.ptr,
- .avail_out = @intCast(u32, zlib_reader.list.items.len),
+ .avail_out = @as(u32, @intCast(zlib_reader.list.items.len)),
.total_out = zlib_reader.list.items.len,
.err_msg = null,
@@ -905,7 +905,7 @@ pub const ZlibCompressorArrayList = struct {
ReturnCode.Ok => {
try zlib_reader.list.ensureTotalCapacityPrecise(allocator, deflateBound(&zlib_reader.zlib, input.len));
zlib_reader.list_ptr.* = zlib_reader.list;
- zlib_reader.zlib.avail_out = @truncate(uInt, zlib_reader.list.capacity);
+ zlib_reader.zlib.avail_out = @as(uInt, @truncate(zlib_reader.list.capacity));
zlib_reader.zlib.next_out = zlib_reader.list.items.ptr;
return zlib_reader;
@@ -973,7 +973,7 @@ pub const ZlibCompressorArrayList = struct {
try this.list.ensureUnusedCapacity(this.list_allocator, 4096);
this.list.expandToCapacity();
this.zlib.next_out = &this.list.items[initial];
- this.zlib.avail_out = @intCast(u32, this.list.items.len - initial);
+ this.zlib.avail_out = @as(u32, @intCast(this.list.items.len - initial));
}
if (this.zlib.avail_out == 0) {