Errores del Compilador de Rust
Explora los 80 códigos de error de Errores del Compilador de Rust con causas, soluciones y ejemplos.
E0308E0308 — Tipos no coincidentes
El tipo esperado no coincide con el tipo real proporcionado.
E0382E0382 — Uso de valor movido
Se utiliza un valor después de haber sido movido a otra variable o función.
E0502E0502 — No se puede tomar prestado como mutable porque también está prestado como inmutable
Un valor no puede tomarse prestado de forma mutable mientras un préstamo inmutable siga activo.
E0597E0597 — El valor prestado no vive lo suficiente
Una referencia sobrevive a los datos a los que apunta.
E0277E0277 — Trait no satisfecho
Un tipo no implementa un trait requerido.
E0599E0599 — No se encontró ningún método llamado X para el tipo
El método no existe en el tipo dado, o el trait requerido no está en el alcance.
E0425E0425 — No se encuentra el valor en este alcance
Se usa un identificador que no está definido en el alcance actual.
E0433E0433 — No se pudo resolver la ruta del módulo
La ruta de módulo utilizada en una declaración use o en una ruta de tipo no puede resolverse.
E0106E0106 — Falta el especificador de tiempo de vida
Una referencia en la firma de una función o en un struct no tiene parámetro de tiempo de vida.
E0015E0015 — Las llamadas en constantes están limitadas
Se invoca una función no const en un contexto de expresión constante.
E0658E0658 — Característica inestable utilizada
Se está usando una característica que aún no está estabilizada en Rust sin el feature gate correspondiente.
E0609E0609 — No existe ningún campo llamado X en el tipo
El struct o union no tiene un campo con el nombre dado.
E0614E0614 — No se puede desreferenciar el tipo
Se usa el operador de desreferencia (*) sobre un tipo que no implementa Deref.
E0499E0499 — No se puede tomar prestado como mutable más de una vez
Un valor se toma prestado de forma mutable más de una vez al mismo tiempo.
E0503E0503 — No se puede usar el valor porque fue prestado mutablemente
Un valor no puede usarse mientras esté prestado de forma mutable por otra variable.
E0505E0505 — No se puede mover fuera de contenido prestado
Un valor se mueve mientras aún está prestado por una referencia.
E0507E0507 — No se puede mover fuera de una referencia prestada
Estás intentando mover un valor fuera de una referencia, lo que dejaría la referencia colgante.
E0515E0515 — No se puede devolver una referencia a una variable local
Una función intenta devolver una referencia a un valor creado dentro de la función.
E0432E0432 — Importación no resuelta
No se puede encontrar el módulo o elemento referenciado en una declaración use.
E0412E0412 — No se encuentra el tipo en este ámbito
Se utiliza un nombre de tipo que no está definido ni importado en el ámbito actual.
E0423E0423 — Se esperaba un valor, se encontró un tipo
Se utiliza un nombre de tipo donde se esperaba un valor.
E0424E0424 — Se esperaba un valor, se encontró self
La palabra clave self se utiliza fuera del contexto de un método o función asociada.
E0369E0369 — El operador no se puede aplicar al tipo
Se utiliza un operador binario con tipos que no lo admiten.
E0384E0384 — No se puede asignar dos veces a una variable inmutable
Se reasigna una variable que no fue declarada como mutable.
- E0061 — Número incorrecto de argumentos
- E0063 — Faltan campos en el struct
- E0107 — Número incorrecto de argumentos de tipo
- E0117 — Solo los traits definidos en el crate actual pueden implementarse para tipos
- E0119 — Implementaciones de trait en conflicto
- E0133 — La llamada a función unsafe requiere un bloque unsafe
- E0152 — Lang item duplicado
- E0200 — Un trait unsafe requiere un impl unsafe
- E0252 — Nombre ya importado
- E0255 — Conflicto de nombre con un import
- E0271 — Discrepancia de tipo en tipo asociado
- E0282 — Se necesitan anotaciones de tipo
- E0283 — Implementación de trait ambigua
- E0310 — El tipo puede no vivir lo suficiente
- E0317 — Puede faltar una cláusula else en el if
- E0373 — La clausura puede sobrevivir a la variable capturada
- E0392 — Parámetro de tipo o tiempo de vida sin usar
- E0404 — Se esperaba un trait, se encontró un tipo
- E0405 — No se encuentra el trait en este ámbito
- E0428 — Definición duplicada
- E0463 — No se encuentra el crate
- E0520 — La especialización es inestable
- E0596 — No se puede tomar prestado como mutable
- E0600 — No se puede aplicar el operador unario
- E0601 — No se encuentra la función main
- E0603 — Acceso a un elemento privado fuera de su ámbito
- E0621 — Se requiere un tiempo de vida explícito
- E0308 — Tipos incompatibles en los brazos de match
- E0716 — Valor temporal liberado mientras está prestado
- E0728 — await en una función no async
- Panic — unwrap() llamado sobre None o Err
- Panic — Índice fuera de rango
- Panic — Desbordamiento de entero
- Panic — Desbordamiento de pila
- Clippy — Return innecesario
- Clippy — Let y Return
- Clippy — Importaciones sin usar
- Clippy — Clone en tipo Copy
- Clippy — Uso de Unwrap
- Advertencia de código muerto
- Advertencia de variable no utilizada
- Advertencia de mut no utilizado
- E0046 — Faltan implementaciones de métodos del trait
- E0053 — Discordancia en la firma del método
- E0277 — El tipo no implementa Send
- E0277 — El tipo no implementa Sized
- E0277 — El tipo no implementa Iterator
- E0308 — Discordancia en el tipo de retorno del closure
- E0562 — impl Trait no permitido en esta posición
- E0308 — Discordancia de tipo Result
- E0277 — El tipo no implementa el trait Fn
- Panic — División por cero
- Panic — Índice de slice fuera de rango
- Clippy — map().unwrap_or() se puede simplificar
- Clippy — Un match con un solo brazo puede ser if-let
- Clippy — Closure redundante