The refusal list was rewritten and the prologues that pointed at it were not, so prelude.ml claimed in three places that what it now contains is impossible: the splitting header said `split` is refused at the foot of the file, forty lines above `split`; the ASCII-case header said Odin's allocating to_lower is not available here, next to the one that was written; and the UTF-8 header said the rest of core/strings is refused rather than ported. Each keeps its point rather than losing it. The iterator is still the shape that owns nothing and still the right call when there is no result to own; lower-ascii and bytes-ci=? are still the right calls when a copy is not wanted, since folding a comparison over two inputs beats lowering both. What changed is the reason, which used to be the absence of an allocator and is now a choice between two shapes that both exist. And strings.flan told the reader the opposite of what it did -- "not freed", on the line above the free. vec.flan already had the right framing: the free is written, it keeps the block because an arena cannot release one, and that is the difference the capability set exists to state.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%