v0.2.16
This commit is contained in:
@@ -341,4 +341,26 @@ Une séquence UTF-8 invalide est une erreur de source.
|
||||
|
||||
La représentation physique interne de `String` reste indépendante de cette syntaxe source et peut varier suivant backend/target.
|
||||
|
||||
|
||||
## 21.16 Sous-chaînes et représentation interne — V1 REQUIS — FIGÉ EN PRINCIPE
|
||||
|
||||
La représentation interne de `String` n'est pas observable.
|
||||
|
||||
Une implémentation peut notamment employer un stockage contigu, partagé, segmenté, copy-on-write, rope, small-string optimization ou une combinaison de ces techniques.
|
||||
|
||||
`substring(...)` retourne une vraie `String` sémantiquement indépendante.
|
||||
|
||||
```text
|
||||
String a = "abcdef";
|
||||
String b = a::substring(1..<4);
|
||||
```
|
||||
|
||||
`b` représente indépendamment `"bcd"`.
|
||||
|
||||
Une mutation ultérieure de `a` ne peut pas modifier la valeur observable de `b`, et inversement.
|
||||
|
||||
Cette indépendance sémantique n'impose aucune copie physique immédiate : le runtime peut partager des segments/backing storage tant que le contrat reste respecté.
|
||||
|
||||
Aucun type `StringView` n'est introduit ni réservé à ce stade. Il ne sera étudié que si un besoin concret apparaît.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user