Files
bux-lang/tests/golden/algebraic_enums/src/Main.bux
T
dimgigov 265bda850d test: expand golden C-codegen tests from 2 to 8 examples
Add golden tests for: structs, generics, algebraic_enums, enums,
methods, strings. Each test captures the expected C output from the
bootstrap compiler for regression detection.

Also remove leftover 'PARSER FIX V2 ACTIVE' debug print from parser.bux.
2026-06-09 15:58:44 +03:00

30 lines
579 B
Plaintext

// Algebraic Enums - Enums with data (tagged unions)
import Std::Io::{PrintLine, PrintInt};
enum Result {
Ok(int),
Err(String)
}
func Main() -> int {
let r1: Result = Result { tag: Result_Ok };
r1.data.Ok_0 = 42;
let r2: Result = Result { tag: Result_Err };
r2.data.Err_0 = "error message";
if r1.tag == Result_Ok {
PrintLine("r1 is Ok:");
PrintInt(r1.data.Ok_0);
PrintLine("");
}
if r2.tag == Result_Err {
PrintLine("r2 is Err:");
PrintLine(r2.data.Err_0);
}
return 0;
}