Avatar ·

¿Qué reemplaza Rust al recolector de basura? Alternativas a GC en Rust

¡Hola, colegas! Estoy migrando a Rust después de varios años trabajando con Java y Python, y me atormenta una pregunta fundamental. En Java estoy acostumbrado a que el recolector de basura (GC) libera automáticamente la memoria cuando los objetos se vuelven inalcanzables. En Python es similar: conteo de referencias y GC para referencias cíclicas. Pero Rust es fundamentalmente diferente: aquí no hay recolector de basura, y sin embargo el lenguaje se considera seguro. Escribí un ejemplo simple que en Java o Python funcionaría sin problemas, pero en Rust genera preguntas: ```rust struct User { name: String, posts: Vec, } fn main() { let user = User { name: "Alice".to_string(), posts: vec!["Hello".to_string()], }; // ¿Cómo sabe Rust cuándo liberar la memoria de user? // ¿Qué sucede si paso user a una función? process(user); // Y aquí — ¡intento de usar user después del move! // println!("{}", user.name); // ¡Error de compilación! } fn process(u: User) { println!("P