feat: props memoization is more powerful
This commit solves the memoization , properly memoizing properties that don't have any generic parameters. This is a rough heuristic to prevent non-static lifetimes from creeping into props and breaking our minual lifetime management. Props that have a generic parameter are opted-out of the `partialeq` requirement and props *without* lifetimes must implement partialeq. We're going to leave manual disabling of memoization for future work.
This commit is contained in:
1 parent
7102fe5f98
commit
73047fe956
37 files changed
+877
-977
No files matched your search
@@ -63,10 +63,12 @@ impl PartialEq for ChildProps {
|
||||
false
|
||||
}
|
||||
}
|
||||
unsafe impl Properties for ChildProps {
|
||||
impl Properties for ChildProps {
|
||||
type Builder = ();
|
||||
const CAN_BE_MEMOIZED: bool = false;
|
||||
fn builder() -> Self::Builder {
|
||||
()
|
||||
}
|
||||
unsafe fn memoize(&self, other: &Self) -> bool {
|
||||
self == other
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user