diff --git a/grpc/src/client/load_balancing/pick_first.rs b/grpc/src/client/load_balancing/pick_first.rs index 0c10807a5..21e5817bb 100644 --- a/grpc/src/client/load_balancing/pick_first.rs +++ b/grpc/src/client/load_balancing/pick_first.rs @@ -91,7 +91,10 @@ impl LbPolicy for PickFirstPolicy { .ok_or("no endpoints")? .addresses; - let address = addresses.pop().ok_or("no addresses")?; + if addresses.is_empty() { + return Err("no addresses".to_string()); + } + let address = addresses.remove(0); let sc = channel_controller.new_subchannel(&address); sc.connect();