✗
Failing This test is currently failing.
Failed: backend-exec
Error Details
output_emitted.zig:159:54: error: type '[]const u8' does not support struct initialization syntax
Failure Output
🎯 Compiler coordination: Passes: 20 (flow-based: elaborate, analysis, emission)
Error: output_emitted.zig:159:54: error: type '[]const u8' does not support struct initialization syntax
return .{ .@"response" = "HTTP/1.1 200 OK" };
^~~~~~~~~~~~~~~~~
referenced by:
flow0: output_emitted.zig:57:123
main: output_emitted.zig:296:22
4 reference(s) hidden; use '-freference-trace=6' to see all references Code
// Test 836: Complex multi-module flow with directory imports
//
// Tests realistic HTTP server pattern using multiple modules from same package
// Demonstrates: net/tcp:server.listen() → net/tcp:connection.read() → net/http:request.parse()
const std = @import("std");
~import app/lib/net
// HTTP server flow using multiple modules from 'net' package
~app/lib/net/tcp:server.listen(port: 8080)
| listening server_id |> app/lib/net/tcp:server.accept(server_id)
| connection conn_id |> app/lib/net/tcp:connection.read(conn_id)
| data bytes |> app/lib/net/http:request.parse(bytes)
| request _ |> app/lib/net/http:response.build(status: 200, body: "OK")
| response resp |> app/lib/net/tcp:connection.write(conn_id, data: resp)
| sent _ |> _
| failed _ |> _
| invalid _ |> app/lib/net/http:response.build(status: 400, body: "Bad Request")
| response resp |> app/lib/net/tcp:connection.write(conn_id, data: resp)
| sent _ |> _
| failed _ |> _
| failed _ |> _
| failed _ |> _
| failed _ |> _
Expected output
listening on port 8080
accepted on server 1
read from conn 100
parsed request (14 bytes)
built response status 200
wrote 15 bytes to conn 100
Flows
flow ~server.listen click a branch to expand · @labels scroll to their anchor
server.listen (port: 8080)
Imported Files
// HTTP protocol module
const std = @import("std");
~pub tor request.parse { bytes: string }
| request { method: string, path: string }
| invalid string
~pub tor response.build { status: i32, body: string } -> string
~proc request.parse|zig {
std.debug.print("parsed request ({} bytes)\n", .{bytes.len});
return .{ .@"request" = .{ .method = "GET", .path = "/" } };
}
~proc response.build|zig {
std.debug.print("built response status {}\n", .{status});
return .{ .@"response" = "HTTP/1.1 200 OK" };
}
// TCP networking module
const std = @import("std");
~pub tor server.listen { port: i32 }
| listening i32
| failed string
~pub tor server.accept { server_id: i32 }
| connection i32
| failed string
~pub tor connection.read { conn_id: i32 }
| data string
| failed string
~pub tor connection.write { conn_id: i32, data: string }
| sent i32
| failed string
~proc server.listen|zig {
std.debug.print("listening on port {}\n", .{port});
return .{ .@"listening" = 1 };
}
~proc server.accept|zig {
std.debug.print("accepted on server {}\n", .{server_id});
return .{ .@"connection" = 100 };
}
~proc connection.read|zig {
std.debug.print("read from conn {}\n", .{conn_id});
return .{ .@"data" = "GET / HTTP/1.1" };
}
~proc connection.write|zig {
std.debug.print("wrote {} bytes to conn {}\n", .{ data.len, conn_id });
return .{ .@"sent" = 100 };
}
Test Configuration
MUST_RUN