[INFO] fetching crate crslmnl 0.2.1...
[INFO] checking crslmnl-0.2.1 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate crslmnl 0.2.1 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate crslmnl 0.2.1 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate crslmnl 0.2.1
[INFO] finished tweaking crates.io crate crslmnl 0.2.1
[INFO] tweaked toml for crates.io crate crslmnl 0.2.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded syntex v0.42.2
[INFO] [stderr]   Downloaded syntex_pos v0.42.0
[INFO] [stderr]   Downloaded pnet_sys v0.20.0
[INFO] [stderr]   Downloaded pnet_transport v0.20.0
[INFO] [stderr]   Downloaded pnet_macros_support v0.20.0
[INFO] [stderr]   Downloaded pnet_base v0.34.0
[INFO] [stderr]   Downloaded pnet_base v0.20.0
[INFO] [stderr]   Downloaded bitflags v0.5.0
[INFO] [stderr]   Downloaded unicode-xid v0.0.3
[INFO] [stderr]   Downloaded pnet v0.20.0
[INFO] [stderr]   Downloaded ipnetwork v0.12.8
[INFO] [stderr]   Downloaded syntex_syntax v0.42.0
[INFO] [stderr]   Downloaded pnet_datalink v0.20.0
[INFO] [stderr]   Downloaded pnet_macros v0.34.0
[INFO] [stderr]   Downloaded no-std-net v0.6.0
[INFO] [stderr]   Downloaded syntex_errors v0.42.0
[INFO] [stderr]   Downloaded pnet_packet v0.20.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5473e75b03ea0d1f45401342a193538ea21beefdc2d969dbe427d37800a3e14b
[INFO] running `Command { std: "docker" "start" "-a" "5473e75b03ea0d1f45401342a193538ea21beefdc2d969dbe427d37800a3e14b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5473e75b03ea0d1f45401342a193538ea21beefdc2d969dbe427d37800a3e14b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5473e75b03ea0d1f45401342a193538ea21beefdc2d969dbe427d37800a3e14b", kill_on_drop: false }`
[INFO] [stdout] 5473e75b03ea0d1f45401342a193538ea21beefdc2d969dbe427d37800a3e14b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d1c06e61ed59cbe0ee8c034ad8fc61a577a219540338a2507ac68b0ea31c8634
[INFO] running `Command { std: "docker" "start" "-a" "d1c06e61ed59cbe0ee8c034ad8fc61a577a219540338a2507ac68b0ea31c8634", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]    Compiling term v0.4.6
[INFO] [stderr]    Compiling unicode-xid v0.0.3
[INFO] [stderr]    Compiling bitflags v0.5.0
[INFO] [stderr]     Checking no-std-net v0.6.0
[INFO] [stderr]    Compiling glob v0.2.11
[INFO] [stderr]     Checking pnet_base v0.20.0
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]     Checking pnet_sys v0.20.0
[INFO] [stderr]    Compiling pnet v0.20.0
[INFO] [stderr]    Compiling syn v2.0.57
[INFO] [stderr]     Checking ipnetwork v0.12.8
[INFO] [stderr]     Checking pnet_base v0.34.0
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]     Checking pnet_macros_support v0.20.0
[INFO] [stderr]     Checking pnet_datalink v0.20.0
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]    Compiling crslmnl v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stdout] warning: use of deprecated struct `gcc::Build`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stdout]  --> build.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 |     gcc::Build::new()
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `gcc::Build::new`: crate has been renamed to `cc`, the `gcc` name is not maintained
[INFO] [stdout]  --> build.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 |     gcc::Build::new()
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: crslmnl@0.2.1: src/nlmsg_ext.c: In function 'rsmnl_nlmsg_batch_cap':
[INFO] [stderr] warning: crslmnl@0.2.1: src/nlmsg_ext.c:137:17: warning: 'return' with no value, in function returning non-void [-Wreturn-type]
[INFO] [stderr] warning: crslmnl@0.2.1:   137 |                 return;
[INFO] [stderr] warning: crslmnl@0.2.1:       |                 ^~~~~~
[INFO] [stderr] warning: crslmnl@0.2.1: src/nlmsg_ext.c:132:6: note: declared here
[INFO] [stderr] warning: crslmnl@0.2.1:   132 | bool rsmnl_nlmsg_batch_cap(struct mnl_nlmsg_batch *b)
[INFO] [stderr] warning: crslmnl@0.2.1:       |      ^~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: crslmnl@0.2.1: src/nlmsg_ext.c: In function 'rsmnl_nlmsg_batch_reset':
[INFO] [stderr] warning: crslmnl@0.2.1: src/nlmsg_ext.c:130:1: warning: control reaches end of non-void function [-Wreturn-type]
[INFO] [stderr] warning: crslmnl@0.2.1:   130 | }
[INFO] [stderr] warning: crslmnl@0.2.1:       | ^
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/linux/if_link/mod.rs:1309:35
[INFO] [stdout]      |
[INFO] [stdout] 1309 | pub const XDP_FLAGS_MASK: u32            = (XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_SKB_MODE);
[INFO] [stdout]      |                                            ^                                                ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1309 - pub const XDP_FLAGS_MASK: u32            = (XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_SKB_MODE);
[INFO] [stdout] 1309 + pub const XDP_FLAGS_MASK: u32            = XDP_FLAGS_UPDATE_IF_NOEXIST | XDP_FLAGS_SKB_MODE;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/linux/ifh/mod.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const IFF_VOLATILE: u32    = (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|
[INFO] [stdout]    |                                  ^
[INFO] [stdout] 48 |                            IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT);
[INFO] [stdout]    |                                                                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 ~ pub const IFF_VOLATILE: u32    = IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|
[INFO] [stdout] 48 ~                            IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/linux/netfilter/nfnetlink/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     (x as u8)
[INFO] [stdout]    |     ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -     (x as u8)
[INFO] [stdout] 57 +     x as u8
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netfilter/nfnetlink_queue/mod.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub const NFQA_CFG_F_FAIL_OPEN: u32    = (1 << 0);
[INFO] [stdout]     |                                          ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 158 - pub const NFQA_CFG_F_FAIL_OPEN: u32    = (1 << 0);
[INFO] [stdout] 158 + pub const NFQA_CFG_F_FAIL_OPEN: u32    = 1 << 0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netfilter/nfnetlink_queue/mod.rs:159:39
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub const NFQA_CFG_F_CONNTRACK: u32    = (1 << 1);
[INFO] [stdout]     |                                          ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 159 - pub const NFQA_CFG_F_CONNTRACK: u32    = (1 << 1);
[INFO] [stdout] 159 + pub const NFQA_CFG_F_CONNTRACK: u32    = 1 << 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netfilter/nfnetlink_queue/mod.rs:160:33
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub const NFQA_CFG_F_GSO: u32    = (1 << 2);
[INFO] [stdout]     |                                    ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 160 - pub const NFQA_CFG_F_GSO: u32    = (1 << 2);
[INFO] [stdout] 160 + pub const NFQA_CFG_F_GSO: u32    = 1 << 2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netfilter/nfnetlink_queue/mod.rs:161:37
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub const NFQA_CFG_F_UID_GID: u32    = (1 << 3);
[INFO] [stdout]     |                                        ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 161 - pub const NFQA_CFG_F_UID_GID: u32    = (1 << 3);
[INFO] [stdout] 161 + pub const NFQA_CFG_F_UID_GID: u32    = 1 << 3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netfilter/nfnetlink_queue/mod.rs:162:36
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub const NFQA_CFG_F_SECCTX: u32    = (1 << 4);
[INFO] [stdout]     |                                       ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 162 - pub const NFQA_CFG_F_SECCTX: u32    = (1 << 4);
[INFO] [stdout] 162 + pub const NFQA_CFG_F_SECCTX: u32    = 1 << 4;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netfilter/nfnetlink_queue/mod.rs:163:33
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub const NFQA_CFG_F_MAX: u32    = (1 << 5);
[INFO] [stdout]     |                                    ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 163 - pub const NFQA_CFG_F_MAX: u32    = (1 << 5);
[INFO] [stdout] 163 + pub const NFQA_CFG_F_MAX: u32    = 1 << 5;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netfilter/nfnetlink_queue/mod.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub const NFQA_SKB_CSUMNOTREADY: u32 = (1 << 0);
[INFO] [stdout]     |                                        ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 - pub const NFQA_SKB_CSUMNOTREADY: u32 = (1 << 0);
[INFO] [stdout] 167 + pub const NFQA_SKB_CSUMNOTREADY: u32 = 1 << 0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netfilter/nfnetlink_queue/mod.rs:169:31
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub const NFQA_SKB_GSO: u32 = (1 << 1);
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 169 - pub const NFQA_SKB_GSO: u32 = (1 << 1);
[INFO] [stdout] 169 + pub const NFQA_SKB_GSO: u32 = 1 << 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netfilter/nfnetlink_queue/mod.rs:171:45
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub const NFQA_SKB_CSUM_NOTVERIFIED: u32 =  (1 << 2);
[INFO] [stdout]     |                                             ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 171 - pub const NFQA_SKB_CSUM_NOTVERIFIED: u32 =  (1 << 2);
[INFO] [stdout] 171 + pub const NFQA_SKB_CSUM_NOTVERIFIED: u32 =  1 << 2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netlink/mod.rs:117:29
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub const NLM_F_DUMP: u16    = (NLM_F_ROOT|NLM_F_MATCH);
[INFO] [stdout]     |                                ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 117 - pub const NLM_F_DUMP: u16    = (NLM_F_ROOT|NLM_F_MATCH);
[INFO] [stdout] 117 + pub const NLM_F_DUMP: u16    = NLM_F_ROOT|NLM_F_MATCH;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/linux/netlink/mod.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 |     nlh.nlmsg_len - NLMSG_SPACE((len))
[INFO] [stdout]     |                                 ^   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 189 -     nlh.nlmsg_len - NLMSG_SPACE((len))
[INFO] [stdout] 189 +     nlh.nlmsg_len - NLMSG_SPACE(len)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netlink/mod.rs:282:32
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub const NLA_F_NESTED: u16        = (1 << 15);
[INFO] [stdout]     |                                      ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 282 - pub const NLA_F_NESTED: u16        = (1 << 15);
[INFO] [stdout] 282 + pub const NLA_F_NESTED: u16        = 1 << 15;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/netlink/mod.rs:283:38
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub const NLA_F_NET_BYTEORDER: u16    = (1 << 14);
[INFO] [stdout]     |                                         ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 283 - pub const NLA_F_NET_BYTEORDER: u16    = (1 << 14);
[INFO] [stdout] 283 + pub const NLA_F_NET_BYTEORDER: u16    = 1 << 14;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/rtnetlink/mod.rs:400:35
[INFO] [stdout]     |
[INFO] [stdout] 400 | pub const RTNH_COMPARE_MASK: u8    = (RTNH_F_DEAD | RTNH_F_LINKDOWN | RTNH_F_OFFLOAD);
[INFO] [stdout]     |                                      ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 400 - pub const RTNH_COMPARE_MASK: u8    = (RTNH_F_DEAD | RTNH_F_LINKDOWN | RTNH_F_OFFLOAD);
[INFO] [stdout] 400 + pub const RTNH_COMPARE_MASK: u8    = RTNH_F_DEAD | RTNH_F_LINKDOWN | RTNH_F_OFFLOAD;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/rtnetlink/mod.rs:502:36
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub const RTAX_FEATURE_ECN: u32        = (1 << 0);
[INFO] [stdout]     |                                          ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 502 - pub const RTAX_FEATURE_ECN: u32        = (1 << 0);
[INFO] [stdout] 502 + pub const RTAX_FEATURE_ECN: u32        = 1 << 0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/rtnetlink/mod.rs:503:36
[INFO] [stdout]     |
[INFO] [stdout] 503 | pub const RTAX_FEATURE_SACK: u32    = (1 << 1);
[INFO] [stdout]     |                                       ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 503 - pub const RTAX_FEATURE_SACK: u32    = (1 << 1);
[INFO] [stdout] 503 + pub const RTAX_FEATURE_SACK: u32    = 1 << 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/rtnetlink/mod.rs:504:41
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub const RTAX_FEATURE_TIMESTAMP: u32    = (1 << 2);
[INFO] [stdout]     |                                            ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 504 - pub const RTAX_FEATURE_TIMESTAMP: u32    = (1 << 2);
[INFO] [stdout] 504 + pub const RTAX_FEATURE_TIMESTAMP: u32    = 1 << 2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/rtnetlink/mod.rs:505:39
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub const RTAX_FEATURE_ALLFRAG: u32    = (1 << 3);
[INFO] [stdout]     |                                          ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 505 - pub const RTAX_FEATURE_ALLFRAG: u32    = (1 << 3);
[INFO] [stdout] 505 + pub const RTAX_FEATURE_ALLFRAG: u32    = 1 << 3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/rtnetlink/mod.rs:506:36
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub const RTAX_FEATURE_MASK: u32    = (RTAX_FEATURE_ECN | RTAX_FEATURE_SACK |
[INFO] [stdout]     |                                       ^
[INFO] [stdout] 507 |                                            RTAX_FEATURE_TIMESTAMP | RTAX_FEATURE_ALLFRAG);
[INFO] [stdout]     |                                                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 506 ~ pub const RTAX_FEATURE_MASK: u32    = RTAX_FEATURE_ECN | RTAX_FEATURE_SACK |
[INFO] [stdout] 507 ~                                            RTAX_FEATURE_TIMESTAMP | RTAX_FEATURE_ALLFRAG;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/rtnetlink/mod.rs:797:36
[INFO] [stdout]     |
[INFO] [stdout] 797 | pub const RTEXT_FILTER_VF: u32            = (1 << 0);
[INFO] [stdout]     |                                             ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 797 - pub const RTEXT_FILTER_VF: u32            = (1 << 0);
[INFO] [stdout] 797 + pub const RTEXT_FILTER_VF: u32            = 1 << 0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/rtnetlink/mod.rs:798:39
[INFO] [stdout]     |
[INFO] [stdout] 798 | pub const RTEXT_FILTER_BRVLAN: u32        = (1 << 1);
[INFO] [stdout]     |                                             ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 798 - pub const RTEXT_FILTER_BRVLAN: u32        = (1 << 1);
[INFO] [stdout] 798 + pub const RTEXT_FILTER_BRVLAN: u32        = 1 << 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/rtnetlink/mod.rs:799:49
[INFO] [stdout]     |
[INFO] [stdout] 799 | pub const RTEXT_FILTER_BRVLAN_COMPRESSED: u32    = (1 << 2);
[INFO] [stdout]     |                                                    ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 799 - pub const RTEXT_FILTER_BRVLAN_COMPRESSED: u32    = (1 << 2);
[INFO] [stdout] 799 + pub const RTEXT_FILTER_BRVLAN_COMPRESSED: u32    = 1 << 2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/linux/rtnetlink/mod.rs:800:43
[INFO] [stdout]     |
[INFO] [stdout] 800 | pub const RTEXT_FILTER_SKIP_STATS: u32        = (1 << 3);
[INFO] [stdout]     |                                                 ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 800 - pub const RTEXT_FILTER_SKIP_STATS: u32        = (1 << 3);
[INFO] [stdout] 800 + pub const RTEXT_FILTER_SKIP_STATS: u32        = 1 << 3;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         try!(cvt_isize!(mnl_socket_bind(self, group as c_uint, pid as pid_t)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:326:9
[INFO] [stdout]     |
[INFO] [stdout] 326 |         try!(cvt_isize!(mnl_socket_close(self)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:353:17
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let n = try!(cvt_isize!(
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:367:17
[INFO] [stdout]     |
[INFO] [stdout] 367 |         let n = try!(cvt_isize!(
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:382:17
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let n = try!(cvt_isize!(
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let n = try!(cvt_isize!(
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:425:9
[INFO] [stdout]     |
[INFO] [stdout] 425 |         try!(cvt_isize!(
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:442:9
[INFO] [stdout]     |
[INFO] [stdout] 442 |         try!(cvt_isize!(
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:534:9
[INFO] [stdout]     |
[INFO] [stdout] 534 |         try!(nlh.put_header());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:533:23
[INFO] [stdout]     |
[INFO] [stdout] 533 |         let mut nlh = try!(Self::from_bytes(buf));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/lib.rs:540:44
[INFO] [stdout]     |
[INFO] [stdout] 540 |             std::slice::from_raw_parts_mut((nlh as *mut u8),
[INFO] [stdout]     |                                            ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 540 -             std::slice::from_raw_parts_mut((nlh as *mut u8),
[INFO] [stdout] 540 +             std::slice::from_raw_parts_mut(nlh as *mut u8,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1030:103
[INFO] [stdout]      |
[INFO] [stdout] 1030 |     pub fn parse<T: ?Sized + 'a>(&self, offset: usize, cb: AttrCb<'a, T>, data: &mut T) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                                                                                       ^     ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1030 -     pub fn parse<T: ?Sized + 'a>(&self, offset: usize, cb: AttrCb<'a, T>, data: &mut T) -> io::Result<(CbRet)> {
[INFO] [stdout] 1030 +     pub fn parse<T: ?Sized + 'a>(&self, offset: usize, cb: AttrCb<'a, T>, data: &mut T) -> io::Result<CbRet> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1036:105
[INFO] [stdout]      |
[INFO] [stdout] 1036 |     pub fn cl_parse<'b, 'c>(&self, offset: usize, cb: Box<FnMut(&'b Attr) -> CbRet + 'c>) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                                                                                         ^     ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1036 -     pub fn cl_parse<'b, 'c>(&self, offset: usize, cb: Box<FnMut(&'b Attr) -> CbRet + 'c>) -> io::Result<(CbRet)> {
[INFO] [stdout] 1036 +     pub fn cl_parse<'b, 'c>(&self, offset: usize, cb: Box<FnMut(&'b Attr) -> CbRet + 'c>) -> io::Result<CbRet> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/lib.rs:1336:9
[INFO] [stdout]      |
[INFO] [stdout] 1336 |         try!(cvt_isize!(mnl_attr_type_valid(self, maxtype)));
[INFO] [stdout]      |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/lib.rs:1350:9
[INFO] [stdout]      |
[INFO] [stdout] 1350 |         try!(cvt_isize!(mnl_attr_validate(self, atype as u16)));
[INFO] [stdout]      |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/lib.rs:1365:9
[INFO] [stdout]      |
[INFO] [stdout] 1365 |         try!(cvt_isize!(mnl_attr_validate2(self, atype as u16, exp_len as size_t)));
[INFO] [stdout]      |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1415:55
[INFO] [stdout]      |
[INFO] [stdout] 1415 | ...                   -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                     ^     ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1415 -                                         -> io::Result<(CbRet)> {
[INFO] [stdout] 1415 +                                         -> io::Result<CbRet> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1421:93
[INFO] [stdout]      |
[INFO] [stdout] 1421 |     pub fn cl_parse_nested<'b>(&self, cb: Box<FnMut(&'a Attr) -> CbRet + 'b>) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                                                                             ^     ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1421 -     pub fn cl_parse_nested<'b>(&self, cb: Box<FnMut(&'a Attr) -> CbRet + 'b>) -> io::Result<(CbRet)> {
[INFO] [stdout] 1421 +     pub fn cl_parse_nested<'b>(&self, cb: Box<FnMut(&'a Attr) -> CbRet + 'b>) -> io::Result<CbRet> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1469:103
[INFO] [stdout]      |
[INFO] [stdout] 1469 | pub fn parse_attrs<'a, T: 'a + ?Sized>(payload: &[u8], cb: AttrCb<'a, T>, data: &mut T) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                                                                                       ^     ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1469 - pub fn parse_attrs<'a, T: 'a + ?Sized>(payload: &[u8], cb: AttrCb<'a, T>, data: &mut T) -> io::Result<(CbRet)> {
[INFO] [stdout] 1469 + pub fn parse_attrs<'a, T: 'a + ?Sized>(payload: &[u8], cb: AttrCb<'a, T>, data: &mut T) -> io::Result<CbRet> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1476:92
[INFO] [stdout]      |
[INFO] [stdout] 1476 | pub fn cl_parse_attrs<'a>(payload: &[u8], cb: Box<FnMut(&'a Attr) -> CbRet>) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                                                                            ^     ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1476 - pub fn cl_parse_attrs<'a>(payload: &[u8], cb: Box<FnMut(&'a Attr) -> CbRet>) -> io::Result<(CbRet)> {
[INFO] [stdout] 1476 + pub fn cl_parse_attrs<'a>(payload: &[u8], cb: Box<FnMut(&'a Attr) -> CbRet>) -> io::Result<CbRet> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1529:36
[INFO] [stdout]      |
[INFO] [stdout] 1529 |                      -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                    ^     ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1529 -                      -> io::Result<(CbRet)> {
[INFO] [stdout] 1529 +                      -> io::Result<CbRet> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1539:29
[INFO] [stdout]      |
[INFO] [stdout] 1539 |               -> io::Result<(CbRet)> {
[INFO] [stdout]      |                             ^     ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1539 -               -> io::Result<(CbRet)> {
[INFO] [stdout] 1539 +               -> io::Result<CbRet> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1569:41
[INFO] [stdout]      |
[INFO] [stdout] 1569 |                           -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                         ^     ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1569 -                           -> io::Result<(CbRet)> {
[INFO] [stdout] 1569 +                           -> io::Result<CbRet> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1582:30
[INFO] [stdout]      |
[INFO] [stdout] 1582 |                -> io::Result<(CbRet)> {
[INFO] [stdout]      |                              ^     ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1582 -                -> io::Result<(CbRet)> {
[INFO] [stdout] 1582 +                -> io::Result<CbRet> {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:299:24
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn fdopen(fd: &AsRawFd) -> io::Result<&'a mut Socket> {
[INFO] [stdout]     |                        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn fdopen(fd: &dyn AsRawFd) -> io::Result<&'a mut Socket> {
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:739:32
[INFO] [stdout]     |
[INFO] [stdout] 739 |     pub fn fprintf(&self, fd: &AsRawFd, extra_header_size: usize) {
[INFO] [stdout]     |                                ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 739 |     pub fn fprintf(&self, fd: &dyn AsRawFd, extra_header_size: usize) {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1036:59
[INFO] [stdout]      |
[INFO] [stdout] 1036 |     pub fn cl_parse<'b, 'c>(&self, offset: usize, cb: Box<FnMut(&'b Attr) -> CbRet + 'c>) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1036 |     pub fn cl_parse<'b, 'c>(&self, offset: usize, cb: Box<dyn FnMut(&'b Attr) -> CbRet + 'c>) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1041:50
[INFO] [stdout]      |
[INFO] [stdout] 1041 |     pub fn attrs(&'a self, offset: usize) -> Box<Iterator<Item=&Attr> + 'a> {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1041 |     pub fn attrs(&'a self, offset: usize) -> Box<dyn Iterator<Item=&Attr> + 'a> {
[INFO] [stdout]      |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1421:47
[INFO] [stdout]      |
[INFO] [stdout] 1421 |     pub fn cl_parse_nested<'b>(&self, cb: Box<FnMut(&'a Attr) -> CbRet + 'b>) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1421 |     pub fn cl_parse_nested<'b>(&self, cb: Box<dyn FnMut(&'a Attr) -> CbRet + 'b>) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1425:37
[INFO] [stdout]      |
[INFO] [stdout] 1425 |     pub fn nesteds(&'a self) -> Box<Iterator<Item=&Attr> + 'a> {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1425 |     pub fn nesteds(&'a self) -> Box<dyn Iterator<Item=&Attr> + 'a> {
[INFO] [stdout]      |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1476:51
[INFO] [stdout]      |
[INFO] [stdout] 1476 | pub fn cl_parse_attrs<'a>(payload: &[u8], cb: Box<FnMut(&'a Attr) -> CbRet>) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1476 | pub fn cl_parse_attrs<'a>(payload: &[u8], cb: Box<dyn FnMut(&'a Attr) -> CbRet>) -> io::Result<(CbRet)> {
[INFO] [stdout]      |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1538:35
[INFO] [stdout]      |
[INFO] [stdout] 1538 |               cb_data: Option<Box<FnMut(Nlmsg) -> CbRet>>)
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1538 |               cb_data: Option<Box<dyn FnMut(Nlmsg) -> CbRet>>)
[INFO] [stdout]      |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1580:36
[INFO] [stdout]      |
[INFO] [stdout] 1580 |                cb_data: Option<Box<FnMut(Nlmsg) -> CbRet>>,
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1580 |                cb_data: Option<Box<dyn FnMut(Nlmsg) -> CbRet>>,
[INFO] [stdout]      |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1581:47
[INFO] [stdout]      |
[INFO] [stdout] 1581 |                cb_ctl_array: &mut [Option<Box<FnMut(Nlmsg) -> CbRet>>])
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1581 |                cb_ctl_array: &mut [Option<Box<dyn FnMut(Nlmsg) -> CbRet>>])
[INFO] [stdout]      |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1442:53
[INFO] [stdout]      |
[INFO] [stdout] 1442 |         let mut cb = Box::from_raw(data as *mut Box<FnMut(&Attr) -> CbRet>);
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1442 |         let mut cb = Box::from_raw(data as *mut Box<dyn FnMut(&Attr) -> CbRet>);
[INFO] [stdout]      |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1493:61
[INFO] [stdout]      |
[INFO] [stdout] 1493 |         let mut op = Box::from_raw(data as *mut (Option<Box<FnMut(Nlmsg) -> CbRet>>,
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1493 |         let mut op = Box::from_raw(data as *mut (Option<Box<dyn FnMut(Nlmsg) -> CbRet>>,
[INFO] [stdout]      |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1494:63
[INFO] [stdout]      |
[INFO] [stdout] 1494 | ...                   &[Option<Box<FnMut(Nlmsg) -> CbRet>>]));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1494 |                                                  &[Option<Box<dyn FnMut(Nlmsg) -> CbRet>>]));
[INFO] [stdout]      |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1516:58
[INFO] [stdout]      |
[INFO] [stdout] 1516 |         let cbs = Box::from_raw(data as *mut (Option<Box<FnMut(Nlmsg) -> CbRet>>,
[INFO] [stdout]      |                                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1516 |         let cbs = Box::from_raw(data as *mut (Option<Box<dyn FnMut(Nlmsg) -> CbRet>>,
[INFO] [stdout]      |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1517:64
[INFO] [stdout]      |
[INFO] [stdout] 1517 | ...                   &mut [Option<Box<FnMut(Nlmsg) -> CbRet>>]));
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1517 |                                               &mut [Option<Box<dyn FnMut(Nlmsg) -> CbRet>>]));
[INFO] [stdout]      |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/lib.rs:1542:73
[INFO] [stdout]      |
[INFO] [stdout] 1542 |                           Box::into_raw(Box::new((cb_data, &[None::<Box<FnMut(Nlmsg) -> CbRet>>]))) as *mut c_void))
[INFO] [stdout]      |                                                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1542 |                           Box::into_raw(Box::new((cb_data, &[None::<Box<dyn FnMut(Nlmsg) -> CbRet>>]))) as *mut c_void))
[INFO] [stdout]      |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters are not enforced in type aliases
[INFO] [stdout]    --> src/lib.rs:215:24
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub type AttrCb<'a, T: ?Sized> = fn(attr: &'a Attr, data: &mut T) -> CbRet;
[INFO] [stdout]     |                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] help: the bound will not be checked when the type alias is used, and should be removed
[INFO] [stdout]     |
[INFO] [stdout] 215 - pub type AttrCb<'a, T: ?Sized> = fn(attr: &'a Attr, data: &mut T) -> CbRet;
[INFO] [stdout] 215 + pub type AttrCb<'a, T> = fn(attr: &'a Attr, data: &mut T) -> CbRet;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters are not enforced in type aliases
[INFO] [stdout]    --> src/lib.rs:237:20
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub type Cb<'a, T: ?Sized> = fn(nlh: Nlmsg, data: &'a mut T) -> CbRet;
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: the bound will not be checked when the type alias is used, and should be removed
[INFO] [stdout]     |
[INFO] [stdout] 237 - pub type Cb<'a, T: ?Sized> = fn(nlh: Nlmsg, data: &'a mut T) -> CbRet;
[INFO] [stdout] 237 + pub type Cb<'a, T> = fn(nlh: Nlmsg, data: &'a mut T) -> CbRet;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/lib.rs:559:18
[INFO] [stdout]     |
[INFO] [stdout] 559 |         unsafe { &mut(*mnl_nlmsg_put_header(self.as_raw_mut() as *mut _ as *mut c_void)); }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 559 |         unsafe { let _ = &mut(*mnl_nlmsg_put_header(self.as_raw_mut() as *mut _ as *mut c_void)); }
[INFO] [stdout]     |                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 69 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling syntex_pos v0.42.0
[INFO] [stderr]    Compiling syntex_errors v0.42.0
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]    Compiling syntex_syntax v0.42.0
[INFO] [stderr]    Compiling regex v1.10.4
[INFO] [stderr]    Compiling pnet_macros v0.34.0
[INFO] [stderr]    Compiling syntex v0.42.2
[INFO] [stderr]    Compiling pnet_packet v0.20.0
[INFO] [stdout] error[E0425]: cannot find function `register` in crate `pnet_macros`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pnet_packet-0.20.0/build.rs:27:30
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 pnet_macros::register(&mut registry);
[INFO] [stdout]    |                              ^^^^^^^^ not found in `pnet_macros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pnet_packet` (build script) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "d1c06e61ed59cbe0ee8c034ad8fc61a577a219540338a2507ac68b0ea31c8634", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1c06e61ed59cbe0ee8c034ad8fc61a577a219540338a2507ac68b0ea31c8634", kill_on_drop: false }`
[INFO] [stdout] d1c06e61ed59cbe0ee8c034ad8fc61a577a219540338a2507ac68b0ea31c8634
