[INFO] crate sdp 0.1.0 is already in cache [INFO] extracting crate sdp 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/sdp/0.1.0 [INFO] extracting crate sdp 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sdp/0.1.0 [INFO] validating manifest of sdp-0.1.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of sdp-0.1.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing sdp-0.1.0 [INFO] finished frobbing sdp-0.1.0 [INFO] frobbed toml for sdp-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/sdp/0.1.0/Cargo.toml [INFO] started frobbing sdp-0.1.0 [INFO] finished frobbing sdp-0.1.0 [INFO] frobbed toml for sdp-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sdp/0.1.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting sdp-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/sdp/0.1.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 98fe3f9e957fa66964eaffe20849d315da8198cdc7d41aa386f0a1ea18cc14df [INFO] running `"docker" "start" "-a" "98fe3f9e957fa66964eaffe20849d315da8198cdc7d41aa386f0a1ea18cc14df"` [INFO] [stderr] Checking sdp v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | username: username, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `username` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | session_id : session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | session_version: session_version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | nettype : nettype, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `nettype` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | addrtype: addrtype, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `addrtype` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | address : address [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/connection.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | nettype : nettype, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `nettype` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/connection.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | addrtype: addrtype, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `addrtype` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/connection.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | address : address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/connection.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | ttl: ttl, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ttl` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/connection.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | num: num [INFO] [stderr] | ^^^^^^^^ help: replace it with: `num` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/bandwidth.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | size : size [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | username: username, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `username` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | session_id : session_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | session_version: session_version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_version` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | nettype : nettype, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `nettype` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | addrtype: addrtype, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `addrtype` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/origin.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | address : address [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/connection.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | nettype : nettype, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `nettype` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/connection.rs:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | addrtype: addrtype, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `addrtype` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/connection.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | address : address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/connection.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | ttl: ttl, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ttl` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/connection.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | num: num [INFO] [stderr] | ^^^^^^^^ help: replace it with: `num` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/value/bandwidth.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | size : size [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/lib.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `regex::Regex` [INFO] [stderr] --> src/lib.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use regex::Regex; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/key.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/version.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/value/version.rs:37:28 [INFO] [stderr] | [INFO] [stderr] 37 | None => return Err(Error::ProtocolVersion) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Error::ProtocolVersion)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/value/version.rs:63:28 [INFO] [stderr] | [INFO] [stderr] 63 | None => return Err(Error::SessionVersion) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Error::SessionVersion)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/base.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/origin.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv4Addr`, `Ipv6Addr` [INFO] [stderr] --> src/value/origin.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ProtocolVersion` [INFO] [stderr] --> src/value/origin.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | use super::{ ProtocolVersion, SessionVersion }; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/value/origin.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | origin [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/value/origin.rs:31:22 [INFO] [stderr] | [INFO] [stderr] 31 | let origin = "o=".to_string() [INFO] [stderr] | ______________________^ [INFO] [stderr] 32 | | + self.username.as_ref() + " " [INFO] [stderr] 33 | | + self.session_id.as_ref() + " " [INFO] [stderr] 34 | | + self.session_version.to_string().as_ref() + " " [INFO] [stderr] 35 | | + self.nettype.to_string().as_ref() + " " [INFO] [stderr] 36 | | + self.addrtype.to_string().as_ref() + " " [INFO] [stderr] 37 | | + self.address.to_string().as_ref(); [INFO] [stderr] | |______________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/connection.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv4Addr`, `Ipv6Addr` [INFO] [stderr] --> src/value/connection.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ProtocolVersion`, `SessionVersion` [INFO] [stderr] --> src/value/connection.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | use super::{ ProtocolVersion, SessionVersion }; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/bandwidth.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/value/bandwidth.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | return Err(Error::Bandwidth); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Error::Bandwidth)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/uri.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/value/uri.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::string::ToString` [INFO] [stderr] --> src/value/uri.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::string::ToString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ParseError` [INFO] [stderr] --> src/value/mod.rs:20:30 [INFO] [stderr] | [INFO] [stderr] 20 | use self::uri::{ Url as Uri, ParseError }; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/error.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/error.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::string::ToString` [INFO] [stderr] --> src/error.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::string::ToString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/value/origin.rs:87:25 [INFO] [stderr] | [INFO] [stderr] 87 | Err(e) => return Err(Error::IpAddress) [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ParseError` [INFO] [stderr] --> src/value/mod.rs:169:17 [INFO] [stderr] | [INFO] [stderr] 169 | ParseError => None [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_ParseError` instead [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/lib.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `regex::Regex` [INFO] [stderr] --> src/lib.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use regex::Regex; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/key.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/version.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/value/version.rs:37:28 [INFO] [stderr] | [INFO] [stderr] 37 | None => return Err(Error::ProtocolVersion) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Error::ProtocolVersion)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/value/version.rs:63:28 [INFO] [stderr] | [INFO] [stderr] 63 | None => return Err(Error::SessionVersion) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Error::SessionVersion)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/base.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/origin.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv4Addr`, `Ipv6Addr` [INFO] [stderr] --> src/value/origin.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ProtocolVersion` [INFO] [stderr] --> src/value/origin.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | use super::{ ProtocolVersion, SessionVersion }; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/value/origin.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | origin [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/value/origin.rs:31:22 [INFO] [stderr] | [INFO] [stderr] 31 | let origin = "o=".to_string() [INFO] [stderr] | ______________________^ [INFO] [stderr] 32 | | + self.username.as_ref() + " " [INFO] [stderr] 33 | | + self.session_id.as_ref() + " " [INFO] [stderr] 34 | | + self.session_version.to_string().as_ref() + " " [INFO] [stderr] 35 | | + self.nettype.to_string().as_ref() + " " [INFO] [stderr] 36 | | + self.addrtype.to_string().as_ref() + " " [INFO] [stderr] 37 | | + self.address.to_string().as_ref(); [INFO] [stderr] | |______________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/connection.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ipv4Addr`, `Ipv6Addr` [INFO] [stderr] --> src/value/connection.rs:7:24 [INFO] [stderr] | [INFO] [stderr] 7 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ProtocolVersion`, `SessionVersion` [INFO] [stderr] --> src/value/connection.rs:12:14 [INFO] [stderr] | [INFO] [stderr] 12 | use super::{ ProtocolVersion, SessionVersion }; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/bandwidth.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/value/bandwidth.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | return Err(Error::Bandwidth); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Error::Bandwidth)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/uri.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/value/uri.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::string::ToString` [INFO] [stderr] --> src/value/uri.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::string::ToString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/value/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ParseError` [INFO] [stderr] --> src/value/mod.rs:20:30 [INFO] [stderr] | [INFO] [stderr] 20 | use self::uri::{ Url as Uri, ParseError }; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/error.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::str::FromStr` [INFO] [stderr] --> src/error.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::str::FromStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::string::ToString` [INFO] [stderr] --> src/error.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::string::ToString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RecvOnly` [INFO] [stderr] --> src/value/attr.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | RecvOnly, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SendRecv` [INFO] [stderr] --> src/value/attr.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | SendRecv, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `FmtP` [INFO] [stderr] --> src/value/attr.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | FmtP, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RtcpMux` [INFO] [stderr] --> src/value/attr.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | RtcpMux, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RtcpFb` [INFO] [stderr] --> src/value/attr.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | RtcpFb, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RtpMap` [INFO] [stderr] --> src/value/attr.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | RtpMap, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Extmap` [INFO] [stderr] --> src/value/attr.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Extmap, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IcePwd` [INFO] [stderr] --> src/value/attr.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | IcePwd, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IceUfrag` [INFO] [stderr] --> src/value/attr.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | IceUfrag, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Setup` [INFO] [stderr] --> src/value/attr.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Setup, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Ssrc` [INFO] [stderr] --> src/value/attr.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Ssrc, // SSRC [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Mid` [INFO] [stderr] --> src/value/attr.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Mid, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Msid` [INFO] [stderr] --> src/value/attr.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | Msid [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/lib.rs:167:1 [INFO] [stderr] | [INFO] [stderr] 167 | fn main (){ [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `v` should have a camel case name such as `V` [INFO] [stderr] --> src/key.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | v, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant `o` should have a camel case name such as `O` [INFO] [stderr] --> src/key.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | o, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `s` should have a camel case name such as `S` [INFO] [stderr] --> src/key.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | s, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `i` should have a camel case name such as `I` [INFO] [stderr] --> src/key.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | i, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `u` should have a camel case name such as `U` [INFO] [stderr] --> src/key.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | u, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `e` should have a camel case name such as `E` [INFO] [stderr] --> src/key.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | e, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `p` should have a camel case name such as `P` [INFO] [stderr] --> src/key.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | p, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `c` should have a camel case name such as `C` [INFO] [stderr] --> src/key.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | c, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `b` should have a camel case name such as `B` [INFO] [stderr] --> src/key.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | b, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `z` should have a camel case name such as `Z` [INFO] [stderr] --> src/key.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | z, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `k` should have a camel case name such as `K` [INFO] [stderr] --> src/key.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | k, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `a` should have a camel case name such as `A` [INFO] [stderr] --> src/key.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | a, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `t` should have a camel case name such as `T` [INFO] [stderr] --> src/key.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | t, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `r` should have a camel case name such as `R` [INFO] [stderr] --> src/key.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | r, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `m` should have a camel case name such as `M` [INFO] [stderr] --> src/key.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | m, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `v` should have a camel case name such as `V` [INFO] [stderr] --> src/value/mod.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | v(ProtocolVersion), // protocol version [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `o` should have a camel case name such as `O` [INFO] [stderr] --> src/value/mod.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | o(Origin), // originator and session identifier [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `s` should have a camel case name such as `S` [INFO] [stderr] --> src/value/mod.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | s(String), // session name [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `i` should have a camel case name such as `I` [INFO] [stderr] --> src/value/mod.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | i(String), // session information [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `u` should have a camel case name such as `U` [INFO] [stderr] --> src/value/mod.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | u(Uri), // URI of description [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `e` should have a camel case name such as `E` [INFO] [stderr] --> src/value/mod.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | e(Email), // email address [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `p` should have a camel case name such as `P` [INFO] [stderr] --> src/value/mod.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | p(Phone), // phone number [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `c` should have a camel case name such as `C` [INFO] [stderr] --> src/value/mod.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | c(Option), // connection information -- not required if included in all media [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `b` should have a camel case name such as `B` [INFO] [stderr] --> src/value/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | b(Option),// zero or more bandwidth information lines [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `z` should have a camel case name such as `Z` [INFO] [stderr] --> src/value/mod.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | z(TimeZone), // time zone adjustments [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `k` should have a camel case name such as `K` [INFO] [stderr] --> src/value/mod.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | k(Option), // encryption key, https://tools.ietf.org/html/rfc4566#section-5.12 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `a` should have a camel case name such as `A` [INFO] [stderr] --> src/value/mod.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | a(Attr), // zero or more session attribute lines [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `t` should have a camel case name such as `T` [INFO] [stderr] --> src/value/mod.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | t(usize), // time the session is active [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `r` should have a camel case name such as `R` [INFO] [stderr] --> src/value/mod.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | r(Option), // zero or more repeat times [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `m` should have a camel case name such as `M` [INFO] [stderr] --> src/value/mod.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | m(Media), // media name and transport address [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `ParseError` should have a snake case name such as `parse_error` [INFO] [stderr] --> src/value/mod.rs:169:17 [INFO] [stderr] | [INFO] [stderr] 169 | ParseError => None [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: item `SessionDescription` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | / impl SessionDescription { [INFO] [stderr] 79 | | pub fn new() -> SessionDescription { [INFO] [stderr] 80 | | SessionDescription { lines: BTreeMap::new() } [INFO] [stderr] 81 | | } [INFO] [stderr] ... | [INFO] [stderr] 106 | | [INFO] [stderr] 107 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `SessionDescription` [INFO] [stderr] --> src/lib.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | / pub fn new() -> SessionDescription { [INFO] [stderr] 80 | | SessionDescription { lines: BTreeMap::new() } [INFO] [stderr] 81 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 74 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/value/origin.rs:87:25 [INFO] [stderr] | [INFO] [stderr] 87 | Err(e) => return Err(Error::IpAddress) [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ParseError` [INFO] [stderr] --> src/value/mod.rs:169:17 [INFO] [stderr] | [INFO] [stderr] 169 | ParseError => None [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_ParseError` instead [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RecvOnly` [INFO] [stderr] --> src/value/attr.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | RecvOnly, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SendRecv` [INFO] [stderr] --> src/value/attr.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | SendRecv, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `FmtP` [INFO] [stderr] --> src/value/attr.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | FmtP, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RtcpMux` [INFO] [stderr] --> src/value/attr.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | RtcpMux, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RtcpFb` [INFO] [stderr] --> src/value/attr.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | RtcpFb, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RtpMap` [INFO] [stderr] --> src/value/attr.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | RtpMap, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Extmap` [INFO] [stderr] --> src/value/attr.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Extmap, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IcePwd` [INFO] [stderr] --> src/value/attr.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | IcePwd, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IceUfrag` [INFO] [stderr] --> src/value/attr.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | IceUfrag, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Setup` [INFO] [stderr] --> src/value/attr.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Setup, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Ssrc` [INFO] [stderr] --> src/value/attr.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Ssrc, // SSRC [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Mid` [INFO] [stderr] --> src/value/attr.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Mid, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Msid` [INFO] [stderr] --> src/value/attr.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | Msid [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `v` should have a camel case name such as `V` [INFO] [stderr] --> src/key.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | v, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant `o` should have a camel case name such as `O` [INFO] [stderr] --> src/key.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | o, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `s` should have a camel case name such as `S` [INFO] [stderr] --> src/key.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | s, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `i` should have a camel case name such as `I` [INFO] [stderr] --> src/key.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | i, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `u` should have a camel case name such as `U` [INFO] [stderr] --> src/key.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | u, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `e` should have a camel case name such as `E` [INFO] [stderr] --> src/key.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | e, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `p` should have a camel case name such as `P` [INFO] [stderr] --> src/key.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | p, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `c` should have a camel case name such as `C` [INFO] [stderr] --> src/key.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | c, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `b` should have a camel case name such as `B` [INFO] [stderr] --> src/key.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | b, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `z` should have a camel case name such as `Z` [INFO] [stderr] --> src/key.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | z, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `k` should have a camel case name such as `K` [INFO] [stderr] --> src/key.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | k, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `a` should have a camel case name such as `A` [INFO] [stderr] --> src/key.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | a, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `t` should have a camel case name such as `T` [INFO] [stderr] --> src/key.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | t, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `r` should have a camel case name such as `R` [INFO] [stderr] --> src/key.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | r, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `m` should have a camel case name such as `M` [INFO] [stderr] --> src/key.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | m, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant `v` should have a camel case name such as `V` [INFO] [stderr] --> src/value/mod.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | v(ProtocolVersion), // protocol version [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `o` should have a camel case name such as `O` [INFO] [stderr] --> src/value/mod.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | o(Origin), // originator and session identifier [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `s` should have a camel case name such as `S` [INFO] [stderr] --> src/value/mod.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | s(String), // session name [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `i` should have a camel case name such as `I` [INFO] [stderr] --> src/value/mod.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | i(String), // session information [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `u` should have a camel case name such as `U` [INFO] [stderr] --> src/value/mod.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | u(Uri), // URI of description [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `e` should have a camel case name such as `E` [INFO] [stderr] --> src/value/mod.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | e(Email), // email address [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `p` should have a camel case name such as `P` [INFO] [stderr] --> src/value/mod.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | p(Phone), // phone number [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `c` should have a camel case name such as `C` [INFO] [stderr] --> src/value/mod.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | c(Option), // connection information -- not required if included in all media [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `b` should have a camel case name such as `B` [INFO] [stderr] --> src/value/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | b(Option),// zero or more bandwidth information lines [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `z` should have a camel case name such as `Z` [INFO] [stderr] --> src/value/mod.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | z(TimeZone), // time zone adjustments [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `k` should have a camel case name such as `K` [INFO] [stderr] --> src/value/mod.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | k(Option), // encryption key, https://tools.ietf.org/html/rfc4566#section-5.12 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `a` should have a camel case name such as `A` [INFO] [stderr] --> src/value/mod.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | a(Attr), // zero or more session attribute lines [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `t` should have a camel case name such as `T` [INFO] [stderr] --> src/value/mod.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | t(usize), // time the session is active [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `r` should have a camel case name such as `R` [INFO] [stderr] --> src/value/mod.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | r(Option), // zero or more repeat times [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `m` should have a camel case name such as `M` [INFO] [stderr] --> src/value/mod.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | m(Media), // media name and transport address [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `ParseError` should have a snake case name such as `parse_error` [INFO] [stderr] --> src/value/mod.rs:169:17 [INFO] [stderr] | [INFO] [stderr] 169 | ParseError => None [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: item `SessionDescription` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/lib.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | / impl SessionDescription { [INFO] [stderr] 79 | | pub fn new() -> SessionDescription { [INFO] [stderr] 80 | | SessionDescription { lines: BTreeMap::new() } [INFO] [stderr] 81 | | } [INFO] [stderr] ... | [INFO] [stderr] 106 | | [INFO] [stderr] 107 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `SessionDescription` [INFO] [stderr] --> src/lib.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | / pub fn new() -> SessionDescription { [INFO] [stderr] 80 | | SessionDescription { lines: BTreeMap::new() } [INFO] [stderr] 81 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 74 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.88s [INFO] running `"docker" "inspect" "98fe3f9e957fa66964eaffe20849d315da8198cdc7d41aa386f0a1ea18cc14df"` [INFO] running `"docker" "rm" "-f" "98fe3f9e957fa66964eaffe20849d315da8198cdc7d41aa386f0a1ea18cc14df"` [INFO] [stdout] 98fe3f9e957fa66964eaffe20849d315da8198cdc7d41aa386f0a1ea18cc14df