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:
- Tracking issue for Ipv{4,6}Addr convenience methods #27709
- Constify std:🥅:IpAddr, Ipv4Addr, and Ipv6Addr #76205
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