Section courante

A propos

Section administrative du site

Voici un tableau de référence des modules du Rust :

Modules Description
alloc Ce module permet de gérer l'allocation dynamique de mémoire, notamment à travers des structures comme Box, Vec, ou String, lorsqu'un allocateur est disponible.
any Ce module permet de manipuler des types de manière dynamique et d'effectuer des réflexions de type à l'exécution via le trait Any.
arch Ce module permet d'accéder à des fonctions spécifiques à l'architecture matérielle, comme les intrinsics SIMD ou les instructions spécifiques à un processeur.
array Ce module permet de fournir des outils utilitaires pour travailler avec les tableaux ([T; N]) en Rust, notamment les conversions et initialisations.
ascii Ce module permet d'effectuer des opérations sur les chaînes de caractères et caractères ASCII, comme les conversions entre majuscules et minuscules.
backtrace Ce module permet de capturer une trace de pile (stack backtrace) pour les processus légers du système d'exploitation, utile pour le débogage.
borrow Ce module permet de gérer les données empruntées en fournissant des traits comme Borrow et ToOwned, facilitant les conversions entre références et valeurs.
boxed Ce module permet d'utiliser le type Box<T>, permettant d'allouer des valeurs sur la mémoire de tas et de gérer leur durée de vie via une sémantique de possession.
cell Ce module permet de créer des conteneurs mutables partageables, tels que Cell<T> et RefCell<T>, utiles pour contourner les règles de l'emprunt immuable.
char Ce module permet de manipuler le type primitif char, avec des fonctions pour analyser, convertir et vérifier des propriétés Unicode.
clone Ce module permet de définir le trait Clone, utilisé pour créer des copies explicites de valeurs, même lorsqu'elles ne sont pas implicitement copiables.
cmp Ce module permet de comparer et d'ordonner des valeurs via les traits PartialEq, Eq, PartialOrd et Ord, essentiels pour les opérations logiques et de tri.
collections Ce module permet d'accéder à diverses structures de données comme VecDeque, HashMap, ou BTreeMap, utiles pour la gestion avancée de collections.
convert Ce module permet de convertir des valeurs entre différents types à l'aide des traits From, Into, TryFrom et TryInto.
default Ce module permet d'utiliser le trait Default, fournissant une valeur par défaut pour les types qui l'implémentent, souvent utilisée pour l'initialisation générique.
env Ce module permet d'inspecter et de manipuler l'environnement du processus, incluant les variables d'environnement, les arguments de la ligne de commande et plus.
error Ce module permet de manipuler les erreurs via le trait Error, en définissant des interfaces standardisées pour la gestion des erreurs dans Rust.
f32 Ce module permet d'accéder à des constantes spécifiques au type flottant f32, comme INFINITY, NAN, ou EPSILON.
f64 Ce module permet d'accéder à des constantes spécifiques au type flottant f64, utilisées dans les calculs numériques en double précision.
ffi Ce module permet de créer des interfaces de liaison avec du code écrit dans d'autres langages (Foreign Function Interface), comme le C.
fmt Ce module permet de formater et d'imprimer des chaînes de caractères, notamment via les macros format!, print! et println!.
fs Ce module permet de manipuler le système de fichiers, avec des fonctions pour lire, écrire, créer, supprimer ou inspecter des fichiers et des répertoires.
future Ce module permet de gérer la programmation asynchrone via le trait Future, qui représente une valeur qui pourra être disponible ultérieurement.
hash Ce module permet d'effectuer des opérations de hachage générique avec des traits comme Hash et des structures comme Hasher.
hint Ce module permet de fournir des suggestions au compilateur sur l'optimisation ou la génération de code, comme avec unreachable_unchecked.
i8 (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes liées au type entier signé i8, dont l'usage est progressivement remplacé.
i16 (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes liées au type entier signé i16, voué à être retiré à terme.
i32 (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes liées au type entier signé i32, en doublon avec les constantes intégrées.
i64 (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes liées au type entier signé i64, bien que leur usage ne soit plus recommandé.
i128 (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes du type entier signé i128, mais il est prévu de le retirer.
io Ce module permet d'effectuer des opérations d'entrée/sortie standards, comme lire ou écrire dans des fichiers, des tampons ou la console.
isize (dépréciation prévue) Ce module permet d'accéder à des constantes obsolètes pour le type isize, remplacées par des moyens plus intégrés au langage.
iter Ce module permet d'implémenter et de composer des itérateurs externes, offrant des outils puissants pour le traitement de séquences.
marker Ce module permet de définir des traits et types spéciaux comme Send, Sync ou PhantomData, servant à exprimer des propriétés fondamentales de types.
mem Ce module permet de manipuler directement la mémoire, notamment avec des fonctions pour déplacer, remplacer ou aligner des valeurs.
net Ce module permet d'effectuer des communications réseau en fournissant des primitives TCP et UDP multiplateformes.
num Ce module permet d'étendre les fonctionnalités numériques de base, avec des traits, des constantes et des fonctions utiles pour les types numériques.
ops Ce module permet de surcharger les opérateurs grâce à des traits comme Add, Sub, Mul, ou Index, permettant des comportements personnalisés.
option Ce module permet de gérer la présence ou l'absence d'une valeur à l'aide du type Option, avec des méthodes pratiques pour le traitement conditionnel.
os Ce module permet d'accéder à des fonctionnalités spécifiques aux systèmes d'exploitation, telles que les identifiants de processus ou les chemins natifs.
panic Ce module permet de gérer les situations d'arrêt d'exécution (panic), avec des macros et fonctions pour déclencher ou intercepter des paniques.
path Ce module permet de manipuler des chemins de fichiers et de répertoires de manière portable entre différents systèmes d'exploitation.
pin Ce module permet d'empêcher le déplacement en mémoire de certaines données, utile pour garantir la stabilité de l'adresse mémoire dans certains contextes.
prelude Ce module permet de réexporter les éléments les plus courants de la bibliothèque standard, afin qu'ils soient automatiquement disponibles sans importation explicite.
primitive Ce module permet de réexporter les types primitifs pour garantir leur accessibilité même en cas de noms en conflit dans d'autres contextes.
process Ce module permet de gérer les processus système, avec des fonctions pour lancer, surveiller et interagir avec des programmes externes.
ptr Ce module permet de manipuler manuellement la mémoire à l'aide de pointeurs bruts (*const T et *mut T) pour des opérations bas niveau.
rc Ce module permet de créer des pointeurs à comptage de références (Rc<T>) pour partager des données entre plusieurs parties d'un programme dans un contexte mono-processus léger.
result Ce module permet de gérer les erreurs avec le type Result, représentant une valeur correcte (Ok) ou une erreur (Err), et des outils pour leur traitement.
slice Ce module permet de travailler avec les tranches ([T]), en fournissant des méthodes pour leur manipulation, leur itération et leur transformation.
str Ce module permet de manipuler les chaînes de caractères UTF-8 immuables (str), avec des outils pour l'analyse, la recherche et la conversion.
string Ce module permet d'utiliser les chaînes de caractères UTF-8 dynamiques et modifiables via le type String, avec des méthodes de manipulation avancées.
sync Ce module permet d'utiliser des primitives de synchronisation sûres entre processus légers comme Mutex, RwLock, ou Arc, essentielles en programmation concurrente.
task Ce module permet de manipuler des tâches désynchronisées, notamment via des types comme Waker ou des traits comme Poll pour la planification.
thread Ce module permet de créer et gérer des processus légers natifs, y compris leur synchronisation, leur interruption et le partage de données entre eux.
time Ce module permet de travailler avec le temps et les durées, avec des types comme Duration ou Instant pour mesurer ou représenter des intervalles temporels.
u8 (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes pour le type entier non signé u8, bien qu'il soit prévu de le retirer car ces constantes sont accessibles directement.
u16 (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes pour le type entier non signé u16, dont l'usage est obsolète.
u32 (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes pour le type entier non signé u32, vouées à être supprimées de l'API standard.
u64 (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes pour le type entier non signé u64, qui ne sont plus recommandées.
u128 (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes pour le type entier non signé u128, en doublon avec les constantes intégrées.
usize (dépréciation prévue) Ce module permet d'accéder à des constantes redondantes pour le type entier usize, bien qu'elles soient déjà accessibles sans ce module.
vec Ce module permet d'utiliser le type Vec<T>, une structure de données représentant un tableau dynamique contigu alloué sur le tas.
assert_matches (expérimental) Ce module permet d'utiliser la macro expérimentale assert_matches!, servant à valider qu'une valeur correspond à un motif donné.
async_iter (expérimental) Ce module permet de créer des itérateurs asynchrones composables, facilitant le traitement séquentiel de flux de données asynchrones.
autodiff (expérimental) Ce module permet de réaliser la différentiation automatique, utile pour les applications en apprentissage automatique ou en calcul scientifique.
bstr (expérimental) Ce module permet d'utiliser les types ByteStr et ByteString, fournissant des opérations efficaces sur des chaînes d'octets UTF-8 ou binaires.
f16 (expérimental) Ce module permet d'accéder à des constantes liées au type flottant f16, représentant des nombres à virgule flottante en demi-précision.
f128 (expérimental) Ce module permet d'accéder à des constantes associées au type flottant f128, utilisé pour les calculs en quadruple précision.
intrinsics (expérimental) Ce module permet d'utiliser les intrinsics du compilateur, fournissant des opérations internes non sûres souvent utilisées dans des contextes bas niveau.
pat (expérimental) Ce module permet de gérer des macros associées aux types de motifs (pattern_type), utiles pour les générateurs de code ou les API internes.
random (expérimental) Ce module permet de générer des valeurs aléatoires, utilisé dans les algorithmes probabilistes et les tests aléatoires.
range (expérimental) Ce module permet d'utiliser des types de plages expérimentaux, pouvant remplacer ou étendre les plages (start..end) classiques.
simd (expérimental) Ce module permet d'exploiter le SIMD (Single Instruction, Multiple Data) portable, pour écrire du code optimisé et parallèle sur différentes architectures.
unsafe_binder (expérimental) Ce module permet de convertir des types en "binders" non sécurisés et inversement, utilisé dans des scénarios avancés de gestion de mémoire ou de typage.


Dernière mise à jour : Mardi, le 5 août 2025