INNER CODE UNIT · Rust
Some
domcyrus/rustnet · crates/rustnet-host/src/lib.rs:485
if let Some(port_str) = addr_str.strip_prefix("*:") {
let port = parse_port(port_str)?;
return Some(SocketAddr::new(IpAddr::V4(Ipv4Addr::UNSPECIFIED), port));
}
// Handle IPv6 with brackets: [::1]:8080. Std parsing also accepts scope
// ids like [fe80::1%1]:22, which Ipv6Addr alone would reject.
if addr_str.starts_with('[') {
return addr_str.parse().ok();
}
let last_colon = addr_str.rfind(':')?;
let (ip_str, port_str) = addr_str.split_at(last_colon);
let port_str = &port_str[1..];
let port = parse_port(port_str)?;
let ip = if ip_str.contains(':') {