Skip to content

Commit 28d0388

Browse files
committed
- Removed unnecessary enumerations
- Optimized the deduplication implementation of `Effect`
1 parent 77539fe commit 28d0388

File tree

3 files changed

+8
-20
lines changed

3 files changed

+8
-20
lines changed

cache/src/effect.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ impl Effect {
99
let e = Rc::new(Effect { f: Box::new(f) });
1010

1111
crate::current_effect_push(e.clone());
12-
1312
e.run();
13+
crate::current_effect_pop();
1414

15-
crate::current_effect_pop()
15+
e
1616
}
1717

1818
pub(crate) fn run(&self) {

cache/src/lib.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,3 @@
1-
pub enum Trace {
2-
Push,
3-
Pop,
4-
}
5-
6-
pub enum MemoOperator {
7-
Memo(Trace),
8-
Pop,
9-
}
10-
111
mod cache;
122
mod call_stack;
133

cache/src/signal.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,12 @@ where
6161
{
6262
self.dependents.borrow_mut().push(*last);
6363
}
64-
if let Some(e) = call_stack::current_effect_peak()
65-
&& !self
66-
.effects
67-
.borrow()
68-
.iter()
69-
.any(|w| w.as_ptr() == Rc::as_ptr(&e))
70-
{
71-
self.effects.borrow_mut().push(Rc::downgrade(&e));
64+
65+
if let Some(e) = call_stack::current_effect_peak() {
66+
let e = Rc::downgrade(&e);
67+
if !self.effects.borrow().iter().any(|w| Weak::ptr_eq(w, &e)) {
68+
self.effects.borrow_mut().push(e);
69+
}
7270
}
7371

7472
self.value.borrow()

0 commit comments

Comments
 (0)