Apply Option difference to `None` target doesn't work as expected
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza ejecutando la reproducción en Rust del issue, que usa serde_diff::Diff y Apply con un destino Option inicializado en None. Traza cómo se aplica la diferencia serializada de Some(5) a Some(10) cuando el destino es None. Se considera completado cuando el destino es igual a TestStruct { a: Some(10) } después de que Apply::apply se ejecute correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Example to reproduce the issue
use serde::{Deserialize, Serialize};
use serde_diff::{Apply, Diff, SerdeDiff};
#[derive(SerdeDiff, Serialize, Deserialize, PartialEq, Debug, Clone)]
struct TestStruct {
a: Option<i32>,
}
fn main() {
let old = TestStruct { a: Some(5) };
let new = TestStruct { a: Some(10) };
let mut target = TestStruct { a: None };
let expected = new.clone();
let diff = Diff::serializable(&old, &new);
let json_diff = serde_json::to_string(&diff).unwrap();
let mut deserializer = serde_json::Deserializer::from_str(&json_diff);
Apply::apply(&mut deserializer, &mut target).unwrap();
assert_eq!(target, expected);
}
Expected result
For target to equal TestStruct { a: Some(10) }
Actual result
Target equals TestStruct { a: None }
- Lenguaje dominante
- Rust
- Estrellas
- 127
- Forks
- 22
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de amethyst/serde-diff
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
amethyst/serde-diff#29 ·
-
Iterate over differencesAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
amethyst/serde-diff#43 ·
-
This crate looks unmaintainedAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
amethyst/serde-diff#42 · 6 comentarios · 2 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
amethyst/serde-diff#39 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
amethyst/serde-diff#35 · 1 reacción ·
Todos los issues de amethyst/serde-diff
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
trailofbits/dylint#2107 ·
Los mantenedores suelen responder en 1 día
-
area:cli bug good first issue priority:medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
rtk-ai/rtk#4289 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
arrays_zip with two same-named inputs fails with "ArrowArray struct has 2 children (expected 1)"Abiertobug requires-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/datafusion-comet#6251 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bug false-positive harper-core linting
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Automattic/harper#4471 ·
Los mantenedores suelen responder en 1 día