Rust

Traits avanzados

Associated types vs generics, GATs, trait objects, palabra clave dyn, object safety, vtables

22 preguntas de entrevista·
Senior
1

¿Cuál es la diferencia principal entre un associated type y un parámetro generic en un trait?

Respuesta

Un associated type permite solo una implementación del trait por tipo, mientras que un parámetro generic permite varias implementaciones. Con un associated type, el tipo lo determina la propia implementación, lo que simplifica la inferencia de tipos y evita especificar el tipo en cada uso.

2

¿Qué palabra clave se usa para crear un trait object en Rust?

Respuesta

La palabra clave dyn se usa para crear un trait object en Rust. Indica que el dispatch de métodos ocurrirá dinámicamente en tiempo de ejecución a través de una vtable, a diferencia del dispatch estático con generics que se resuelve en tiempo de compilación.

3

¿Qué es una vtable en el contexto de los trait objects?

Respuesta

Una vtable (virtual table) es una tabla de punteros a las implementaciones de los métodos del trait para un tipo concreto. Se usa para el dispatch dinámico de los trait objects, lo que permite llamar al método correcto en tiempo de ejecución sin conocer el tipo concreto en tiempo de compilación.

4

¿Qué condición debe cumplir un trait para ser object-safe?

5

¿Por qué el trait Clone no es object-safe?

+19 preguntas de entrevista

Domina Rust para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis