
Traits Avancés
Associated types vs generics, GATs, trait objects, dyn keyword, object safety, vtables
1Quelle est la différence principale entre un type associé et un paramètre générique dans un trait ?
Quelle est la différence principale entre un type associé et un paramètre générique dans un trait ?
Réponse
Un type associé permet une seule implémentation du trait par type, tandis qu'un paramètre générique permet plusieurs implémentations. Avec un type associé, le type est déterminé par l'implémentation elle-même, ce qui simplifie l'inférence de types et évite de spécifier le type à chaque utilisation.
2Quel mot-clé utiliser pour créer un trait object en Rust ?
Quel mot-clé utiliser pour créer un trait object en Rust ?
Réponse
Le mot-clé dyn est utilisé pour créer un trait object en Rust. Il indique que le dispatch des méthodes se fera dynamiquement à l'exécution via une vtable, contrairement au dispatch statique des generics qui est résolu à la compilation.
3Qu'est-ce qu'une vtable dans le contexte des trait objects ?
Qu'est-ce qu'une vtable dans le contexte des trait objects ?
Réponse
Une vtable (virtual table) est une table de pointeurs vers les implémentations des méthodes du trait pour un type concret. Elle est utilisée pour le dispatch dynamique des trait objects, permettant d'appeler la bonne méthode à l'exécution sans connaître le type concret à la compilation.
Quelle condition un trait doit-il respecter pour être object-safe ?
Pourquoi le trait Clone n'est-il pas object-safe ?
+19 questions d'entretien
Autres sujets d'entretien Rust
Les bases de Rust
Ownership & Borrowing
Structs & Enums
Gestion des erreurs
Collections
Modules & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macros
Serde & Serialization
Unsafe Rust
Lifetimes Avancés
Type System
Tokio & Async I/O
Optimisation de Performance
Memory Management
Web Frameworks
Database Integration
Design Patterns Rust
Maîtrise Rust pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement