clarify the behavior of newChan

follow up the advice of `timothee`
This commit is contained in:
flywind
2021-03-12 22:18:10 +08:00
committed by GitHub
parent c7e4e96aaf
commit 686bf3bfc6

View File

@@ -506,5 +506,9 @@ func close*[T](c: Channel[T]): bool {.inline.} =
func peek*[T](c: Channel[T]): int {.inline.} = peek(c.d)
proc newChannel*[T](elements = 30): Channel[T] =
## Returns a new `Channel`. `elements` should be positive.
## `elements` is used to specify whether a channel is buffered or not.
## If `elements` = 1, the channel is unbuffered. If `elements` > 1, the
## channel is buffered.
assert elements >= 1, "Elements must be positive!"
result = Channel[T](d: allocChannel(sizeof(T), elements))