We are noticing a failing assert in the stdlib when using Socket::recv_from. Due to the interface being a link-local address, the OS may insert a zone index which in some cases will cause mismatches. I'm wondering if it would be a good idea to implement more functionality for make such comparisons easier such as:
compare_ignore_zone checks for equality while ignoring the zone
Seems a bit annoying that it can be either a number or an "implementation defined string" (network interface name in practice).
How does the latter representation work in struct sockaddr_in6? It seems according to the man page to just support the numeric scope id (which appears to be the same thing).
But regardless, once the exact semantics are figured out rust should support this (and at the very least not panic on the OS setting this field).