1
0
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:
Uwe Krüger
2020-09-12 02:29:11 +02:00
committed by GitHub
parent 07b5d6b1b6
commit b10d79c4d9
4 changed files with 44 additions and 8 deletions

View 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
}