1SECTION "fixed", ROM0[0] 2 3FixedBase: 4 assert FixedBase ; This should eval (and fail) at compile time 5 6 ds 0 7 static_assert @ == 0, "@ ain't 0 now? (Hint: it's {@})" 8 9 ds 42 10 assert WARN, @ - FixedBase != 42 ; This should also eval at compile time 11 12SECTION "floating", ROM0 13 14FloatingBase: 15 assert FAIL, FloatingBase == 0 ; This shouldn't eval at compile time 16 17 ds 4 18 static_assert FAIL, FloatingBase != 0 ; This is not constant! 19 20 ds 69 21 static_assert FATAL, FixedBase != 0 ; This will fail... ↓ 22 ; The point of `FATAL` is for stuff that can, say, cause division by 0! 23 static_assert FAIL, 1 / FixedBase, "You dun goofed, son" ; Won't be read 24