[yew-devel] [PATCH yew-widget-toolkit 2/4] macros: update no_clone test to adjust to new additional traits
Shannon Sterz
s.sterz at proxmox.com
Tue Jan 14 12:44:38 CET 2025
Signed-off-by: Shannon Sterz <s.sterz at proxmox.com>
---
pwt-macros/tests/widget/no_clone.rs | 13 +++++++++++++
pwt-macros/tests/widget/no_clone.stderr | 8 ++++----
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/pwt-macros/tests/widget/no_clone.rs b/pwt-macros/tests/widget/no_clone.rs
index 72217833..d0fbcbe6 100644
--- a/pwt-macros/tests/widget/no_clone.rs
+++ b/pwt-macros/tests/widget/no_clone.rs
@@ -11,9 +11,21 @@ mod props {
}
pub trait CssPaddingBuilder {}
pub trait CssMarginBuilder {}
+ pub trait AsCssStylesMut {
+ fn as_css_styles_mut(&mut self) -> &mut CssStyles;
+ }
+
+ /// Holds the CSS styles to set on elements
+ #[derive(Clone, Default, Debug, PartialEq)]
+ pub struct CssStyles {}
+
+ pub trait WidgetStyleBuilder {}
+
pub trait WidgetBuilder: Sized {
fn as_std_props_mut(&mut self) -> &mut WidgetStdProps;
+ fn as_std_props(&self) -> &WidgetStdProps;
}
+
pub trait AsClassesMut {
fn as_classes_mut(&mut self) -> &mut Classes;
}
@@ -23,6 +35,7 @@ mod props {
pub struct WidgetStdProps {
pub key: Option<Key>,
pub class: Classes,
+ pub styles: CssStyles,
}
#[derive(PartialEq, Default, Clone)]
pub struct ListenersWrapper {}
diff --git a/pwt-macros/tests/widget/no_clone.stderr b/pwt-macros/tests/widget/no_clone.stderr
index 28b52008..9f6f296c 100644
--- a/pwt-macros/tests/widget/no_clone.stderr
+++ b/pwt-macros/tests/widget/no_clone.stderr
@@ -1,12 +1,12 @@
error[E0277]: the trait bound `Foo: Clone` is not satisfied
- --> tests/widget/no_clone.rs:34:1
+ --> tests/widget/no_clone.rs:47:1
|
-34 | #[widget(pwt=crate, comp=FooComp, @input, @element)]
+47 | #[widget(pwt=crate, comp=FooComp, @input, @element)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `Foo`
|
= note: this error originates in the attribute macro `widget` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `Foo` with `#[derive(Clone)]`
|
-34 + #[derive(Clone)]
-35 | #[widget(pwt=crate, comp=FooComp, @input, @element)]
+47 + #[derive(Clone)]
+48 | #[widget(pwt=crate, comp=FooComp, @input, @element)]
|
--
2.39.5
More information about the yew-devel
mailing list