Skip to content

Commit 91770af

Browse files
committed
gets rid of ugly casts
1 parent e6731a9 commit 91770af

File tree

6 files changed

+18
-15
lines changed

6 files changed

+18
-15
lines changed

Diff for: codex/blockexchange/engine/advertiser.nim

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ proc advertiseLocalStoreLoop(b: Advertiser) {.async: (raises: []).} =
8686
if cidsIter =? await b.localStore.listBlocks(blockType = BlockType.Manifest):
8787
trace "Advertiser begins iterating blocks..."
8888
for c in cidsIter:
89-
if cid =? (await cast[Future[?!Cid].Raising([CancelledError])](c)):
89+
if cid =? await c:
9090
await b.advertiseBlock(cid)
9191
trace "Advertiser iterating blocks finished."
9292

Diff for: codex/node.nim

+1-1
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@ proc iterateManifests*(self: CodexNodeRef, onManifest: OnManifest) {.async.} =
485485
return
486486

487487
for c in cidsIter:
488-
if cid =? (await cast[Future[?!Cid].Raising([CancelledError])](c)):
488+
if cid =? await c:
489489
without blk =? await self.networkStore.getBlock(cid):
490490
warn "Failed to get manifest block by cid", cid
491491
return

Diff for: codex/stores/maintenance.nim

+1-2
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ proc runBlockCheck(
8383

8484
var numberReceived = 0
8585
for beFut in iter:
86-
let beRes = await cast[Future[?!BlockExpiration].Raising([CancelledError])](beFut)
87-
without be =? beRes, err:
86+
without be =? (await beFut), err:
8887
trace "Unable to obtain blockExpiration from iterator"
8988
continue
9089
inc numberReceived

Diff for: tests/codex/stores/commonstoretests.nim

+3-3
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ proc commonBlockStoreTests*(
110110

111111
var count = 0
112112
for c in cidsIter:
113-
if cid =? (await cast[Future[?!Cid].Raising([CancelledError])](c)):
113+
if cid =? await c:
114114
check (await store.hasBlock(cid)).tryGet()
115115
count.inc
116116

@@ -134,7 +134,7 @@ proc commonBlockStoreTests*(
134134

135135
var count = 0
136136
for c in cidsIter:
137-
if cid =? (await cast[Future[?!Cid].Raising([CancelledError])](c)):
137+
if cid =? await c:
138138
check manifestBlock.cid == cid
139139
check (await store.hasBlock(cid)).tryGet()
140140
count.inc
@@ -159,7 +159,7 @@ proc commonBlockStoreTests*(
159159

160160
var count = 0
161161
for c in cidsIter:
162-
if cid =? (await cast[Future[?!Cid].Raising([CancelledError])](c)):
162+
if cid =? await c:
163163
check (await store.hasBlock(cid)).tryGet()
164164
count.inc
165165

Diff for: tests/codex/stores/testrepostore.nim

+3-6
Original file line numberDiff line numberDiff line change
@@ -293,16 +293,13 @@ asyncchecksuite "RepoStore":
293293

294294
test "Should retrieve block expiration information":
295295
proc unpack(
296-
beIter: Future[?!SafeAsyncIter[BlockExpiration]]
296+
beIter: auto
297297
): Future[seq[BlockExpiration]] {.async: (raises: [CancelledError]).} =
298298
var expirations = newSeq[BlockExpiration](0)
299-
without iter =? (
300-
await cast[Future[?!SafeAsyncIter[BlockExpiration]].Raising([CancelledError])](beIter)
301-
), err:
299+
without iter =? (await beIter), err:
302300
return expirations
303301
for beFut in toSeq(iter):
304-
if value =?
305-
(await cast[Future[?!BlockExpiration].Raising([CancelledError])](beFut)):
302+
if value =? (await beFut):
306303
expirations.add(value)
307304
return expirations
308305

Diff for: tests/codex/utils/testsafeasynciter.nim

+9-2
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,14 @@ asyncchecksuite "Test SafeAsyncIter":
356356
iter3.finished
357357

358358
test "Should propagate cancellation error immediately":
359-
let fut = newFuture[Option[?!string]]("testsafeasynciter")
359+
proc newRaisingFuture[T](
360+
fromProc: static[string] = ""
361+
): Future[T] {.async: (raw: true, raises: [CancelledError]).} =
362+
let fut = newFuture[T](fromProc)
363+
return fut
364+
365+
let fut: Future[Option[?!string]].Raising([CancelledError]) =
366+
newRaisingFuture[Option[?!string]]("testsafeasynciter")
360367

361368
let iter1 = SafeAsyncIter[int].new(0 ..< 5).delayBy(10.millis)
362369
let iter2 = await mapFilter[int, string](
@@ -365,7 +372,7 @@ asyncchecksuite "Test SafeAsyncIter":
365372
if i =? i:
366373
if (i < 3):
367374
return some(success($i))
368-
return await cast[Future[Option[?!string]].Raising([CancelledError])](fut),
375+
return await fut,
369376
)
370377

371378
proc cancelFut(): Future[void] {.async.} =

0 commit comments

Comments
 (0)