; Fieldtest fixture — Axis 4: rejection diagnostic for Ord at Float.
;
; This fixture is the discriminator for whether the post-milestone
; NoInstance diagnostic steers an LLM-author who reached for a
; polymorphic Ord-helper at Float toward the `float_lt` named-fn
; replacement.
;
; Today (per spec §Error handling) the diagnostic at Eq Float says
;   "use float_eq for explicit IEEE-aware comparison"
; The spec also promises the Ord variant says
;   "use float_lt / float_eq for explicit IEEE-aware comparison"
; so an LLM-author seeing this fail learns the named-fn surface
; without needing to read the prelude.
;
; Expected behaviour: `ail check` exits non-zero. stderr contains:
;   - NoInstance Ord Float (or similar Ord-at-Float wording)
;   - the literal string `float_lt` somewhere in the addendum

(module eqord_4_float_ord_must_fail
  (fn main
    (type (fn-type (params) (ret (own (con Unit))) (effects IO)))
    (params)
    (body (app print (if (app lt 1.5 2.5) 1 0)))))
