; Fieldtest series-step1.4 (MUST FAIL) — param-in error quality for a ; disallowed element type. ; ; Task framing: an author who has used Series for Int/Float reaches for ; "a ring of the last N log lines" — i.e. (con Series (con Str)). The ; element type Str is NOT in Series's param-in set {Int, Float}, so this ; must be rejected. The axis question is the QUALITY of the diagnostic: ; - does it name Series and the offending type Str? ; - does it state the allowed set? ; - does it point at a location? ; ; This fixture is otherwise valid: a single push of a Str literal into a ; Series of Str. The ONLY defect is the element type. ; ; Expected: `ail check` rejects. The whitepaper (0007 §param-in) names the ; diagnostic ParamNotInRestrictedSet, "naming the offending type and the ; allowed set." We record what actually surfaces. (module series-step1_4_paramin_str_reject (fn main (type (fn-type (params) (ret (own (con Unit))) (effects IO))) (params) (body (let s (new Series (con Str) 3) (let s2 (app Series.push s "hello") (do io/print_str "unreachable\n"))))))