Skip to content

Commit 35a5dca

Browse files
committed
[WIP] Removed more unused code
1 parent de80bec commit 35a5dca

15 files changed

Lines changed: 9 additions & 243 deletions

flourish-bound/src/signal.rs

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,26 +1378,6 @@ impl<T: ?Sized, S: ?Sized + UnmanagedSignal<T, SR>, SR: ?Sized + SignalsRuntimeR
13781378
self._managed().get_clone()
13791379
}
13801380

1381-
/// Records `self` as dependency and retrieves a copy of the value.
1382-
///
1383-
/// Prefer [`Signal::get`] where available.
1384-
pub fn get_exclusive(&self) -> T
1385-
where
1386-
T: Copy,
1387-
{
1388-
self._managed().get_clone_exclusive()
1389-
}
1390-
1391-
/// Records `self` as dependency and retrieves a clone of the value.
1392-
///
1393-
/// Prefer [`Signal::get_clone`] where available.
1394-
pub fn get_clone_exclusive(&self) -> T
1395-
where
1396-
T: Clone,
1397-
{
1398-
self._managed().get_clone_exclusive()
1399-
}
1400-
14011381
/// Records `self` as dependency and allows borrowing the value.
14021382
pub fn read<'r>(&'r self) -> S::Read<'r>
14031383
where
@@ -1407,17 +1387,6 @@ impl<T: ?Sized, S: ?Sized + UnmanagedSignal<T, SR>, SR: ?Sized + SignalsRuntimeR
14071387
self._managed().read()
14081388
}
14091389

1410-
/// Records `self` as dependency and allows borrowing the value.
1411-
///
1412-
/// Prefer [`Signal::read`] where available.
1413-
pub fn read_exclusive<'r>(&'r self) -> S::ReadExclusive<'r>
1414-
where
1415-
S: Sized,
1416-
T: 'r,
1417-
{
1418-
self._managed().read_exclusive()
1419-
}
1420-
14211390
/// The same as [`Signal::read`], but dyn-compatible.
14221391
///
14231392
/// Prefer [`Signal::read`] where available.
@@ -1428,16 +1397,6 @@ impl<T: ?Sized, S: ?Sized + UnmanagedSignal<T, SR>, SR: ?Sized + SignalsRuntimeR
14281397
self._managed().read_dyn()
14291398
}
14301399

1431-
/// The same as [`Signal::read_exclusive`], but dyn-compatible.
1432-
///
1433-
/// Prefer [`Signal::read_dyn`] where available.
1434-
pub fn read_exclusive_dyn<'r>(&'r self) -> Box<dyn 'r + Guard<T>>
1435-
where
1436-
T: 'r,
1437-
{
1438-
self._managed().read_exclusive_dyn()
1439-
}
1440-
14411400
/// Clones this [`Signal`]'s [`SignalsRuntimeRef`].
14421401
pub fn clone_runtime_ref(&self) -> SR
14431402
where

flourish-bound/src/signal_arc.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ where
109109
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
110110
self.strong.clone_runtime_ref().run_detached(|| {
111111
f.debug_struct("SignalSR")
112-
.field("(value)", &&**self.strong.read_exclusive_dyn())
112+
.field("(value)", &&**self.strong.read_dyn())
113113
.finish_non_exhaustive()
114114
})
115115
}

