Skip to content

Commit fb64e6d

Browse files
committed
Add test for Ipv4Addr methods in a const context
1 parent ee9e48b commit fb64e6d

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

src/test/ui/consts/std/net/ipv4.rs

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// run-pass
2+
3+
#![feature(ip)]
4+
#![feature(const_ipv4)]
5+
6+
use std::net::Ipv4Addr;
7+
8+
fn main() {
9+
const IP_ADDRESS: Ipv4Addr = Ipv4Addr::new(127, 0, 0, 1);
10+
assert_eq!(IP_ADDRESS, Ipv4Addr::LOCALHOST);
11+
12+
const OCTETS: [u8; 4] = IP_ADDRESS.octets();
13+
assert_eq!(OCTETS, [127, 0, 0, 1]);
14+
15+
const IS_UNSPECIFIED : bool = IP_ADDRESS.is_unspecified();
16+
assert!(!IS_UNSPECIFIED);
17+
18+
const IS_LOOPBACK : bool = IP_ADDRESS.is_loopback();
19+
assert!(IS_LOOPBACK);
20+
21+
const IS_PRIVATE : bool = IP_ADDRESS.is_private();
22+
assert!(!IS_PRIVATE);
23+
24+
const IS_LINK_LOCAL : bool = IP_ADDRESS.is_link_local();
25+
assert!(!IS_LINK_LOCAL);
26+
27+
const IS_SHARED : bool = IP_ADDRESS.is_shared();
28+
assert!(!IS_SHARED);
29+
30+
const IS_IETF_PROTOCOL_ASSIGNMENT : bool = IP_ADDRESS.is_ietf_protocol_assignment();
31+
assert!(!IS_IETF_PROTOCOL_ASSIGNMENT);
32+
33+
const IS_BENCHMARKING : bool = IP_ADDRESS.is_benchmarking();
34+
assert!(!IS_BENCHMARKING);
35+
36+
const IS_MULTICAST : bool = IP_ADDRESS.is_multicast();
37+
assert!(!IS_MULTICAST);
38+
39+
const IS_DOCUMENTATION : bool = IP_ADDRESS.is_documentation();
40+
assert!(!IS_DOCUMENTATION);
41+
}

0 commit comments

Comments
 (0)