-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Tracking issue for Ipv{4,6}Addr convenience methods #27709
Copy link
Copy link
Open
Labels
A-ioArea: `std::io`, `std::fs`, `std::net` and `std::path`Area: `std::io`, `std::fs`, `std::net` and `std::path`B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCLibs-TrackedLibs issues that are tracked on the team's project board.Libs issues that are tracked on the team's project board.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.
Metadata
Metadata
Assignees
Labels
A-ioArea: `std::io`, `std::fs`, `std::net` and `std::path`Area: `std::io`, `std::fs`, `std::net` and `std::path`B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCLibs-TrackedLibs issues that are tracked on the team's project board.Libs issues that are tracked on the team's project board.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.
Type
Fields
Give feedbackNo fields configured for issues without a type.
The below is a list of methods left to be stabilized under the
ipfeature. The path forward today is unclear; if you'd like to push through any method on here the libs team is interested in a PR with links to the associated RFCs or other official documentation. Let us know!IpAddr::is_documentationIpv6Addr::is_documentationIpAddr::is_globalIpv4Addr::is_globalIpv6Addr::is_globalIpv4Addr::is_sharedRemoveIpv4Addr::is_ietf_protocol_assignmentIpv4Addr::is_ietf_protocol_assignment#86439Ipv4Addr::is_benchmarkingIpv4Addr::is_reservedIpv6Addr::is_unicast_globalIpv6Addr::is_unicast_link_localRemoveIpv6Addr::is_unicast_link_local_strictIpv6Addr::is_unicast_link_local_strict#85819RemoveIpv6Addr::is_unicast_site_localIpv6Addr::is_unicast_site_local#85820Ipv6Addr::is_unique_localIpv6Addr::multicast_scopeIpv6Addr::is_ipv4_mappedIpv6Addr::to_ipv4_mappedStabilizeIpv6Addr::to_ipv4_mapped#96906Ipv6Addr::to_canonicalStabilize{IpAddr, Ipv6Addr}::to_canonical#115955IpAddr::to_canonicalStabilize{IpAddr, Ipv6Addr}::to_canonical#115955Steps
netmodule for TCP/UDP #22015Subsets of the listed methods can be stabilized, rather than attempting to stabilize everything at once.
Unresolved Questions
is_documentationis not up to dateIpv6Addr::is_documentationshould be expanded to include RFC 9637's3ffff::/20#137821From @KodrAus in #76098 (comment):
Ipv6Addr::is_unicast_*methods with aIpv6Addr::unicast_scopemethod that returns aIpv6UnicastScopeenum (Stabilize the "IP" feature #76098 (comment))?Ipv6Addr::to_ipv4to ignore deprecated IPv4-compatible addresses, or deprecate the whole method in favor of the more correctIpv6Addr::to_ipv4_mappedmethod (Stabilize the "IP" feature #76098 (comment))?Ipv6Addr::is_*methods now properly considering mapped (non-deprecated) IPv4 addresses? I'd personally be comfortable considering the old behavior a bug.