flourish-bound/src/subscription.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ where
6363
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
6464
self.subscribed.clone_runtime_ref().run_detached(|| {
6565
f.debug_struct("SubscriptionSR")
66-
.field("(value)", &&**self.subscribed.read_exclusive_dyn())
66+
.field("(value)", &&**self.subscribed.read_dyn())
6767
.finish_non_exhaustive()
6868
})
6969
}
@@ -516,7 +516,7 @@ impl<T: ?Sized, SR: ?Sized + SignalsRuntimeRef> Subscription<T, Opaque, SR> {
516516
let effect = effect_with_runtime!({
517517
let sub = &sub;
518518
move || {
519-
if !predicate_fn_pin(&**sub.read_exclusive_dyn()) {
519+
if !predicate_fn_pin(&**sub.read_dyn()) {
520520
drop(lock.take());
521521
}
522522
}
@@ -776,7 +776,7 @@ unsafe fn assume_init_subscription<
776776
unsafe {
777777
//SAFETY: `MaybeUninit` is ABI-compatible with what it wraps.
778778
Box::from_raw(
779-
*(&Box::into_raw(self.project_ref().0.read_exclusive_dyn())
779+
*(&Box::into_raw(self.project_ref().0.read_dyn())
780780
as *const *mut dyn Guard<MaybeUninit<T>> as *const *mut dyn Guard<T>),
781781
)
782782
}

flourish-bound/src/unmanaged/cached.rs

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@ pub(crate) struct Cached<T: Clone, S: UnmanagedSignal<T, SR>, SR: SignalsRuntime
2121
);
2222

2323
pub(crate) struct CachedGuard<'a, T: ?Sized>(RwLockReadGuard<'a, T>);
24-
pub(crate) struct CachedGuardExclusive<'a, T: ?Sized>(RwLockWriteGuard<'a, T>);
2524

2625
impl<'a, T: ?Sized> Guard<T> for CachedGuard<'a, T> {}
27-
impl<'a, T: ?Sized> Guard<T> for CachedGuardExclusive<'a, T> {}
2826

2927
impl<'a, T: ?Sized> Deref for CachedGuard<'a, T> {
3028
type Target = T;
@@ -34,26 +32,12 @@ impl<'a, T: ?Sized> Deref for CachedGuard<'a, T> {
3432
}
3533
}
3634

37-
impl<'a, T: ?Sized> Deref for CachedGuardExclusive<'a, T> {
38-
type Target = T;
39-
40-
fn deref(&self) -> &Self::Target {
41-
self.0.deref()
42-
}
43-
}
44-
4535
impl<'a, T: ?Sized> Borrow<T> for CachedGuard<'a, T> {
4636
fn borrow(&self) -> &T {
4737
self.0.borrow()
4838
}
4939
}
5040

51-
impl<'a, T: ?Sized> Borrow<T> for CachedGuardExclusive<'a, T> {
52-
fn borrow(&self) -> &T {
53-
self.0.borrow()
54-
}
55-
}
56-
5741
impl<T: Clone, S: UnmanagedSignal<T, SR>, SR: SignalsRuntimeRef> Cached<T, S, SR> {
5842
pub(crate) fn new(source: S) -> Self {
5943
let runtime = source.clone_runtime_ref();
@@ -87,7 +71,7 @@ impl<T: Clone, S: UnmanagedSignal<T, SR>, SR: SignalsRuntimeRef>
8771
cache: Pin<&ForceSyncUnpin<RwLock<T>>>,
8872
) -> Propagation {
8973
//FIXME: This can be split up to avoid congestion where not necessary.
90-
let new_value = source.project_ref().0.get_clone_exclusive();
74+
let new_value = source.project_ref().0.get_clone();
9175
*cache.project_ref().0.write().unwrap() = new_value;
9276
Propagation::Propagate
9377
}
@@ -115,7 +99,7 @@ impl<T: Clone, S: UnmanagedSignal<T, SR>, SR: SignalsRuntimeRef> Cached<T, S, SR
11599
) -> Token<'a> {
116100
cache.write(ForceSyncUnpin(
117101
//FIXME: This can be split up to avoid congestion where not necessary.
118-
source.project_ref().0.get_clone_exclusive().into(),
102+
source.project_ref().0.get_clone().into(),
119103
))
120104
}
121105
}

flourish-bound/src/unmanaged/computed.rs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,8 @@ pub(crate) struct Computed<T, F: FnMut() -> T, SR: SignalsRuntimeRef>(
2424
struct ForceSyncUnpin<T: ?Sized>(#[pin] T);
2525

2626
pub(crate) struct ComputedGuard<'a, T: ?Sized>(RwLockReadGuard<'a, T>);
27-
pub(crate) struct ComputedGuardExclusive<'a, T: ?Sized>(RwLockWriteGuard<'a, T>);
2827

2928
impl<'a, T: ?Sized> Guard<T> for ComputedGuard<'a, T> {}
30-
impl<'a, T: ?Sized> Guard<T> for ComputedGuardExclusive<'a, T> {}
3129

3230
impl<'a, T: ?Sized> Deref for ComputedGuard<'a, T> {
3331
type Target = T;
@@ -37,26 +35,12 @@ impl<'a, T: ?Sized> Deref for ComputedGuard<'a, T> {
3735
}
3836
}
3937

40-
impl<'a, T: ?Sized> Deref for ComputedGuardExclusive<'a, T> {
41-
type Target = T;
42-
43-
fn deref(&self) -> &Self::Target {
44-
self.0.deref()
45-
}
46-
}
47-
4838
impl<'a, T: ?Sized> Borrow<T> for ComputedGuard<'a, T> {
4939
fn borrow(&self) -> &T {
5040
self.0.borrow()
5141
}
5242
}
5343

