From 997017bb7576ed0836827f4f253a518d71ea86ba Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Fri, 21 Aug 2026 08:23:39 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20(core):=20Retoques=20de=20estilo?= =?UTF-8?q?=20menores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core.rs | 2 +- src/core/component/definition.rs | 2 +- src/core/extension/definition.rs | 2 +- src/core/theme/definition.rs | 2 +- src/html/props.rs | 8 ++++---- src/lib.rs | 4 ++-- src/locale/definition.rs | 2 +- src/locale/request.rs | 2 +- tests/component_children.rs | 7 ++++--- tests/component_template.rs | 2 +- tests/html_props_extras.rs | 12 ++++++------ 11 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/core.rs b/src/core.rs index 03e32a94..9daf068d 100644 --- a/src/core.rs +++ b/src/core.rs @@ -109,7 +109,7 @@ impl TypeInfo { /// Proporciona información de tipo en tiempo de ejecución y conversión dinámica de tipos. /// -/// Este *trait* se implementa automáticamente para **todos** los tipos que implementen [`Any`], de +/// Este trait se implementa automáticamente para **todos** los tipos que implementen [`Any`], de /// modo que basta con traer [`AnyInfo`] al ámbito (`use crate::AnyInfo;`) para disponer de estos /// métodos adicionales, o usar el [`prelude`](crate::prelude) de PageTop. /// diff --git a/src/core/component/definition.rs b/src/core/component/definition.rs index d5aee749..e0c52207 100644 --- a/src/core/component/definition.rs +++ b/src/core/component/definition.rs @@ -18,7 +18,7 @@ pub trait ComponentClone { /// Define la función de renderizado para todos los componentes. /// -/// Este *trait* se implementa automáticamente en cualquier tipo (componente) que implemente +/// Este trait se implementa automáticamente en cualquier tipo (componente) que implemente /// [`Component`], por lo que no requiere ninguna codificación manual. #[async_trait] pub trait ComponentRender { diff --git a/src/core/extension/definition.rs b/src/core/extension/definition.rs index 18608e2f..4b9b2370 100644 --- a/src/core/extension/definition.rs +++ b/src/core/extension/definition.rs @@ -8,7 +8,7 @@ use crate::web::Router; /// Interfaz común que debe implementar cualquier extensión de PageTop. /// -/// Este *trait* es fácil de implementar, basta con declarar una estructura sin campos para la +/// Este trait es fácil de implementar, basta con declarar una estructura sin campos para la /// extensión y sobrescribir los métodos que sean necesarios. Por ejemplo: /// /// ```rust,no_run diff --git a/src/core/theme/definition.rs b/src/core/theme/definition.rs index 10563e35..70767cac 100644 --- a/src/core/theme/definition.rs +++ b/src/core/theme/definition.rs @@ -19,7 +19,7 @@ use crate::web::http::StatusCode; /// error. El contenido de cada región depende del [`Context`](crate::core::component::Context) y de /// su nombre lógico. /// -/// Todos los métodos de este *trait* tienen una implementación por defecto, por lo que pueden +/// Todos los métodos de este trait tienen una implementación por defecto, por lo que pueden /// sobrescribirse selectivamente para crear nuevos temas con comportamientos distintos a los /// predeterminados. /// diff --git a/src/html/props.rs b/src/html/props.rs index 04c35fe7..281a586d 100644 --- a/src/html/props.rs +++ b/src/html/props.rs @@ -81,9 +81,9 @@ pub enum PropsError { /// /// Las variantes `*Extra` permiten añadir valores tipados usando una clave. Están pensadas para /// ampliar el comportamiento de componentes ya existentes. Como no es posible añadir campos a la -/// estructura de un componente ya definido, temas y extensiones pueden definir un *trait* con -/// nuevos métodos que leen y escriben valores extra en [`Props`]. Esos valores se interpretan como -/// si fueran valores internos del componente para tomar decisiones durante el renderizado. +/// estructura de un componente ya definido, temas y extensiones pueden definir un trait con nuevos +/// métodos que leen y escriben valores extra en [`Props`]. Esos valores se interpretan como si +/// fueran valores internos del componente para tomar decisiones durante el renderizado. #[derive(Clone, Debug)] pub enum PropsOp { /// Establece el identificador del componente normalizando el valor: recorta espacios, convierte @@ -374,7 +374,7 @@ impl PropsOp { /// Las variantes [`SetExtra`](PropsOp::SetExtra) y [`RemoveExtra`](PropsOp::RemoveExtra), usando /// [`PropsOp::set_extra()`] y [`PropsOp::remove_extra()`] respectivamente, permiten adjuntar /// valores tipados a un `Props`. Son útiles para que temas y extensiones amplíen el comportamiento -/// de componentes ya existentes mediante *traits* con nuevos métodos que lean y escriban esos +/// de componentes ya existentes mediante traits con nuevos métodos que lean y escriban esos /// valores. /// /// ```rust diff --git a/src/lib.rs b/src/lib.rs index 6b63b33f..61df71e1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -125,8 +125,8 @@ use std::ops::Deref; /// referencia a la versión del *crate* que lo usa. pub const PAGETOP_VERSION: &str = env!("CARGO_PKG_VERSION"); -/// Re-exporta el atributo [`async_trait`](https://docs.rs/async-trait) para implementar *traits* -/// con métodos `async`. +/// Re-exporta el atributo [`async_trait`](https://docs.rs/async-trait) para implementar traits con +/// métodos `async`. /// /// Si en el ámbito se declara `use pagetop::prelude::*` o `use pagetop::async_trait;` basta con /// usar el nombre corto `#[async_trait]`. Otra opción es usar su forma cualificada diff --git a/src/locale/definition.rs b/src/locale/definition.rs index 20d42068..89108d5a 100644 --- a/src/locale/definition.rs +++ b/src/locale/definition.rs @@ -15,7 +15,7 @@ static FALLBACK_LANGID: LazyLock = LazyLock::new(|| langid!( /// Representa el identificador de idioma [`LanguageIdentifier`] asociado a un recurso. /// -/// Este *trait* permite que distintas estructuras expongan su idioma de forma uniforme. Las +/// Este trait permite que distintas estructuras expongan su idioma de forma uniforme. Las /// implementaciones deben garantizar que siempre se devuelve un identificador de idioma válido. Si /// el recurso no tiene uno asignado, se puede devolver, si procede, el identificador de idioma por /// defecto de la aplicación ([`Locale::default_langid()`]). diff --git a/src/locale/request.rs b/src/locale/request.rs index 09404015..10aaa5d0 100644 --- a/src/locale/request.rs +++ b/src/locale/request.rs @@ -10,7 +10,7 @@ use super::{LangId, LanguageIdentifier, Locale}; /// `?lang=...`. El comportamiento concreto depende de la política global [`LangNegotiation`] /// configurada en la aplicación. /// -/// El idioma resultante se expone a través del *trait* [`LangId`], de modo que pueda usarse +/// El idioma resultante se expone a través del trait [`LangId`], de modo que pueda usarse /// [`RequestLocale`] como cualquier otra fuente de idioma en PageTop. /// /// [`LangNegotiation`]: crate::global::LangNegotiation diff --git a/tests/component_children.rs b/tests/component_children.rs index bdec1ee4..bce7d3da 100644 --- a/tests/component_children.rs +++ b/tests/component_children.rs @@ -37,9 +37,10 @@ impl TestComp { /// Creates a component with no id, with fixed output text. fn text(text: &str) -> Self { - let mut c = Self::default(); - c.text = text.to_string(); - c + Self { + text: text.to_string(), + ..Default::default() + } } } diff --git a/tests/component_template.rs b/tests/component_template.rs index fbf0bc8b..e6e0afc4 100644 --- a/tests/component_template.rs +++ b/tests/component_template.rs @@ -31,7 +31,7 @@ impl Theme for MarkerTheme { component: &mut dyn Component, _cx: &mut Context, ) -> Option> { - let template = (&*component).downcast_ref::()?; + let template = (*component).downcast_ref::()?; template.template().downcast_ref::()?; Some(Ok(html! { "marker-template-output" })) } diff --git a/tests/html_props_extras.rs b/tests/html_props_extras.rs index dd8ffad5..784e849a 100644 --- a/tests/html_props_extras.rs +++ b/tests/html_props_extras.rs @@ -5,7 +5,7 @@ use pagetop::prelude::*; #[pagetop::test] async fn set_and_read_extra() { let props = Props::default().with_prop(PropsOp::set_extra("ext.flag", true)); - assert_eq!(*props.extra::("ext.flag").unwrap(), true); + assert!(*props.extra::("ext.flag").unwrap()); } #[pagetop::test] @@ -52,13 +52,13 @@ async fn extra_type_mismatch() { #[pagetop::test] async fn extra_or_returns_value_when_found() { let props = Props::default().with_prop(PropsOp::set_extra("ext.flag", true)); - assert_eq!(props.extra_or("ext.flag", false), true); + assert!(props.extra_or("ext.flag", false)); } #[pagetop::test] async fn extra_or_returns_default_on_missing() { let props = Props::default(); - assert_eq!(props.extra_or("ext.flag", false), false); + assert!(!props.extra_or("ext.flag", false)); } #[pagetop::test] @@ -72,7 +72,7 @@ async fn extra_or_returns_default_on_type_mismatch() { #[pagetop::test] async fn extra_or_default_returns_type_default_on_missing() { let props = Props::default(); - assert_eq!(props.extra_or_default::("ext.flag"), false); + assert!(!props.extra_or_default::("ext.flag")); assert_eq!(props.extra_or_default::("ext.count"), 0); } @@ -93,7 +93,7 @@ async fn extra_or_else_calls_closure_on_missing() { async fn clone_preserves_extras() { let props = Props::default().with_prop(PropsOp::set_extra("ext.flag", true)); let cloned = props.clone(); - assert_eq!(*cloned.extra::("ext.flag").unwrap(), true); + assert!(*cloned.extra::("ext.flag").unwrap()); } #[pagetop::test] @@ -103,7 +103,7 @@ async fn multiple_extras_with_different_types() { .with_prop(PropsOp::set_extra("ext.count", 42_u32)) .with_prop(PropsOp::set_extra("ext.label", "hello".to_string())); - assert_eq!(*props.extra::("ext.flag").unwrap(), true); + assert!(*props.extra::("ext.flag").unwrap()); assert_eq!(*props.extra::("ext.count").unwrap(), 42); assert_eq!(props.extra::("ext.label").unwrap(), "hello"); }