* Use AttrValue instead of Cow in Classes
* Wrap indexset into Rc
* Impl ImplicitClone for Classes
* clippy
* Trigger CI
* Update macro stderr
* Copy optimization made for String to AttrValue
* Update macro stderr again
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>