The following main.rs replicates the clippy warning:
```
use yew::prelude::*;
struct Props {
droppable: Vec<()>,
}
fn component(props: &Props) -> Html {
let props = Props { droppable: Vec::new() };
html! { <Component ..props /> }
}
fn main() {}
```
If I'm not mistaken this happens when using the `..` on any `Properties` with a field that implements `Drop`.
* Adding old_props to fn changed()
* Change old_props type to &Self::Properties
* Update examples that use fn changed() and want old_props
* Fix tests
* Fix invalid test flags
* cargo fmt
* Oops wrong regex
* Revert change for older version
* Remove unnecessary clone
* Add migration guide
* Oh wow the test was not running xD
* Set to properties, not attributes
* fix tests
* Add tests
* enable disabled test, fmt
* Introduce @key syntax to forcefully set as attribute
* Everything compiles
* More tests
* id as property
* This was not meant to be committed
* Make test pass, fmt + clippy
* fucking rustfmt
* is this enough formatting
* that was not supposed to be commited
* apply review
* fmt
* fix CI
* will you be happy now, clippy?
* don't attach noderef to components, add test case
* remove node_ref from VNode and VComp
* fmt & macro tests
* remove uneeded test & todo
this test is done at compile time. there's no node_ref field so it can't be set
* feature soundness & clippy
* add marker field, in an attempt to reduce bundle size
* Update migration guide
* Makes Prepared States to be Rc'ed.
* Update example.
* Make prepared states work on none runtime as well.
* Remove more feature flags.
* Users always have to manually construct dependency into Rc.
* Import Rc.
* Revert "Users always have to manually construct dependency into Rc."
This reverts commit 9eee1da3e9a46e69a7b07e6064eb163e06261bfb.
* Revert "Import Rc."
This reverts commit d6bb90dc155d2bf87fd18eec4b78b8e07a9cc7a7.
* Use IntoPropValue for node refs in html component
* Add NodeRef ImplicitClone test for html element
* Change node_refs example to use ImplicitClone
* Reuse key and ref attribute wrapping
* remove props checking, but take builder by mut ref
* allow property name `build`
* add rough state token machinery
* first working impl, readd props checking
* improve error message
* add documentation and last adjustements
* address review
* rework a bunch of feature flags to be more principled
* fixup of Collectable
* silence clippy
* unfix Mountable trait
leads to bundle size increase, so stick to the optimized version
* use required-features for function_router
* use --all-features in various places
* disable tokio dependency on wasm tests again
* add some #[inline] annotations
* merge one more feature annotations
* fixup: remove a line connected to trace_hydration
* remove pr-flow, run all the tests when asked
* make tests that were never run pass
* run tests cargo make properly
* use wasm-pack-base test for running wasm tests
* cargo make config should be good
* update CI
* Make Function Component to Implement BaseComponent.
* Remove IntoComponent.
* Inline some methods.
* Move some logic out of proc macro.
* Move position of the self generics.
* Discourage direct implementation `FunctionComponent` & `#[doc(hidden)]`.
* Fix const function component.
* Show Properties on the function definition.
* Filter certain doc attributes to be applied to type alias. More precise warnings.
* Implement macro-based hook.
* Add fail case.
* Function Component no longer a type alias.
* Clippy!
* Force 'static on generics.
* Fix clippy!
* Fix clippy and trybuild.
* Fix clippy and trybuild.
* Fix clippy.
* BaseComponent was not sealed properly.
* Adjust prelude.
* Public API should use IntoComponent for better ergonomics.
* Fix race condition.
* Fix trybuild.
* Fix Call Generics & FnOnce macro hygiene.
* Add a failure case as well.
* Remove a unused struct in test case.
* Update packages/yew-macro/tests/hook_attr/hook-const-generic-pass.rs
Co-authored-by: Muhammad Hamza <muhammadhamza1311@gmail.com>
* Make Html a Result.
* Fix tests.
* Implement Suspense.
* Schedule render when suspension is resumed.
* Shift children into a detached node.
* styled example.
* Update wording a little bit.
* Move hint to hint.
* Add some tests.
* Fix clippy.
* Add docs.
* Add to sidebar.
* Fix syntax highlight.
* Component -> BaseComponent.
* Html -> VNode, HtmlResult = RenderResult<Html>.
* Suspendible Function Component.
* Add a method to create suspension from futures.
* Revert extra changes.
* Fix tests.
* Update documentation.
* Switch to custom trait to make test reliable.
* Fix file permission.
* Fix docs.
* Remove log.
* Fix file permission.
* Fix component name error.
* Make Suspension a future.
* silence some warnings from derive(Properties)
* for consistency preserve [#deny(..)]
* preserve some attributes on the struct def
adds a test case to check for several warnings
* add #[deny] in test cases to error instead of warning on failure
Co-authored-by: Julius Lungys <32368314+voidpumpkin@users.noreply.github.com>