zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit cba155510431104fcfe2f6b61e955bc4d42927fb (tree)
parent 5d389535e875f3d1b4865fc10fb79317b26c5ed7
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Tue, 19 Mar 2024 17:02:04 -0700

std: don't do BYOS at the POSIX API layer

This was a mistake from day one. This is the wrong abstraction layer to
do this in.

My alternate plan for this is to make all I/O operations require an IO
interface parameter, similar to how allocations require an Allocator
interface parameter today.

Diffstat:
Mlib/std/posix.zig | 8++------
1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/lib/std/posix.zig b/lib/std/posix.zig @@ -39,12 +39,8 @@ const linux = std.os.linux; const windows = std.os.windows; const wasi = std.os.wasi; -/// Applications can override the `system` API layer in their root source file. -/// Otherwise, when linking libc, this is the C API. -/// When not linking libc, it is the OS-specific system interface. -pub const system = if (@hasDecl(root, "os") and @hasDecl(root.os, "system") and root.os != @This()) - root.os.system -else if (use_libc) +/// A libc-compatible API layer. +pub const system = if (use_libc) std.c else switch (native_os) { .linux => linux,