;;;; The same bare-() body, on a macro that takes an argument before it. ;;;; ;;;; Two guard shapes, so two programs. with-drawing's body starts at argument ;;;; zero; with-mode-2d's starts at argument one, after the camera, so the ;;;; check is "exactly the minimum arguments, and the last of them is ()" ;;;; rather than "one argument and it is ()". A guard written only for the ;;;; first shape would leave the four siblings that take an argument exactly ;;;; where with-drawing was. ;;;; ;;;; The camera is real here on purpose: the refusal has to be about the body ;;;; and not about the camera, and a () in the camera position is deliberately ;;;; not this guard's business. ;;;; ;;;; Being refused is the whole test; this is never built. (import rl "vendor:raylib") (defn main [] i32 (let [c (rl/Camera2D {})] (rl/with-mode-2d c ())) 0)