ppx_utf8_lit
ppx_utf8_lit copied to clipboard
UTF-8 string literals and patterns for OCaml (unreleased)
If an extension is not activated by some reason, perhaps by mistake, normalization will not happen, which can lead to extremely hard to find bugs.
Specifically [this](https://github.com/dbuenzli/ppx_utf8_lit/blob/a5a871bd1e9cf33b9a464fcee1cfc047cfa09117/src/ppx_utf8_lit.ml#L45). We should rather apply all the normalization forms in order. This could lead to a different result than simply applying the last one (need an example).
E.g. ``` assert (is_fr_revolt "Révolte" [@u.nfc]); ``` Will not normalize. You need to write: ``` assert (is_fr_revolt ("Révolte" [@u.nfc])); ``` The solution seems to look for the `u.*` attributes and...