Tag: ITERATOR-TRAITS
Estoy aprendiendo Rust y me he encontrado con el siguiente problema, que no es obvio para mí. Vi un std::thread::spawn en la biblioteca, miré la implementación y vi que algún tipo requiere una implementación del rasgo Send para poder enviar algo a otro hilo. Estoy tratando de replicar el comportamiento . . . Read more
Quiero implementar el rasgo From para una enumeración. Funciona bien para usize, pero falla para el tipo de función. ¿Hay alguna diferencia entre usize y el tipo de función? El código: type Foo = fn (usize) -> usize; enum Value { Number(usize), Function(Foo), } impl From<usize> for Value { fn . . . Read more
En Salsa, hay un límite de rasgo de rango superior en un rasgo. He visto LRS en definiciones de funciones pero no en un rasgo. ¿Qué significa esto? pub trait Query: Debug + Default + Sized + for<‘d> QueryDb<‘d> { … fn query_storage<‘a>( group_storage: &’a <self as=”” querydb<‘_=””>>::GroupStorage, ) -> . . . Read more
Tengo una biblioteca que implementa dos rasgos: pub trait Creature { // fn get_name(&self) -> &str; // etc } pub trait Environment { fn update(&mut self, creature:&impl Creature); } pub struct World <e:environment, t:creature=””> { pub environs: E, pub creatures: Vec<t>, } impl <e:environment, t:creature=””> World<e, t=””> { pub fn . . . Read more
Veo esto muy a menudo en el código Rust. Aquí hay algunos ejemplos de la biblioteca estándar: impl<t> const Default for Option<t> {…} impl const From<char> for u64 {…} ¿Qué significa “impl const”?