Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

deserialize_individually macro fails clippy due to unnecessary mut

Abierto
#149 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
rust
Área
tooling

Línea de trabajo

Abre src/arena/saveload.rs e inspecciona la macro deserialize_individually, especialmente el argumento entities que se pasa a DeserializeComponents::deserialize. Ejecuta Clippy para confirmar la advertencia sobre la referencia mutable innecesaria y, después, verifica que la advertencia haya desaparecido y que la deserialización siga funcionando.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Here https://bfnightly.bracketproductions.com/rustbook/chapter_11.html#actually-loading-the-game

This code:


macro_rules! deserialize_individually {
    ($ecs:expr, $de:expr, $data:expr, $( $type:ty),*) => {
        $(
        DeserializeComponents::<NoError, _>::deserialize(
            &mut ( &mut $ecs.write_storage::<$type>(), ),
            &mut $data.0, // entities

can be


macro_rules! deserialize_individually {
    ($ecs:expr, $de:expr, $data:expr, $( $type:ty),*) => {
        $(
        DeserializeComponents::<NoError, _>::deserialize(
            &mut ( &mut $ecs.write_storage::<$type>(), ),
            &$data.0, // entities

to prevent this clippy warning:

warning: The function/method `DeserializeComponents<NoError, _>::deserialize` doesn't need a mutable reference
   --> src/arena/saveload.rs:35:13
    |
35  |               &mut $data.0, // entities
    |               ^^^^^^^^^^^^
...
115 | /         deserialize_individually!(
116 | |             ecs,
117 | |             de,
118 | |             d,
...   |
135 | |             SerializationHelper
136 | |         );
    | |__________- in this macro invocation
    |
    = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: The function/method `DeserializeComponents<NoError, _>::deserialize` doesn't need a mutable reference
   --> src/arena/saveload.rs:35:13
    |
35  |               &mut $data.0, // entities
    |               ^^^^^^^^^^^^
...
115 | /         deserialize_individually!(
116 | |             ecs,
117 | |             de,
118 | |             d,
...   |
135 | |             SerializationHelper
136 | |         );
    | |__________- in this macro invocation
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
Lenguaje dominante
Rust
Estrellas
967
Forks
166
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de amethyst/rustrogueliketutorial

Todos los issues de amethyst/rustrogueliketutorial

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.