Stabilize {IpAddr, Ipv6Addr}::to_canonical by tgross35 · Pull Request #115955 · rust-lang/rust (original) (raw)

Make IpAddr::to_canonical and IpV6Addr::to_canonical stable (+const), as well as const stabilize Ipv6Addr::to_ipv4_mapped.

Newly stable API:

impl IpAddr { // Newly stable under ip_to_canonical const fn to_canonical(&self) -> IpAddr; }

impl Ipv6Addr { // Newly stable under ip_to_canonical const fn to_canonical(&self) -> IpAddr;

// Already stable, this makes it const stable under
// `const_ipv6_to_ipv4_mapped`
const fn to_ipv4_mapped(&self) -> Option<Ipv4Addr>

}

These stabilize a subset of the following tracking issues:

Stabilization of all methods under the ip gate was attempted once at #66584 then again at #76098. These were not successful because there are still unknowns about is_documentation is_benchmarking and similar; to_canonical is much more straightforward.

I have looked and could not find any known issues with to_canonical. These were added in 2021 in #87708

cc implementor @the8472

r? libs-api
@rustbot label +T-libs-api +needs-fcp