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

2 la respuesta

¿Cómo obtener una referencia a un tipo concreto de un objeto de rasgo?

Como lo consigoBox<B> o&B o&Box<B> desde ela variable en este código: trait A {} struct B; impl A for B {} fn main() { let mut a: Box<dyn A> = Box::new(B); let b = a as Box<B>; }Este código devuelve un error: error[E0605]: non-primitive cast: ...

1 la respuesta

¿Cuál es la forma preferida de crear una cadena a partir de un literal?

¿Hay alguna razón estilística o de rendimiento para preferir una de las siguientes formas para crear una Cadena a partir de un literal en Rust? "hello world".to_string() format!("hello world") String::from("hello world")

1 la respuesta

Comparación de rendimiento de un Vec y un sector en caja

Quiero una función para asignar una "matriz" básica de longitud variable (en el sentido genérico de la palabra, no necesariamente el tipo Rust) de flotantes en el montóninicializarlo con valoresimplementarDrop, así que no tengo que preocuparme ...

3 la respuesta

¿Cómo especifico parámetros de por vida en un tipo asociado?

Tengo este rasgo y estructura simple: use std::path::{Path, PathBuf}; trait Foo { type Item: AsRef<Path>; type Iter: Iterator<Item = Self::Item>; fn get(&self) -> Self::Iter; } struct Bar { v: Vec<PathBuf>, }Me gustaría implementar elFoo rasgo ...

2 la respuesta

Rust FFI que pasa el objeto de rasgo como contexto para llamar a las devoluciones de llamada

Bien, estoy tratando de lograr lo siguiente: C llama a la oxidaciónrust vuelve a llamar a c y registra una devolución de llamada en un objeto de rasgo definido por el usuarioc invoca óxido con el contextoRust llama a la devolución de llamada en ...

1 la respuesta

¿Cómo hago que un puntero sea hashaable?

En Rust, quiero tratar las enumeraciones como iguales, pero aún así puedo distinguir diferentes instancias por puntero. Aquí hay un ejemplo de juguete: use self::Piece::*; use std::collections::HashMap; #[derive(Eq, PartialEq)] enum Piece { ...

2 la respuesta

No se puede llamar a una función en un subproceso generado porque "no cumple la vida útil requerida"

Puedo ejecutar este código fn testf(host: &str) {} fn start(host: &str) { testf(host); testf(host); }pero por alguna razón, no puedo ejecutar este: fn testf(host: &str) {} fn start(host: &str) { thread::spawn(move || testf(host)); ...

2 la respuesta

"No se puede mover fuera de la variable porque está prestada" al rotar las variables

Estoy escribiendo un programa que escribe en un archivo y rota el archivo en el que está escribiendo de vez en cuando. Cuando verifico para rotar el archivo, parece que no puedo cambiar el archivo ya que mi estructura lo tomó prestado. Incluso si ...

2 la respuesta

"Importación no resuelta - quizás una falta externa" Cuando existe una declaración externa

Tengo un pequeño proyecto que se creó sin problemas cuando estaba todo en un gran archivo .rs. Quería facilitar el trabajo, así que lo dividí en módulos y el proyecto ahora está estructurado de esta manera: ├── GameState │ ├── ballstate.rs │ ├── ...

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 ...