54-
impl<'a, T: ?Sized> Borrow<T> for ComputedGuardExclusive<'a, T> {
55-
fn borrow(&self) -> &T {
56-
self.0.borrow()
57-
}
58-
}
59-
6044
impl<T, F: FnMut() -> T, SR: SignalsRuntimeRef> Computed<T, F, SR> {
6145
pub(crate) fn new(fn_pin: F, runtime: SR) -> Self {
6246
Self(RawSignal::with_runtime(

flourish-bound/src/unmanaged/computed_uncached.rs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@ pub(crate) struct ComputedUncached<T, F: Fn() -> T, SR: SignalsRuntimeRef>(
1616
);
1717

1818
pub(crate) struct ComputedUncachedGuard<T: ?Sized>(T);
19-
pub(crate) struct ComputedUncachedGuardExclusive<T: ?Sized>(T);
2019

2120
impl<T: ?Sized> Guard<T> for ComputedUncachedGuard<T> {}
22-
impl<T: ?Sized> Guard<T> for ComputedUncachedGuardExclusive<T> {}
2321

2422
impl<T: ?Sized> Deref for ComputedUncachedGuard<T> {
2523
type Target = T;
@@ -29,26 +27,12 @@ impl<T: ?Sized> Deref for ComputedUncachedGuard<T> {
2927
}
3028
}
3129

32-
impl<T: ?Sized> Deref for ComputedUncachedGuardExclusive<T> {
33-
type Target = T;
34-
35-
fn deref(&self) -> &Self::Target {
36-
&self.0
37-
}
38-
}
39-
4030
impl<T: ?Sized> Borrow<T> for ComputedUncachedGuard<T> {
4131
fn borrow(&self) -> &T {
4232
self.0.borrow()
4333
}
4434
}
4535

46-
impl<T: ?Sized> Borrow<T> for ComputedUncachedGuardExclusive<T> {
47-
fn borrow(&self) -> &T {
48-
self.0.borrow()
49-
}
50-
}
51-
5236
impl<T, F: Fn() -> T, SR: SignalsRuntimeRef> ComputedUncached<T, F, SR> {
5337
pub(crate) fn new(fn_pin: F, runtime: SR) -> Self {
5438
Self(RawSignal::with_runtime(

flourish-bound/src/unmanaged/computed_uncached_mut.rs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,8 @@ pub(crate) struct ComputedUncachedMut<T, F: FnMut() -> T, SR: SignalsRuntimeRef>
1919
struct ForceSyncUnpin<T: ?Sized>(#[pin] T);
2020

2121
pub(crate) struct ComputedUncachedMutGuard<T: ?Sized>(T);
22-
pub(crate) struct ComputedUncachedMutGuardExclusive<T: ?Sized>(T);
2322

2423
impl<T: ?Sized> Guard<T> for ComputedUncachedMutGuard<T> {}
25-
impl<T: ?Sized> Guard<T> for ComputedUncachedMutGuardExclusive<T> {}
2624

2725
impl<T: ?Sized> Deref for ComputedUncachedMutGuard<T> {
2826
type Target = T;
@@ -32,26 +30,12 @@ impl<T: ?Sized> Deref for ComputedUncachedMutGuard<T> {
3230
}
3331
}
3432

35-
impl<T: ?Sized> Deref for ComputedUncachedMutGuardExclusive<T> {
36-
type Target = T;
37-
38-
fn deref(&self) -> &Self::Target {
39-
&self.0
40-
}
41-
}
42-
4333
impl<T: ?Sized> Borrow<T> for ComputedUncachedMutGuard<T> {
4434
fn borrow(&self) -> &T {
4535
self.0.borrow()
4636
}
4737
}
4838

49-
impl<T: ?Sized> Borrow<T> for ComputedUncachedMutGuardExclusive<T> {
50-
fn borrow(&self) -> &T {
51-
self.0.borrow()
52-
}
53-
}
54-
5539
impl<T, F: FnMut() -> T, SR: SignalsRuntimeRef> ComputedUncachedMut<T, F, SR> {
5640
pub(crate) fn new(fn_pin: F, runtime: SR) -> Self {
5741
Self(RawSignal::with_runtime(
@@ -92,7 +76,7 @@ impl<T, F: FnMut() -> T, SR: SignalsRuntimeRef> UnmanagedSignal<T, SR>
9276
where
9377
T: Clone,
9478
{
95-
self.get_clone_exclusive()
79+
self.0.clone()
9680
}
9781

9882
fn read<'r>(self: Pin<&'r Self>) -> ComputedUncachedMutGuard<T>

flourish-bound/src/unmanaged/folded.rs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,8 @@ pub(crate) struct Folded<T, F: FnMut(&mut T) -> Propagation, SR: SignalsRuntimeR
2525
struct ForceSyncUnpin<T: ?Sized>(T);
2626

2727
pub(crate) struct FoldedGuard<'a, T: ?Sized>(RwLockReadGuard<'a, T>);
28-
pub(crate) struct FoldedGuardExclusive<'a, T: ?Sized>(RwLockWriteGuard<'a, T>);
2928

3029
impl<'a, T: ?Sized> Guard<T> for FoldedGuard<'a, T> {}
31-
impl<'a, T: ?Sized> Guard<T> for FoldedGuardExclusive<'a, T> {}
3230

3331
impl<'a, T: ?Sized> Deref for FoldedGuard<'a, T> {
3432
type Target = T;
@@ -38,26 +36,12 @@ impl<'a, T: ?Sized> Deref for FoldedGuard<'a, T> {
3836
}
3937
}
4038

41-
impl<'a, T: ?Sized> Deref for FoldedGuardExclusive<'a, T> {
42-
type Target = T;
43-
44-
fn deref(&self) -> &Self::Target {
45-
self.0.deref()
46-
}
47-
}
48-
4939
impl<'a, T: ?Sized> Borrow<T> for FoldedGuard<'a, T> {
5040
fn borrow(&self) -> &T {
5141
self.0.borrow()
5242
}
5343
}
5444

55-
impl<'a, T: ?Sized> Borrow<T> for FoldedGuardExclusive<'a, T> {
56-
fn borrow(&self) -> &T {
57-
self.0.borrow()
58-
}
59-
}
60-
6145
impl<T, F: FnMut(&mut T) -> Propagation, SR: SignalsRuntimeRef> Folded<T, F, SR> {
6246
pub(crate) fn new(init: T, fn_pin: F, runtime: SR) -> Self {
6347
Self(RawSignal::with_runtime(

flourish-bound/src/unmanaged/inert_cell.rs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,8 @@ impl<T: Debug + ?Sized> Debug for AssertSync<RwLock<T>> {
4949
}
5050

5151
pub(crate) struct InertCellGuard<'a, T: ?Sized>(RwLockReadGuard<'a, T>);
52-
pub(crate) struct InertCellGuardExclusive<'a, T: ?Sized>(RwLockWriteGuard<'a, T>);
5352

5453
impl<'a, T: ?Sized> Guard<T> for InertCellGuard<'a, T> {}
55-
impl<'a, T: ?Sized> Guard<T> for InertCellGuardExclusive<'a, T> {}
5654

5755
impl<'a, T: ?Sized> Deref for InertCellGuard<'a, T> {
5856
type Target = T;
@@ -62,26 +60,12 @@ impl<'a, T: ?Sized> Deref for InertCellGuard<'a, T> {
6260
}
6361
}
6462

65-
impl<'a, T: ?Sized> Deref for InertCellGuardExclusive<'a, T> {
66-
type Target = T;
67-
68-
fn deref(&self) -> &Self::Target {
69-
self.0.deref()
70-
}
71-
}
72-
7363
impl<'a, T: ?Sized> Borrow<T> for InertCellGuard<'a, T> {
7464
fn borrow(&self) -> &T {
7565
self.0.borrow()
7666
}
7767
}
7868

79-
impl<'a, T: ?Sized> Borrow<T> for InertCellGuardExclusive<'a, T> {
80-
fn borrow(&self) -> &T {
81-
self.0.borrow()
82-
}
83-
}
84-
8569
impl<T: ?Sized, SR: SignalsRuntimeRef> InertCell<T, SR> {
8670
pub(crate) fn with_runtime(initial_value: T, runtime: SR) -> Self
8771
where
@@ -96,10 +80,6 @@ impl<T: ?Sized, SR: SignalsRuntimeRef> InertCell<T, SR> {
9680
InertCellGuard(self.touch().read().unwrap())
9781
}
9882

99-
pub(crate) fn read_exclusive<'a>(self: Pin<&'a Self>) -> impl 'a + Guard<T> {
100-
InertCellGuardExclusive(self.touch().write().unwrap())
101-
}
102-
10383
fn touch(self: Pin<&Self>) -> &RwLock<T> {
10484
unsafe {
10585
// SAFETY: Doesn't defer memory access.

flourish-bound/src/unmanaged/raw_effect.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ pub struct RawEffect<T, S: FnMut() -> T, D: FnMut(T), SR: SignalsRuntimeRef>(
1313
RawSignal<ForceSyncUnpin<Mutex<(S, D)>>, ForceSyncUnpin<Mutex<Option<T>>>, SR>,
1414
);
1515

16-
//TODO: Add some associated methods, like not-boxing `read`/`read_exclusive`.
16+
//TODO: Add some associated methods, like not-boxing `read`.
1717
//TODO: Turn some of these functions into methods.
1818

1919
#[doc(hidden)]

0 commit comments

Comments
 (0)