In the previous snippet I forgot the `spawn`. The code below compiles, but is slower. var cnt = 0 # count for the primes, the '1' bytes for i in 0..<rescnt: # count Kn resgroups|bytes each restrack cnt += ^spawn segcount(i*KB, Kn) <-- the '^' gets it to compile, but threads wait to finish sync() primecnt += cnt.uint # update primecnt for the segm
Changing `0..<rescnt` to `0..rescnt-1` has same error below. Even when I do a `while` loop it throws the same error. ssozp5x1c1par.nim(156, 11) Error: type mismatch: got (uint, FlowVar[system.uint]) but expected one of: proc `+=`[T: SomeOrdinal | uint | uint64](x: var T; y: T) proc `+=`[T: float | float32 | float64](x: var T; y: T) The problem seems to be when `segcount` returns its output their is a type mismatch with `cnt` (?).