Possible scheme fields improvement
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Start with the README example using Scheme!, get_field, and set_field_value, then read the scheme and field APIs that define how field references are created and checked. Explore whether compile-time field information can provide a non-optional FieldRef while preventing values from unrelated schemes from being passed. Done means the API addresses both concerns; the issue names no tests, so identify relevant coverage while reading the implementation.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I noticed the readme example has a few unwraps that could probably be avoided. For example:
let scheme = Scheme! {
http.method: Bytes,
http.ua: Bytes,
port: Int,
}
.build();
// ...
ctx.set_field_value(scheme.get_field("http.method").unwrap(), "GET")?;
I played around a bit to see if the field information could be returned when defining the scheme. That information could then be used to get a non-optional FieldRef based on the fact we know such fields were defined at compile time. I created a fork to demonstrate the idea: https://github.com/tombailey/wirefilter/pull/1
Just to note, that fork is AI slop. It is not intended as a real patch
And the fork doesn't prevent set_field_value being called with a field from an unrelated scheme
- Lenguaje dominante
- Rust
- Estrellas
- 1.2k
- Forks
- 126
- Merge medio
- 12 h 12 min
- PR fusionados (30 d)
- 4
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 cloudflare/wirefilter
-
AlwaysListMatcher::match_value always returns false, contradicting its own doc commentPosiblemente ocupada @sean0407 la tomó hace 10 días. Abierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
cloudflare/wirefilter#190 ·
-
Dificultad 4/5 1-2 días Aptitud para principiantes 32/100
cloudflare/wirefilter#204 · 2 comentarios ·
-
CPrimitiveType (a repr(u8) enum) is received directly by value across the C ABI with no validationAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
cloudflare/wirefilter#196 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
cloudflare/wirefilter#195 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
cloudflare/wirefilter#194 ·
Todos los issues de cloudflare/wirefilter
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
priority middle
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
KATO-Hiro/AtCoderClans#12940 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
o8 next debug build aborts on Glass to Dark appearance switch (nil identifier messaged before check)Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
hurttlocker/o8#5112 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
Los mantenedores suelen responder en 1 día