This commit is contained in:
2026-09-13 00:12:41 +02:00
parent fd4e879c0c
commit 019c8ad335
16 changed files with 580 additions and 92 deletions

View File

@@ -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.
---