(module print_str_embedded_newline_no_doubling
  (fn main
    (doc "RED fixture for Gitea #29 (companion to print_str_no_auto_newline.ail): when the author embeds a single `\\n` in the argument, exactly one newline must reach stdout — not two. Today the codegen lowers io/print_str to `@puts(ptr)` which appends its own newline, so this program emits \"x\\n\\n\" (two newlines) instead of the author-intended \"x\\n\". Pins the no-doubling property as a separate axis from the no-auto-newline property: even authors who want a newline must not get a doubled one.")
    (type (fn-type (params) (ret (own (con Unit))) (effects IO)))
    (params)
    (body (do io/print_str "x\n"))))
