core/net: add Ipv[46]Addr::from_octets, Ipv6Addr::from_segments · qinheping/verify-rust-std@9ae0e8b (original) (raw)
`@@ -494,6 +494,7 @@ fn ipv6_properties() {
`
494
494
`let octets = &[$($octet),*];
`
495
495
` assert_eq!(&ip!($s).octets(), octets);
`
496
496
` assert_eq!(Ipv6Addr::from(*octets), ip!($s));
`
``
497
`+
assert_eq!(Ipv6Addr::from_octets(*octets), ip!($s));
`
497
498
``
498
499
`let unspecified: u32 = 1 << 0;
`
499
500
`let loopback: u32 = 1 << 1;
`
`@@ -846,15 +847,19 @@ fn ipv6_from_constructors() {
`
846
847
``
847
848
`#[test]
`
848
849
`fn ipv4_from_octets() {
`
849
``
`-
assert_eq!(Ipv4Addr::from([127, 0, 0, 1]), Ipv4Addr::new(127, 0, 0, 1))
`
``
850
`+
assert_eq!(Ipv4Addr::from([127, 0, 0, 1]), Ipv4Addr::new(127, 0, 0, 1));
`
``
851
`+
assert_eq!(Ipv4Addr::from_octets([127, 0, 0, 1]), Ipv4Addr::new(127, 0, 0, 1));
`
850
852
`}
`
851
853
``
852
854
`#[test]
`
853
855
`fn ipv6_from_segments() {
`
854
856
`let from_u16s =
`
855
857
`Ipv6Addr::from([0x0011, 0x2233, 0x4455, 0x6677, 0x8899, 0xaabb, 0xccdd, 0xeeff]);
`
``
858
`+
let from_u16s_explicit =
`
``
859
`+
Ipv6Addr::from_segments([0x0011, 0x2233, 0x4455, 0x6677, 0x8899, 0xaabb, 0xccdd, 0xeeff]);
`
856
860
`let new = Ipv6Addr::new(0x0011, 0x2233, 0x4455, 0x6677, 0x8899, 0xaabb, 0xccdd, 0xeeff);
`
857
861
`assert_eq!(new, from_u16s);
`
``
862
`+
assert_eq!(new, from_u16s_explicit);
`
858
863
`}
`
859
864
``
860
865
`#[test]
`
`@@ -865,7 +870,15 @@ fn ipv6_from_octets() {
`
865
870
`0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee,
`
866
871
`0xff,
`
867
872
`]);
`
``
873
`+
let from_u16s_explicit =
`
``
874
`+
Ipv6Addr::from_segments([0x0011, 0x2233, 0x4455, 0x6677, 0x8899, 0xaabb, 0xccdd, 0xeeff]);
`
``
875
`+
let from_u8s_explicit = Ipv6Addr::from_octets([
`
``
876
`+
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee,
`
``
877
`+
0xff,
`
``
878
`+
]);
`
868
879
`assert_eq!(from_u16s, from_u8s);
`
``
880
`+
assert_eq!(from_u16s, from_u16s_explicit);
`
``
881
`+
assert_eq!(from_u16s_explicit, from_u8s_explicit);
`
869
882
`}
`
870
883
``
871
884
`#[test]
`
`@@ -915,6 +928,9 @@ fn ipv4_const() {
`
915
928
`const OCTETS: [u8; 4] = IP_ADDRESS.octets();
`
916
929
`assert_eq!(OCTETS, [127, 0, 0, 1]);
`
917
930
``
``
931
`+
const FROM_OCTETS: Ipv4Addr = Ipv4Addr::from_octets(OCTETS);
`
``
932
`+
assert_eq!(IP_ADDRESS, FROM_OCTETS);
`
``
933
+
918
934
`const IS_UNSPECIFIED: bool = IP_ADDRESS.is_unspecified();
`
919
935
`assert!(!IS_UNSPECIFIED);
`
920
936
``
`@@ -971,9 +987,15 @@ fn ipv6_const() {
`
971
987
`const SEGMENTS: [u16; 8] = IP_ADDRESS.segments();
`
972
988
`assert_eq!(SEGMENTS, [0, 0, 0, 0, 0, 0, 0, 1]);
`
973
989
``
``
990
`+
const FROM_SEGMENTS: Ipv6Addr = Ipv6Addr::from_segments(SEGMENTS);
`
``
991
`+
assert_eq!(IP_ADDRESS, FROM_SEGMENTS);
`
``
992
+
974
993
`const OCTETS: [u8; 16] = IP_ADDRESS.octets();
`
975
994
`assert_eq!(OCTETS, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]);
`
976
995
``
``
996
`+
const FROM_OCTETS: Ipv6Addr = Ipv6Addr::from_octets(OCTETS);
`
``
997
`+
assert_eq!(IP_ADDRESS, FROM_OCTETS);
`
``
998
+
977
999
`const IS_UNSPECIFIED: bool = IP_ADDRESS.is_unspecified();
`
978
1000
`assert!(!IS_UNSPECIFIED);
`
979
1001
``