Skip to content

iyi 0.16.2

Choose a tag to compare

@github-actions github-actions released this 02 Oct 20:50
· 293 commits to master since this release

About two hundred and sixty fixes, most of them found by comparing iyi
with Crystal, Python, libxml2, expat, PyYAML and the RFCs at scale
-
random programs, documents, macro expressions, formatter mutants and
language-server sessions by the hundred thousand - each with a check
proven to fail without it. A when 1..5, a when of a tuple of types
and a when Int32 | String never matched and fell to else; a float
literal passed to a Float32 parameter rounded twice; fmt could change
a program's meaning (a heredoc's last blank line, - 1.abs, the end of a
line inside a string); a --release build wrote artifacts with no object
code; iterator adaptors copied their counts; std/json wrote bytes its
reader refused; std/xml took any byte past 0x7F for a name and wrote
whatever it was handed. Some answers change: Char#whitespace?
includes \v and \f, a negative shift count shifts the other way,
Int#chr takes all of Unicode, a flags enum with every member set prints
All, and std/yaml reads flow merges, tabs after indentation and -
continuations as the spec does.

Windows gains the windows-0.17.0-2 branch's fixes, and a program
there ends while another thread collects. The language server answers at
the cursor's line while a buffer does not compile, renames one method at
a time, and counts signature-help arguments correctly. .iyimod is
still v54, so 0.16.1's artifacts are rebuilt only because the compiler's
version is in their identity.