Open abonander opened 2 months ago
Yes, this is totally correct.
We have a problem where we want to be able to extract the underlying raw/C types, but that means we depend on external crates in our API. For libc this is mostly not a problem because it's stable-ish -- the update to v1 will have this problem though. Windows-sys is worse because they release way too many version for such a low-level crate.
We can drop all types from external types from our API, but we want to keep the ability to get the underlying raw/C types. This problem will have to be solved. I don't have a solution for now.
socket2 0.5.5
depends onwindows-sys 0.48
socket2 0.5.6, 0.5.7
depend onwindows-sys 0.52
This is a breaking change because
windows_sys::Win32::Networking::WinSock::SOCKADDR_STORAGE
is reexported as thesockaddr_storage
type, making it a part of the public API: https://github.com/rust-lang/socket2/blob/master/src/sys/windows.rs#L63This can lead to build failures from a seemingly innocuous
cargo update
:0.5.6
should have been released as0.6.0
.Resolution
socket2
version.windows-sys
dependency should be marked with a warning inCargo.toml
not to bump it in a patch release.We've already worked around the breakage, so I don't really care what happens to the released version.