Files
rust/library/core/tests
Matthias Krüger e01eae72da Rollup merge of #130629 - Dirbaio:net-from-octets, r=tgross35
core/net: add Ipv[46]Addr::from_octets, Ipv6Addr::from_segments.

Adds:

- `Ipv4Address::from_octets([u8;4])`
- `Ipv6Address::from_octets([u8;16])`
- `Ipv6Address::from_segments([u16;8])`

equivalent to the existing `From` impls.

Advantages:

- Consistent with `to_bits, from_bits`.
- More discoverable than the `From` impls.
- Helps with type inference: it's common to want to convert byte slices to IP addrs. If you try this

```rust
fn foo(x: &[u8]) -> Ipv4Addr {
   Ipv4Addr::from(foo.try_into().unwrap())
}
```

it [doesn't work](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=0e2873312de275a58fa6e33d1b213bec). You have to write `Ipv4Addr::from(<[u8;4]>::try_from(x).unwrap())` instead, which is not great. With `from_octets` it is able to infer the right types.

Found this while porting [smoltcp](https://github.com/smoltcp-rs/smoltcp/) from its own IP address types to the `core::net` types.

~~Tracking issues #27709 #76205~~
Tracking issue: https://github.com/rust-lang/rust/issues/131360
2024-10-14 06:04:27 +02:00
..
2024-07-21 12:05:02 -05:00
2024-02-07 16:46:28 +01:00
2022-10-08 11:48:53 +00:00
2024-07-29 08:26:52 +10:00
2024-10-09 17:17:50 -04:00
2023-04-26 02:10:22 -04:00
2023-04-16 11:38:52 +00:00
2024-01-11 15:04:48 +03:00
2023-12-10 10:56:22 +08:00
2024-07-29 20:33:11 +03:00
2024-07-29 08:26:52 +10:00
2023-04-16 11:38:52 +00:00
2024-05-01 22:19:11 -04:00
2024-09-13 15:18:30 -03:00
2023-07-12 21:38:55 -04:00
2024-09-09 16:17:34 +02:00
2024-06-19 21:44:47 +01:00
2022-09-27 19:23:52 +00:00
2020-07-27 19:51:13 -05:00
2024-07-31 17:10:55 +08:00
2024-07-29 08:26:52 +10:00
2023-11-26 08:50:39 -05:00
2024-04-24 15:27:47 -07:00
2022-12-30 14:00:42 +01:00
2023-01-02 10:33:23 -08:00
2024-01-24 14:24:57 +01:00
2020-07-27 19:51:13 -05:00
2022-07-08 21:18:15 +00:00