v0.2.17
This commit is contained in:
@@ -95,26 +95,37 @@ Aucun `Utf8CodeUnit` / `Utf16CodeUnit` / `Utf32CodeUnit` distinct n'est introdui
|
||||
|
||||
Aucun transcodage implicite n'existe.
|
||||
|
||||
Les conversions totales utilisent `to...`.
|
||||
|
||||
Les constructions ou réductions pouvant échouer utilisent `tryFrom...` / `tryTo...`.
|
||||
Les conversions directes retournent la destination attendue. Lorsqu'une validation runtime peut échouer, la callable peut déclarer `faults UnicodeEncodingFault` au lieu de forcer un `ResultError` ou une variante `try...` parallèle.
|
||||
|
||||
Exemples :
|
||||
|
||||
```text
|
||||
char::toUtf8Char()
|
||||
Utf8Char::toChar()
|
||||
Utf8Char::toUtf16Char()
|
||||
char::toUtf8Char() -> Utf8Char
|
||||
Utf8Char::toChar() -> char
|
||||
Utf8Char::toUtf16Char() -> Utf16Char
|
||||
|
||||
Utf8Char::tryFrom(uint8)
|
||||
Utf16Char::tryFrom(uint16)
|
||||
Utf32Char::tryFrom(uint32)
|
||||
Utf8Char::from(uint8) -> Utf8Char
|
||||
faults UnicodeEncodingFault
|
||||
|
||||
Utf8Char::tryToUint8()
|
||||
Utf16Char::tryToUint16()
|
||||
Utf32Char::toUint32()
|
||||
Utf16Char::from(uint16) -> Utf16Char
|
||||
faults UnicodeEncodingFault
|
||||
|
||||
Utf32Char::from(uint32) -> Utf32Char
|
||||
faults UnicodeEncodingFault
|
||||
|
||||
Utf8Char::toUint8() -> uint8
|
||||
faults UnicodeEncodingFault
|
||||
|
||||
Utf16Char::toUint16() -> uint16
|
||||
faults UnicodeEncodingFault
|
||||
|
||||
Utf32Char::toUint32() -> uint32
|
||||
```
|
||||
|
||||
`UnicodeEncodingFault extends Fault` est le nom de travail du fault Core associé aux données encodées invalides ou aux réductions impossibles.
|
||||
|
||||
Le Core n'expose pas simultanément `from(...)` et `tryFrom(...)` lorsque les deux opérations auraient exactement la même sémantique et ne différeraient que par le canal d'échec.
|
||||
|
||||
La matrice normative détaillée est définie dans `annexes/B-unicode-encoding-conversions.md`.
|
||||
|
||||
## 21.5 Aucun mélange implicite de types — V1 REQUIS — FIGÉ
|
||||
|
||||
Reference in New Issue
Block a user