// time-typeerror.el — Instant + Instant is structurally meaningless.
// Path taken: COMPILE-TIME error. The codegen records the violation in the
// __time_violations accumulator; emit_time_violations writes a #error
// directive at the top of the generated C, so cc fails the build with a
// clear El-source-level message before any link step.
//
// This file is NOT expected to compile to a working binary. The runner
// asserts that:
//   1. elc emits the C source successfully (the violation is recorded but
//      codegen still completes — the #error sits at the bottom).
//   2. cc on that C fails with the temporal-type-error message.

// `test` is reserved; using `run_test` instead.
fn run_test() -> Int {
    let a: Instant = now()
    let b: Instant = now()
    let bad: Instant = a + b
    return 0
}

fn main() -> Void {
    let r: Int = run_test()
}
