Jelajahi Sumber

fix: Make `Writable::toggle` use peek to avoid subscribing as `Readable::Cloned` uses `Readable::read` (#4166)

Marc Espin 1 bulan lalu
induk
melakukan
ab76d909e1
1 mengubah file dengan 2 tambahan dan 1 penghapusan
  1. 2 1
      packages/signals/src/write.rs

+ 2 - 1
packages/signals/src/write.rs

@@ -102,7 +102,8 @@ pub trait Writable: Readable {
     where
         Self::Target: std::ops::Not<Output = Self::Target> + Clone,
     {
-        self.set(!self.cloned());
+        let inverted = !(*self.peek()).clone();
+        self.set(inverted);
     }
 
     /// Index into the inner value and return a reference to the result.