about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/builder.rs
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2021-03-27 12:37:24 +0900
committerGitHub <noreply@github.com>2021-03-27 12:37:24 +0900
commitd340f63cca38b433b6ccc2a96776e67caeedfda4 (patch)
treed755dcc5e8ea3676ca235b9c58202b55a9fcf2e4 /compiler/rustc_codegen_llvm/src/builder.rs
parente675d25506b560a8665d453b98a9685cf95a7f76 (diff)
parent147316a09449b35737d2d1af8987a1da375efe22 (diff)
downloadrust-d340f63cca38b433b6ccc2a96776e67caeedfda4.tar.gz
rust-d340f63cca38b433b6ccc2a96776e67caeedfda4.zip
Rollup merge of #83524 - faern:document-socketaddr-mem-layout, r=sfackler
Document that the SocketAddr memory representation is not stable

Intended to help out with #78802. Work has been put into finding and fixing code that assumes the memory layout of `SocketAddrV4` and `SocketAddrV6`. But it turns out there are cases where new code continues to make the same assumption ([example](https://github.com/spacejam/seaslug/commit/96927dc2b7b918860a79c4eb6336051e52c6137a#diff-917db3d8ca6f862ebf42726b23c72a12b35e584e497ebdb24e474348d7c6ffb6R610-R621)).

The memory layout of a type in `std` is never part of the public API. Unless explicitly stated I guess. But since that is invalidly relied upon by a considerable amount of code for these particular types, it might make sense to explicitly document this. This can be temporary. Once #78802 lands it does not make sense to rely on the layout any longer, and this documentation can also be removed.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/builder.rs')
0 files changed, 0 insertions, 0 deletions