Resultados de la búsqueda a petición "traits"

1 la respuesta

¿Por qué no se puede usar el rasgo implícito para devolver tipos múltiples / condicionales?

Estoy tratando de obtener un generador de números aleatorios. Ya queOsRng::new() puede fallar, me gustaría volver athread_rng() si yo tengo que extern crate rand; // 0.5.5 use rand::{thread_rng, OsRng, RngCore}; fn rng() -> impl RngCore { match ...

1 la respuesta

¿Por qué los límites de supertrait distintos del primero no se reconocen en un tipo asociado?

ste fragmento es válido en Rust 1.26.1: use std::ops::AddAssign; trait Trait where for<'a> Self: AddAssign<Self> + AddAssign<&'a Self> + Sized, { } trait Trait2 { type Associated: Trait; fn method(u32) -> Self::Associated; } fn func<T2: ...

2 la respuesta

Patrón de rasgos genéricos furiosamente recurrentes: desbordamiento evaluando el requisito

Estoy tratando de implementar una estructura genérica con un montón de campos, donde cada uno de los tipos de campo debe saber sobre el tipo exacto de toda la estructura. Es una especie de patrón de estrategia. pub struct Example<S: ...

1 la respuesta

¿Cómo escribir un rasgo vinculado para una referencia a un tipo asociado en el rasgo mismo?

Tengo este código: extern crate serde; use serde::de::DeserializeOwned; use serde::Serialize; trait Bar<'a, T: 'a> where T: Serialize, &'a T: DeserializeOwned, { } Me gustaría escribir esto usando un tipo asociado, porque el tipoT no es ...

1 la respuesta

¿Cómo implemento std :: ops conmutativos genéricos que involucran un tipo incorporado para objetos de rasgos?

Yo tengo: use std::ops::{Add, Div, Mul, Neg, Sub}; pub trait Hilbert: Add + Sub + Mul + Div + Neg + Mul<f64, Output = Self> + Div<f64, Output = Self> + Sized + Copy { fn dot(&self, other: &Self) -> f64; fn magnitude(&self) -> f64; } fn ...

2 la respuesta

¿Por qué Read :: read_to_string () no devuelve la cadena?

En elRead rasgo [https://doc.rust-lang.org/std/io/trait.Read.html], muchas funciones / métodos toman unbuf: &mut XXX como (uno de los) parámetros y devolverResult<usize>. Por ...

1 la respuesta

Cómo combino múltiples funciones usando Diesel en una mediante abstracción?

Tengo las siguientes dos funciones: pub fn get_most_recent_eth_entry(conn: &SqliteConnection) -> Result<i32, Error> { let res = types::ethereum::table .order(types::ethereum::time.desc()) .limit(1) .load::<types::ETHRecord>(&*conn); match res { ...

1 la respuesta

Diferencia entre <T: Rasgo> y donde T: Rasgo

Enlos documentos [https://doc.rust-lang.org/std/marker/trait.Send.html]Para elSend rasgo, veo ambos impl<T> Send for LinkedList<T> where T: Send,y impl<T: Send> Send for LinkedList<T>¿Cuál es la diferencia entre estas dos sintaxis y cómo ...

1 la respuesta

No se puede llamar a la consulta de rusqlite porque espera el tipo & [& rusqlite :: types :: ToSql]

Quiero usar una declaración preparada conrusqlite [https://github.com/jgallagher/rusqlite]. Rusqlite implementa el rasgoToSql paraString, &str yun montón de otros ...

2 la respuesta

¿Cuál es la diferencia entre <T: Trait> Box <T> y & Trait / Box <Trait>?

Al escribir código con rasgos, puede colocar el rasgo en un límite de rasgo: use std::fmt::Debug; fn myfunction1<T: Debug>(v: Box<T>) { println!("{:?}", v); } fn myfunction2<T: Debug>(v: &T) { println!("{:?}", v); } fn main() ...