rename take to manually drop

This commit is contained in:
Evan Almloff 2024-03-08 10:35:27 -06:00
parent 60a84956d1
commit 5f9e5f607b
4 changed files with 11 additions and 11 deletions

View file

@ -186,8 +186,8 @@ impl<T: 'static, S: Storage<T>> GenerationalBox<T, S> {
}
}
/// Take the value out of the generational box and invalidate the generational box. This will return the value if the value was taken.
pub fn take(&self) -> Option<T> {
/// Drop the value out of the generational box and invalidate the generational box. This will return the value if the value was taken.
pub fn manually_drop(&self) -> Option<T> {
if self.validate() {
Storage::take(&self.raw.0.data)
} else {

View file

@ -190,11 +190,9 @@ impl<T: 'static, S: Storage<T>> CopyValue<T, S> {
}
}
/// Take the value out of the CopyValue, invalidating the value in the process.
pub fn take(&self) -> T {
self.value
.take()
.expect("value is already dropped or borrowed")
/// Manually drop the value in the CopyValue, invalidating the value in the process.
pub fn manually_drop(&self) -> Option<T> {
self.value.manually_drop()
}
/// Get the scope this value was created in.

View file

@ -50,7 +50,9 @@ impl<T: 'static, S: Storage<SignalData<T>>> ReadOnlySignal<T, S> {
#[doc(hidden)]
/// This should only be used by the `rsx!` macro.
pub fn __take(&self) -> T {
self.inner.take()
self.inner
.manually_drop()
.expect("Signal has already been dropped")
}
}

View file

@ -136,9 +136,9 @@ impl<T: 'static, S: Storage<SignalData<T>>> Signal<T, S> {
}
}
/// Take the value out of the signal, invalidating the signal in the process.
pub fn take(&self) -> T {
self.inner.take().value
/// Drop the value out of the signal, invalidating the signal in the process.
pub fn manually_drop(&self) -> Option<T> {
self.inner.manually_drop().map(|i| i.value)
}
/// Get the scope the signal was created in.