Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiler fails to build #21850

Open
joelreymont opened this issue Oct 29, 2024 · 2 comments
Open

Compiler fails to build #21850

joelreymont opened this issue Oct 29, 2024 · 2 comments
Labels
bug Observed behavior contradicts documented or intended behavior

Comments

@joelreymont
Copy link

joelreymont commented Oct 29, 2024

Zig Version

0.14.0-dev.2052+6a364b4a5

Steps to Reproduce and Observed Behavior

Trying to compile this

const std = @import("std");

pub fn main() !void {
    var gpa = std.heap.GeneralPurposeAllocator(.{}){};
    const allocator = gpa.allocator();
    const value = toValue(10)(allocator, 20);
    std.debug.print("All your {s} are belong to us.\n", .{value});
}

fn toValue(comptime value: anytype) fn (std.mem.Allocator, anytype) anyerror!@TypeOf(value) {
    return struct {
        fn toValue(_: std.mem.Allocator, _: anytype) !@TypeOf(value) {
            return value;
        }
    }.toValue;
}

gives me this error

❯ zig build
install
└─ install test
   └─ zig build-exe test Debug native failure
error: the following command terminated unexpectedly:
/usr/local/bin/zig build-exe -ODebug -Mroot=/Users/joelr/Work/Zig/test/src/main.zig --cache-dir /Users/joelr/Work/Zig/test/.zig-cache --global-cache-dir /Users/joelr/.cache/zig --name test --zig-lib-dir /usr/local/lib/zig/ --listen=-
Build Summary: 0/3 steps succeeded; 1 failed
install transitive failure
└─ install test transitive failure
   └─ zig build-exe test Debug native failure
error: the following build command failed with exit code 1:
/Users/joelr/Work/Zig/test/.zig-cache/o/4ae0111ced83033f2da7f7f079d783c5/build /usr/local/bin/zig /usr/local/lib/zig /Users/joelr/Work/Zig/test /Users/joelr/Work/Zig/test/.zig-cache /Users/joelr/.cache/zig --seed 0x55c54982 -Z381019e07a3ef546

Expected Behavior

Build should finish.

@joelreymont joelreymont added the bug Observed behavior contradicts documented or intended behavior label Oct 29, 2024
@joelreymont
Copy link
Author

Folks here tried to reduce the code

const std = @import("std");

pub fn main() void {
    _ = &toValue(10);
}

fn toValue(comptime value: anytype) fn (anytype) @TypeOf(value) {
    return struct {
        fn toValue(_: anytype) @TypeOf(value) {
            return value;
        }
    }.toValue;
}

and made the compiler run out of memory.

$ zig build run
run
└─ run t
   └─ zig build-exe t Debug native failure
error: error: OutOfMemory

error: the following command exited with error code 1:
/home/joe/.local/bin/zig build-exe -ODebug -Mroot=/home/joe/dev/test/t/src/main.zig --cache-dir /home/joe/dev/test/t/.zig-cache --global-cache-dir /home/joe/.cache/zig --name t --zig-lib-dir /home/joe/.local/lib/zig/ --listen=-
Build Summary: 2/7 steps succeeded; 1 failed
run transitive failure
└─ run t transitive failure
   ├─ zig build-exe t Debug native failure
   └─ install transitive failure
      └─ install t transitive failure
         └─ zig build-exe t Debug native (reused)
error: the following build command failed with exit code 1:
/home/joe/dev/test/t/.zig-cache/o/d6ab6ac316016b1fb96986f35985df59/build /home/joe/.local/bin/zig /home/joe/.local/lib/zig /home/joe/dev/test/t /home/joe/dev/test/t/.zig-cache /home/joe/.cache/zig --seed 0xcf2b4b4d -Zfb3c70f1c60d0fa9 run

@Rexicon226
Copy link
Contributor

Possibly a duplicate of #21099?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Observed behavior contradicts documented or intended behavior
Projects
None yet
Development

No branches or pull requests

2 participants