enib_small.png S4-PRG-Rust 02_Params — Passages de paramètres

Ce deuxième volet s'intéresse à la manière de transmettre des données entre les divers traitements de façon à respecter l'intention que nous donnons à ces traitements.
{1 #cost } Coûts relatifs des opérations
{2 #sh_ref } Passages par références partagées (non-mutables)
{3 #sh_slice } Passages par slices partagées (non-mutables)
{4 #excl } Passages par références et slices exclusives (mutables)
{5 #struct } Définition d'un type structuré
{6 #pub } Encapsulation d'un type élaboré

Maintenant que les principaux modes de passages ont été découverts, voici la série de questions à se poser pour choisir la forme des paramètres que notre fonction doit attendre :
1) La fonction a-t-elle besoin de prendre possession de ce paramètre ?

Code source résultant