rust/library
Yuki Okushi f26f201d42
Rollup merge of #75085 - lzutao:ip_union, r=cuviper
Transmute big endian `s6_addr` and `[u16; 8]`

The old code already made the assumption to reinterpret
`Ipv6Addr` as `[u16; 8]`.

Glibc, Linux, FreeBSD, Win32 all makes this assumption.
The main motivation of using union it to better optimize code.
Godbolt: https://rust.godbolt.org/z/b4bGvo
Const is introducing unsafe when transmuting.

ref:
* https://docs.microsoft.com/en-us/windows/win32/api/in6addr/ns-in6addr-in6_addr
* 1d6e424741/contrib/ntp/lib/isc/include/isc/ipv6.h (L63)
* 8b531aa996/include/net/net_ip.h (L137)
* https://sourceware.org/git/?p=glibc.git;a=blob;f=inet/netinet/in.h;h=f6355c7efe5192b88337b136ef687fe9a5ed648c;hb=HEAD#l216
2020-08-11 16:23:45 +09:00
..
alloc Rollup merge of #75151 - pickfire:patch-4, r=LukasKalbertodt 2020-08-09 06:41:18 +09:00
backtrace@4083a90168 std: Switch from libbacktrace to gimli 2020-07-28 16:34:01 -07:00
core Rollup merge of #75379 - denisvasilik:intra-docs-links-core-cmp, r=Dylan-DPC 2020-08-11 01:56:47 +02:00
panic_abort
panic_unwind Add back unwinding support for Sony PSP 2020-08-08 02:14:40 -04:00
proc_macro Stabilize Ident::new_raw 2020-08-03 17:23:31 -04:00
profiler_builtins
rtstartup
rustc-std-workspace-alloc
rustc-std-workspace-core
rustc-std-workspace-std
std Rollup merge of #75085 - lzutao:ip_union, r=cuviper 2020-08-11 16:23:45 +09:00
stdarch@78891cdf29 fix broken git commit in stdarch 2020-08-03 15:52:30 +08:00
term
test Rollup merge of #75270 - matthiaskrgr:clippy_aug_1, r=Dylan-DPC 2020-08-08 11:36:12 +09:00
unwind Add back unwinding support for Sony PSP 2020-08-08 02:14:40 -04:00