stackable-versioned: Require inner module definitions to have the same visibility as the parent
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza localizando la implementación stackable-versioned que procesa las definiciones de los módulos externo e interno. Añade una validación para que una visibilidad no coincidente produzca una advertencia o un error y, después, verifica el comportamiento con los ejemplos de módulos anidados descritos en el issue.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
As discussion with @Techassi, we should warn/error if the visibility of the inner module doesn't match the outer module.
The inner module ends up with the same visibility as the parent anyway, but it is confusing if it is not the same.
#[versioned(version(name = "v1alpha1"))]
pub mod versioned {
// contents of this mod get merged with the generated `v1alpha` mod.
// nothing unusual here, pub all the way
pub mod v1alpha1 {
pub use v1alpha1_impl::Error;
}
}
Is equivalent to:
#[versioned(version(name = "v1alpha1"))]
pub mod versioned {
// contents of this mod get merged with the generated `v1alpha` mod,
// with `pub` visibility (because of `pub mod versioned`).
// 👇
mod v1alpha1 {
pub use v1alpha1_impl::Error;
}
}
However, it appears confusing to the reader. Eg:
How can the pub use be of any use inside a private mod?
... with the answer being oh, the mod is actually pub mod because of pub mod versioned which leads to pub mod v1alpha being generated, which absorbs the contents of the mod v1alpha1 that you see in the source.
- Lenguaje dominante
- Rust
- Estrellas
- 167
- Forks
- 19
- Merge medio
- 1 d 6 h
- PR fusionados (30 d)
- 9
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 stackabletech/operator-rs
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
stackabletech/operator-rs#1273 · 1 comentario ·
-
Improve label mechanisms Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
stackabletech/operator-rs#1077 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
stackabletech/operator-rs#1063 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
stackabletech/operator-rs#965 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
stackabletech/operator-rs#906 ·
Todos los issues de stackabletech/operator-rs
Issues similares
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
yantrikos/yantrik-os#255 ·
-
Replayed reasoning items send "content": null, which the Responses API schema does not permit Abiertobug CLI custom-model
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
raphamorim/rio#1956 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
rust-bitcoin/rust-bitcoin#6930 · 1 comentario ·