mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
sync/channels: fixes for try_push/pop(), optimizations (#6352)
This commit is contained in:
17
vlib/sync/channel_try_buf_test.v
Executable file
17
vlib/sync/channel_try_buf_test.v
Executable file
@@ -0,0 +1,17 @@
|
||||
fn test_channel_try_buffered() {
|
||||
ch := chan int{cap: 5}
|
||||
for z in 2..13 {
|
||||
if ch.try_push(z) == .not_ready {
|
||||
assert z == 7
|
||||
break
|
||||
}
|
||||
}
|
||||
mut obj := int(0)
|
||||
for ch.try_pop(obj) == .success {
|
||||
println(obj)
|
||||
}
|
||||
assert obj == 6
|
||||
ch <- 17
|
||||
obj = <-ch
|
||||
assert obj == 17
|
||||
}
|
||||
Reference in New Issue
Block a user