fixed `select` on channel for Go backend, also added to Rust backend using macro `select!()`