Skip to content

Commit 3cbb3ee

Browse files
committed
remove double Arc
1 parent 642f9b9 commit 3cbb3ee

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

tests/tests.rs

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ use std::{
88

99
use axpoll::PollSet;
1010

11-
struct Counter(Arc<AtomicUsize>);
11+
struct Counter(AtomicUsize);
1212

1313
impl Counter {
14-
fn new() -> Self {
15-
Self(Arc::new(AtomicUsize::new(0)))
14+
fn new() -> Arc<Self> {
15+
Arc::new(Self(AtomicUsize::new(0)))
1616
}
1717

1818
fn count(&self) -> usize {
@@ -34,16 +34,11 @@ impl Wake for Counter {
3434
}
3535
}
3636

37-
fn make_waker(counter: Arc<AtomicUsize>) -> Waker {
38-
let wrapped = Arc::new(Counter(counter.clone()));
39-
Waker::from(wrapped)
40-
}
41-
4237
#[test]
4338
fn register_and_wake() {
4439
let ps = PollSet::new();
4540
let counter = Counter::new();
46-
let w = make_waker(counter.0.clone());
41+
let w = Waker::from(counter.clone());
4742
ps.register(&w);
4843
assert_eq!(ps.wake(), 1);
4944
assert_eq!(counter.count(), 1);
@@ -60,7 +55,7 @@ fn full_capacity() {
6055
let ps = PollSet::new();
6156
let counter = Counter::new();
6257
for _ in 0..64 {
63-
let w = make_waker(counter.0.clone());
58+
let w = Waker::from(counter.clone());
6459
let cx = Context::from_waker(&w);
6560
ps.register(cx.waker());
6661
}
@@ -74,7 +69,7 @@ fn overwrite() {
7469
let ps = PollSet::new();
7570
let counters = (0..65).map(|_| Counter::new()).collect::<Vec<_>>();
7671
for c in &counters {
77-
let w = make_waker(c.0.clone());
72+
let w = Waker::from(c.clone());
7873
let cx = Context::from_waker(&w);
7974
ps.register(cx.waker());
8075
}
@@ -88,7 +83,7 @@ fn drop_wakes() {
8883
let ps = PollSet::new();
8984
let counters = Counter::new();
9085
for _ in 0..10 {
91-
let w = make_waker(counters.0.clone());
86+
let w = Waker::from(counters.clone());
9287
let cx = Context::from_waker(&w);
9388
ps.register(cx.waker());
9489
}

0 commit comments

Comments
 (0)