ajhahn.de
← Flash
Zig 31 lines
// Evaluator probe sources exposed as bytes for the probe suite. The probes
// live under this directory, so embedding them from here keeps every path
// inside the module root — a test file in tests/ cannot @embedFile across
// directories. Add a new entry here when you add a probe.
//
// A pass/ probe must check clean; a reject/ probe carries one
// `// expect-error: <fragment>` marker per expected diagnostic, on the line
// the diagnostic must land on (tests/eval_probes.zig holds the contract).

pub const Probe = struct {
    name: []const u8,
    src: []const u8,
};

pub const pass = [_]Probe{
    .{ .name = "pass/folding.flash", .src = @embedFile("pass/folding.flash") },
    .{ .name = "pass/dead_arms.flash", .src = @embedFile("pass/dead_arms.flash") },
    .{ .name = "pass/generics_well_formed.flash", .src = @embedFile("pass/generics_well_formed.flash") },
    .{ .name = "pass/silent_boundaries.flash", .src = @embedFile("pass/silent_boundaries.flash") },
    .{ .name = "pass/generic_boundaries.flash", .src = @embedFile("pass/generic_boundaries.flash") },
};

pub const reject = [_]Probe{
    .{ .name = "reject/div_by_zero.flash", .src = @embedFile("reject/div_by_zero.flash") },
    .{ .name = "reject/definite_in_bodies.flash", .src = @embedFile("reject/definite_in_bodies.flash") },
    .{ .name = "reject/generic_arity.flash", .src = @embedFile("reject/generic_arity.flash") },
    .{ .name = "reject/generic_kind.flash", .src = @embedFile("reject/generic_kind.flash") },
    .{ .name = "reject/instance_kind.flash", .src = @embedFile("reject/instance_kind.flash") },
    .{ .name = "reject/runaway_instantiation.flash", .src = @embedFile("reject/runaway_instantiation.flash") },
};