54 lines
1.1 KiB
Markdown
54 lines
1.1 KiB
Markdown
# Exemples / DO-DON'T — Chapitre 27 — Mémoire, références et `unsafe`
|
|
|
|
> Document compagnon. Les exemples illustrent les règles du chapitre ; la formulation normative reste dans le chapitre lui-même.
|
|
|
|
## Exemples extraits du chapitre
|
|
|
|
### Exemple 1
|
|
|
|
```text
|
|
value vs reference semantics
|
|
object allocation
|
|
moves/copies/clones
|
|
borrow/reference semantics si nécessaire
|
|
escape analysis
|
|
lifetimes internes
|
|
partial construction
|
|
partial destruction
|
|
cycles éventuels
|
|
resource ownership
|
|
thread-safety implications
|
|
```
|
|
|
|
### Exemple 2
|
|
|
|
```text
|
|
unsafe { ... }
|
|
unsafe func
|
|
unsafe method
|
|
unsafe clsmethod
|
|
unsafe construct
|
|
unsafe union
|
|
```
|
|
|
|
### Exemple 3
|
|
|
|
```text
|
|
unsafe variable
|
|
unsafe constant
|
|
unsafe field
|
|
```
|
|
|
|
### Exemple 4
|
|
|
|
```text
|
|
mot-clé mut pour obtenir la mutabilité normale
|
|
borrow checker visible dans la syntaxe
|
|
lifetimes utilisateur omniprésents
|
|
ownership annotations pour les usages ordinaires
|
|
```
|
|
|
|
## DO / DON'T / WHY / compiler error / edge cases
|
|
|
|
À consolider progressivement avant la baseline publique V3 et à transformer, lorsque pertinent, en tests de conformité de la toolchain.
|