[INFO] crate valico 2.3.1 is already in cache [INFO] extracting crate valico 2.3.1 into work/ex/clippy-test-run/sources/stable/reg/valico/2.3.1 [INFO] extracting crate valico 2.3.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/valico/2.3.1 [INFO] validating manifest of valico-2.3.1 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 valico-2.3.1 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 valico-2.3.1 [INFO] removed 1 missing tests [INFO] finished frobbing valico-2.3.1 [INFO] frobbed toml for valico-2.3.1 written to work/ex/clippy-test-run/sources/stable/reg/valico/2.3.1/Cargo.toml [INFO] started frobbing valico-2.3.1 [INFO] removed 1 missing tests [INFO] finished frobbing valico-2.3.1 [INFO] frobbed toml for valico-2.3.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/valico/2.3.1/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 valico-2.3.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/valico/2.3.1:/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] 461ad5764919912dc528630dea27a518ca6f3b093c134275df6ce3dd9a152e92 [INFO] running `"docker" "start" "-a" "461ad5764919912dc528630dea27a518ca6f3b093c134275df6ce3dd9a152e92"` [INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other test targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a test target: [INFO] [stderr] [INFO] [stderr] * /opt/crater/workdir/tests/tests.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autotests = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] Checking phf_shared v0.7.24 [INFO] [stderr] Checking jsonway v2.0.0 [INFO] [stderr] Compiling valico v2.3.1 (/opt/crater/workdir) [INFO] [stderr] Checking phf v0.7.24 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/json_dsl/mod.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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/json_dsl/mod.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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/json_dsl/mod.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | errors: errors, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `errors` [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/json_schema/keywords/items.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | items: items, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `items` [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/json_schema/keywords/required.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | items: items [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `items` [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/json_schema/keywords/properties.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | properties: properties, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `properties` [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/json_schema/keywords/properties.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | patterns: patterns [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `patterns` [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/json_schema/keywords/dependencies.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | items: items [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `items` [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/json_schema/keywords/ref_.rs:18:25 [INFO] [stderr] | [INFO] [stderr] 18 | url: url [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [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/json_schema/keywords/format.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | formats: formats [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `formats` [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/json_schema/keywords/mod.rs:109:70 [INFO] [stderr] | [INFO] [stderr] 109 | let consumer = rc::Rc::new(KeywordConsumer { keys: keys.clone(), keyword: keyword }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `keyword` [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/json_schema/schema.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | scope: scope, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `scope` [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/json_schema/schema.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | schema: schema [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `schema` [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/json_schema/schema.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | keywords: keywords, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `keywords` [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/json_schema/schema.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | ban_unknown_keywords: ban_unknown_keywords, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ban_unknown_keywords` [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/json_schema/schema.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | schema: schema, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `schema` [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/json_schema/schema.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | tree: tree, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `tree` [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/json_schema/schema.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | validators: validators, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validators` [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/json_schema/schema.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | scopes: scopes [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `scopes` [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/json_schema/schema.rs:280:13 [INFO] [stderr] | [INFO] [stderr] 280 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `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/json_schema/schema.rs:281:13 [INFO] [stderr] | [INFO] [stderr] 281 | schema: schema, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `schema` [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/json_schema/schema.rs:283:13 [INFO] [stderr] | [INFO] [stderr] 283 | tree: tree, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `tree` [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/json_schema/schema.rs:284:13 [INFO] [stderr] | [INFO] [stderr] 284 | validators: validators, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validators` [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/json_schema/validators/of.rs:64:21 [INFO] [stderr] | [INFO] [stderr] 64 | states: states [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `states` [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/json_schema/validators/of.rs:107:21 [INFO] [stderr] | [INFO] [stderr] 107 | states: states [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `states` [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/json_dsl/mod.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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/json_dsl/mod.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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/json_dsl/mod.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | errors: errors, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `errors` [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/json_schema/keywords/items.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | items: items, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `items` [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/json_schema/keywords/required.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | items: items [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `items` [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/json_schema/keywords/properties.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | properties: properties, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `properties` [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/json_schema/keywords/properties.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | patterns: patterns [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `patterns` [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/json_schema/keywords/dependencies.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | items: items [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `items` [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/json_schema/keywords/ref_.rs:18:25 [INFO] [stderr] | [INFO] [stderr] 18 | url: url [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [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/json_schema/keywords/format.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | formats: formats [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `formats` [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/json_schema/keywords/mod.rs:109:70 [INFO] [stderr] | [INFO] [stderr] 109 | let consumer = rc::Rc::new(KeywordConsumer { keys: keys.clone(), keyword: keyword }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `keyword` [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/json_schema/schema.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | scope: scope, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `scope` [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/json_schema/schema.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | schema: schema [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `schema` [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/json_schema/schema.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | keywords: keywords, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `keywords` [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/json_schema/schema.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | ban_unknown_keywords: ban_unknown_keywords, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ban_unknown_keywords` [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/json_schema/schema.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | schema: schema, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `schema` [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/json_schema/schema.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | tree: tree, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `tree` [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/json_schema/schema.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | validators: validators, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validators` [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/json_schema/schema.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | scopes: scopes [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `scopes` [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/json_schema/schema.rs:280:13 [INFO] [stderr] | [INFO] [stderr] 280 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `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/json_schema/schema.rs:281:13 [INFO] [stderr] | [INFO] [stderr] 281 | schema: schema, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `schema` [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/json_schema/schema.rs:283:13 [INFO] [stderr] | [INFO] [stderr] 283 | tree: tree, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `tree` [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/json_schema/schema.rs:284:13 [INFO] [stderr] | [INFO] [stderr] 284 | validators: validators, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `validators` [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/json_schema/validators/of.rs:64:21 [INFO] [stderr] | [INFO] [stderr] 64 | states: states [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `states` [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/json_schema/validators/of.rs:107:21 [INFO] [stderr] | [INFO] [stderr] 107 | states: states [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `states` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/builder.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | return &self.requires; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.requires` [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/json_dsl/builder.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | return &self.optional; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.optional` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/builder.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | return &self.validators; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.validators` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | return Ok(Some(to_value(&(val as i64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as i64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | return Ok(Some(to_value(&(val as i64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as i64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | return Ok(Some(to_value(&(val as u64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as u64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | return Ok(Some(to_value(&(val as u64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as u64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | return Ok(Some(to_value(&(val as f64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as f64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | return Ok(Some(to_value(&(val as f64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as f64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_schema/schema.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | return self.schema.validate_in_scope(data, "", self.scope); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.schema.validate_in_scope(data, "", self.scope)` [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: unneeded return statement [INFO] [stderr] --> src/json_schema/schema.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | return self.schema.validate_in_scope(data, path, self.scope); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.schema.validate_in_scope(data, path, self.scope)` [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: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/valico-48773df28800b529/out/codegen.rs:2:10 [INFO] [stderr] | [INFO] [stderr] 2 | key: 732231254413039614, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `732_231_254_413_039_614` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/valico-48773df28800b529/out/codegen.rs:12:10 [INFO] [stderr] | [INFO] [stderr] 12 | key: 3213172566270843353, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `3_213_172_566_270_843_353` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/valico-48773df28800b529/out/codegen.rs:28:10 [INFO] [stderr] | [INFO] [stderr] 28 | key: 3213172566270843353, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `3_213_172_566_270_843_353` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/valico-48773df28800b529/out/codegen.rs:39:10 [INFO] [stderr] | [INFO] [stderr] 39 | key: 732231254413039614, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `732_231_254_413_039_614` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/json_dsl/builder.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | return &self.requires; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.requires` [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/json_dsl/builder.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | return &self.optional; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.optional` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/builder.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | return &self.validators; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.validators` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | return Ok(Some(to_value(&(val as i64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as i64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | return Ok(Some(to_value(&(val as i64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as i64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | return Ok(Some(to_value(&(val as u64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as u64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | return Ok(Some(to_value(&(val as u64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as u64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | return Ok(Some(to_value(&(val as f64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as f64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_dsl/coercers.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | return Ok(Some(to_value(&(val as f64)).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(Some(to_value(&(val as f64)).unwrap()))` [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: unneeded return statement [INFO] [stderr] --> src/json_schema/schema.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | return self.schema.validate_in_scope(data, "", self.scope); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.schema.validate_in_scope(data, "", self.scope)` [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: unneeded return statement [INFO] [stderr] --> src/json_schema/schema.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | return self.schema.validate_in_scope(data, path, self.scope); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.schema.validate_in_scope(data, path, self.scope)` [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: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/valico-48773df28800b529/out/codegen.rs:2:10 [INFO] [stderr] | [INFO] [stderr] 2 | key: 732231254413039614, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `732_231_254_413_039_614` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/valico-48773df28800b529/out/codegen.rs:12:10 [INFO] [stderr] | [INFO] [stderr] 12 | key: 3213172566270843353, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `3_213_172_566_270_843_353` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/valico-48773df28800b529/out/codegen.rs:28:10 [INFO] [stderr] | [INFO] [stderr] 28 | key: 3213172566270843353, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `3_213_172_566_270_843_353` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/valico-48773df28800b529/out/codegen.rs:39:10 [INFO] [stderr] | [INFO] [stderr] 39 | key: 732231254413039614, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `732_231_254_413_039_614` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const ()`) to a reference type (`&E`) [INFO] [stderr] --> src/common/error.rs:29:27 [INFO] [stderr] | [INFO] [stderr] 29 | unsafe { Some(mem::transmute(get_data_ptr(self))) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(get_data_ptr(self) as *const E)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | / match self.get_detail() { [INFO] [stderr] 43 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 44 | | None => () [INFO] [stderr] 45 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(ref detail) = self.get_detail() { map.insert("detail".to_string(), to_value(detail).unwrap()); }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_dsl::builder::Builder` [INFO] [stderr] --> src/json_dsl/builder.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> Builder { [INFO] [stderr] 23 | | Builder { [INFO] [stderr] 24 | | requires: vec![], [INFO] [stderr] 25 | | optional: vec![], [INFO] [stderr] ... | [INFO] [stderr] 29 | | } [INFO] [stderr] 30 | | } [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] 10 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/json_dsl/builder.rs:146:51 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn process(&self, val: &mut Value, scope: &Option<&json_schema::Scope>) -> json_schema::ValidationState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&json_schema::Scope>` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/json_dsl/builder.rs:150:68 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn process_nest(&self, val: &mut Value, path: &str, scope: &Option<&json_schema::Scope>) -> json_schema::ValidationState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&json_schema::Scope>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/json_dsl/builder.rs:202:66 [INFO] [stderr] | [INFO] [stderr] 202 | fn process_object(&self, val: &mut Value, path: &str, scope: &Option<&json_schema::Scope>) -> json_schema::ValidationState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&json_schema::Scope>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/json_dsl/builder.rs:209:21 [INFO] [stderr] | [INFO] [stderr] 209 | let ref name = param.name; [INFO] [stderr] | ----^^^^^^^^-------------- help: try: `let name = ¶m.name;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_dsl/builder.rs:214:21 [INFO] [stderr] | [INFO] [stderr] 214 | / match process_result.value { [INFO] [stderr] 215 | | Some(new_value) => { object.insert(name.clone(), new_value); }, [INFO] [stderr] 216 | | None => () [INFO] [stderr] 217 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(new_value) = process_result.value { object.insert(name.clone(), new_value); }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/json_dsl/builder.rs:228:21 [INFO] [stderr] | [INFO] [stderr] 228 | let ref name = param.name; [INFO] [stderr] | ----^^^^^^^^-------------- help: try: `let name = ¶m.name;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_dsl/builder.rs:233:21 [INFO] [stderr] | [INFO] [stderr] 233 | / match process_result.value { [INFO] [stderr] 234 | | Some(new_value) => { object.insert(name.clone(), new_value); }, [INFO] [stderr] 235 | | None => () [INFO] [stderr] 236 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(new_value) = process_result.value { object.insert(name.clone(), new_value); }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/json_dsl/builder.rs:264:25 [INFO] [stderr] | [INFO] [stderr] 264 | let ref name = param.name; [INFO] [stderr] | ----^^^^^^^^-------------- help: try: `let name = ¶m.name;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_dsl/builder.rs:267:25 [INFO] [stderr] | [INFO] [stderr] 267 | / match param.default.as_ref() { [INFO] [stderr] 268 | | Some(val) => { object.insert(name.clone(), val.clone()); }, [INFO] [stderr] 269 | | None => () [INFO] [stderr] 270 | | }; [INFO] [stderr] | |_________________________^ help: try this: `if let Some(val) = param.default.as_ref() { object.insert(name.clone(), val.clone()); }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_dsl::coercers::ArrayCoercer` [INFO] [stderr] --> src/json_dsl/coercers.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | / pub fn new() -> ArrayCoercer { [INFO] [stderr] 230 | | ArrayCoercer { [INFO] [stderr] 231 | | sub_coercer: None, [INFO] [stderr] 232 | | separator: None [INFO] [stderr] 233 | | } [INFO] [stderr] 234 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 223 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_dsl/coercers.rs:276:16 [INFO] [stderr] | [INFO] [stderr] 276 | if errors.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `errors.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/json_dsl/param.rs:124:63 [INFO] [stderr] | [INFO] [stderr] 124 | pub fn process(&self, val: &mut Value, path: &str, scope: &Option<&json_schema::Scope>) -> super::ExtendedResult> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&json_schema::Scope>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Required); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | impl_serialize!(Required); [INFO] [stderr] | -------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(WrongType); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | impl_serialize!(WrongType); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(WrongValue); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | impl_serialize!(WrongValue); [INFO] [stderr] | ---------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | / match self.get_detail() { [INFO] [stderr] 126 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 127 | | None => () [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / impl_serialize!(MutuallyExclusive, |err: &MutuallyExclusive, map: &mut ::serde_json::Map| { [INFO] [stderr] 42 | | map.insert("params".to_string(), to_value(&err.params).unwrap()); [INFO] [stderr] 43 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 125 | if let Some(ref detail) = self.get_detail() { impl_serialize!(MutuallyExclusive, |err: &MutuallyExclusive, map: &mut ::serde_json::Map| { [INFO] [stderr] 126 | map.insert("params".to_string(), to_value(&err.params).unwrap()); [INFO] [stderr] 127 | }); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | / match self.get_detail() { [INFO] [stderr] 126 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 127 | | None => () [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | / impl_serialize!(ExactlyOne, |err: &ExactlyOne, map: &mut ::serde_json::Map| { [INFO] [stderr] 54 | | map.insert("params".to_string(), to_value(&err.params).unwrap()) [INFO] [stderr] 55 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 125 | if let Some(ref detail) = self.get_detail() { impl_serialize!(ExactlyOne, |err: &ExactlyOne, map: &mut ::serde_json::Map| { [INFO] [stderr] 126 | map.insert("params".to_string(), to_value(&err.params).unwrap()) [INFO] [stderr] 127 | }); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | / match self.get_detail() { [INFO] [stderr] 126 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 127 | | None => () [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | / impl_serialize!(AtLeastOne, |err: &AtLeastOne, map: &mut ::serde_json::Map| { [INFO] [stderr] 67 | | map.insert("params".to_string(), to_value(&err.params).unwrap()) [INFO] [stderr] 68 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 125 | if let Some(ref detail) = self.get_detail() { impl_serialize!(AtLeastOne, |err: &AtLeastOne, map: &mut ::serde_json::Map| { [INFO] [stderr] 126 | map.insert("params".to_string(), to_value(&err.params).unwrap()) [INFO] [stderr] 127 | }); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/json_schema/helpers.rs:36:42 [INFO] [stderr] | [INFO] [stderr] 36 | .map_err(|err| schema::SchemaError::UrlParseError(err)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `schema::SchemaError::UrlParseError` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/json_schema/helpers.rs:35:38 [INFO] [stderr] | [INFO] [stderr] 35 | .map(|url| Some(url)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Some` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/json_schema/helpers.rs:52:42 [INFO] [stderr] | [INFO] [stderr] 52 | .map_err(|err| schema::SchemaError::UrlParseError(err)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `schema::SchemaError::UrlParseError` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/json_schema/helpers.rs:51:38 [INFO] [stderr] | [INFO] [stderr] 51 | .map(|url| Some(url)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Some` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/helpers.rs:62:59 [INFO] [stderr] | [INFO] [stderr] 62 | let normalized_fragment = if new_fragment.starts_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/helpers.rs:69:31 [INFO] [stderr] | [INFO] [stderr] 69 | Some(ref fragment) if fragment.len() > 0 => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!fragment.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/helpers.rs:70:38 [INFO] [stderr] | [INFO] [stderr] 70 | if !fragment.starts_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/helpers.rs:72:57 [INFO] [stderr] | [INFO] [stderr] 72 | let mut fragment_parts = fragment.split("/").map(|s| s.to_string()); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/json_schema/helpers.rs:76:42 [INFO] [stderr] | [INFO] [stderr] 76 | result_fragment.push_str(normalized_fragment.as_ref()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `normalized_fragment` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/helpers.rs:95:27 [INFO] [stderr] | [INFO] [stderr] 95 | Some(fragment) if fragment.len() > 0 => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!fragment.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/helpers.rs:96:38 [INFO] [stderr] | [INFO] [stderr] 96 | if !fragment.starts_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/helpers.rs:97:53 [INFO] [stderr] | [INFO] [stderr] 97 | let fragment_parts = fragment.split("/").map(|s| s.to_string()).collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/keywords/required.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 15 | if required.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `required.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/keywords/dependencies.rs:39:20 [INFO] [stderr] | [INFO] [stderr] 39 | if item.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `item.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/keywords/enum_.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 15 | if enum_.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `enum_.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/keywords/type_.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | if types.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `types.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::keywords::format::Format` [INFO] [stderr] --> src/json_schema/keywords/format.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | / pub fn new() -> Format { [INFO] [stderr] 54 | | Format { [INFO] [stderr] 55 | | formats: default_formats() [INFO] [stderr] 56 | | } [INFO] [stderr] 57 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 48 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/json_schema/schema.rs:106:77 [INFO] [stderr] | [INFO] [stderr] 106 | try!(helpers::parse_url_key("id", &def)).clone().unwrap_or_else(|| helpers::generate_id()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `helpers::generate_id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_schema/schema.rs:171:25 [INFO] [stderr] | [INFO] [stderr] 171 | / match try!(keyword.keyword.compile(def, context)) { [INFO] [stderr] 172 | | Some(validator) => validators.push(validator), [INFO] [stderr] 173 | | None => () [INFO] [stderr] 174 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 171 | if let Some(validator) = match $ expr { [INFO] [stderr] 172 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 173 | :: Err ( err ) => { [INFO] [stderr] 174 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 175 | $ crate :: convert :: From :: from ( err ) ) } } { validators.push(validator) } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/schema.rs:188:45 [INFO] [stderr] | [INFO] [stderr] 188 | if settings.ban_unknown_keywords && not_consumed.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!not_consumed.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/json_schema/schema.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | / let mut schema = None; [INFO] [stderr] 203 | | [INFO] [stderr] 204 | | if is_schema { [INFO] [stderr] 205 | | id = try!(helpers::parse_url_key_with_base("id", &def, context.url)); [INFO] [stderr] 206 | | schema = try!(helpers::parse_url_key("$schema", &def)); [INFO] [stderr] 207 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] help: it is more idiomatic to write [INFO] [stderr] | [INFO] [stderr] 202 | let schema = if is_schema { ..; match $ expr { [INFO] [stderr] 203 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 204 | :: Err ( err ) => { [INFO] [stderr] 205 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 206 | $ crate :: convert :: From :: from ( err ) ) } } } else { None }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/json_schema/schema.rs:296:26 [INFO] [stderr] | [INFO] [stderr] 296 | schema = schema.tree.get(item).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&schema.tree[item]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/schema.rs:303:38 [INFO] [stderr] | [INFO] [stderr] 303 | assert!(fragment.starts_with("/"), "Can't resolve id fragments"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/schema.rs:305:41 [INFO] [stderr] | [INFO] [stderr] 305 | let parts = fragment[1..].split("/"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::scope::Scope` [INFO] [stderr] --> src/json_schema/scope.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> Scope { [INFO] [stderr] 19 | | let mut scope = Scope { [INFO] [stderr] 20 | | keywords: keywords::default(), [INFO] [stderr] 21 | | schemes: collections::HashMap::new() [INFO] [stderr] ... | [INFO] [stderr] 25 | | scope [INFO] [stderr] 26 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 11 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json_schema/scope.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | / pub fn compile_and_return<'a>(&'a mut self, def: Value, ban_unknown: bool) [INFO] [stderr] 60 | | -> Result, schema::SchemaError> [INFO] [stderr] 61 | | { [INFO] [stderr] 62 | | let schema = try!(schema::compile(def, None, schema::CompilationSettings::new(&self.keywords, ban_unknown))); [INFO] [stderr] 63 | | self.add_and_return(schema.id.clone().as_ref().unwrap(), schema) [INFO] [stderr] 64 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_schema/scope.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | / match fragment { [INFO] [stderr] 81 | | Some(_) => return Err(schema::SchemaError::WrongId), [INFO] [stderr] 82 | | None => () [INFO] [stderr] 83 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(_) = fragment { return Err(schema::SchemaError::WrongId) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/json_schema/scope.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | / if !self.schemes.contains_key(&id_str) { [INFO] [stderr] 86 | | self.schemes.insert(id_str, schema); [INFO] [stderr] 87 | | Ok(()) [INFO] [stderr] 88 | | } else { [INFO] [stderr] 89 | | Err(schema::SchemaError::IdConflicts) [INFO] [stderr] 90 | | } [INFO] [stderr] | |_________^ help: consider using: `self.schemes.entry(id_str)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_schema/scope.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | / match fragment { [INFO] [stderr] 99 | | Some(_) => return Err(schema::SchemaError::WrongId), [INFO] [stderr] 100 | | None => () [INFO] [stderr] 101 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(_) = fragment { return Err(schema::SchemaError::WrongId) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/json_schema/scope.rs:105:48 [INFO] [stderr] | [INFO] [stderr] 105 | Ok(schema::ScopedSchema::new(self, self.schemes.get(&id_str).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.schemes[&id_str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/json_schema/validators/multiple_of.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | !(remainder >= f64::EPSILON) && (remainder < (1f64 - f64::EPSILON)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_cmp_op_on_partial_ord)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/json_schema/validators/items.rs:66:65 [INFO] [stderr] | [INFO] [stderr] 66 | Some(AdditionalKind::Boolean(allow)) if allow == false => { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try simplifying it as shown: `!allow` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/json_schema/validators/properties.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | / let mut is_property_passed = false; [INFO] [stderr] 29 | | if self.properties.contains_key(key) { [INFO] [stderr] 30 | | let url = self.properties.get(key).unwrap(); [INFO] [stderr] 31 | | let schema = scope.resolve(url); [INFO] [stderr] ... | [INFO] [stderr] 39 | | is_property_passed = true; [INFO] [stderr] 40 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let is_property_passed = if self.properties.contains_key(key) { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/json_schema/validators/properties.rs:30:27 [INFO] [stderr] | [INFO] [stderr] 30 | let url = self.properties.get(key).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.properties[key]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/json_schema/validators/properties.rs:61:53 [INFO] [stderr] | [INFO] [stderr] 61 | AdditionalKind::Boolean(allowed) if allowed == false => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!allowed` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/json_schema/validators/dependencies.rs:40:32 [INFO] [stderr] | [INFO] [stderr] 40 | if !object.get(&key).is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `object.get(&key).is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json_schema/validators/dependencies.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | / match dep { [INFO] [stderr] 30 | | &DepKind::Schema(ref url) => { [INFO] [stderr] 31 | | let schema = scope.resolve(url); [INFO] [stderr] 32 | | if schema.is_some() { [INFO] [stderr] ... | [INFO] [stderr] 48 | | } [INFO] [stderr] 49 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 29 | match *dep { [INFO] [stderr] 30 | DepKind::Schema(ref url) => { [INFO] [stderr] 31 | let schema = scope.resolve(url); [INFO] [stderr] 32 | if schema.is_some() { [INFO] [stderr] 33 | state.append(schema.unwrap().validate_in(object, path)); [INFO] [stderr] 34 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/json_schema/validators/type_.rs:19:32 [INFO] [stderr] | [INFO] [stderr] 19 | fn check_type(val: &Value, ty: &json_schema::PrimitiveType) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `json_schema::PrimitiveType` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json_schema/validators/type_.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / match ty { [INFO] [stderr] 21 | | &json_schema::PrimitiveType::Array => val.is_array(), [INFO] [stderr] 22 | | &json_schema::PrimitiveType::Boolean => val.is_boolean(), [INFO] [stderr] 23 | | &json_schema::PrimitiveType::Integer => val.is_u64() || val.is_i64(), [INFO] [stderr] ... | [INFO] [stderr] 27 | | &json_schema::PrimitiveType::String => val.is_string(), [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 20 | match *ty { [INFO] [stderr] 21 | json_schema::PrimitiveType::Array => val.is_array(), [INFO] [stderr] 22 | json_schema::PrimitiveType::Boolean => val.is_boolean(), [INFO] [stderr] 23 | json_schema::PrimitiveType::Integer => val.is_u64() || val.is_i64(), [INFO] [stderr] 24 | json_schema::PrimitiveType::Number => val.is_number(), [INFO] [stderr] 25 | json_schema::PrimitiveType::Null => val.is_null(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::validators::ValidationState` [INFO] [stderr] --> src/json_schema/validators/mod.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | / pub fn new() -> ValidationState { [INFO] [stderr] 90 | | ValidationState { [INFO] [stderr] 91 | | errors: vec![], [INFO] [stderr] 92 | | missing: vec![] [INFO] [stderr] 93 | | } [INFO] [stderr] 94 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 83 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/validators/mod.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | self.errors.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.errors.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/validators/mod.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | self.errors.len() == 0 && self.missing.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.errors.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/validators/mod.rs:101:35 [INFO] [stderr] | [INFO] [stderr] 101 | self.errors.len() == 0 && self.missing.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.missing.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(WrongType); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | impl_serialize!(WrongType); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MultipleOf); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | impl_serialize!(MultipleOf); [INFO] [stderr] | ---------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Maximum); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | impl_serialize!(Maximum); [INFO] [stderr] | ------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Minimum); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | impl_serialize!(Minimum); [INFO] [stderr] | ------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MaxLength); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:45:1 [INFO] [stderr] | [INFO] [stderr] 45 | impl_serialize!(MaxLength); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MinLength); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | impl_serialize!(MinLength); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Pattern); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | impl_serialize!(Pattern); [INFO] [stderr] | ------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MaxItems); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:69:1 [INFO] [stderr] | [INFO] [stderr] 69 | impl_serialize!(MaxItems); [INFO] [stderr] | -------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MinItems); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:77:1 [INFO] [stderr] | [INFO] [stderr] 77 | impl_serialize!(MinItems); [INFO] [stderr] | -------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(UniqueItems); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:85:1 [INFO] [stderr] | [INFO] [stderr] 85 | impl_serialize!(UniqueItems); [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Items); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | impl_serialize!(Items); [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MaxProperties); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:102:1 [INFO] [stderr] | [INFO] [stderr] 102 | impl_serialize!(MaxProperties); [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MinProperties); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | impl_serialize!(MinProperties); [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Required); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:118:1 [INFO] [stderr] | [INFO] [stderr] 118 | impl_serialize!(Required); [INFO] [stderr] | -------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Properties); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:127:1 [INFO] [stderr] | [INFO] [stderr] 127 | impl_serialize!(Properties); [INFO] [stderr] | ---------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Enum); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | impl_serialize!(Enum); [INFO] [stderr] | ---------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | / match self.get_detail() { [INFO] [stderr] 126 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 127 | | None => () [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:144:1 [INFO] [stderr] | [INFO] [stderr] 144 | / impl_serialize!(AnyOf, |err: &AnyOf, map: &mut ::serde_json::Map| { [INFO] [stderr] 145 | | map.insert("states".to_string(), to_value(&err.states).unwrap()) [INFO] [stderr] 146 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 125 | if let Some(ref detail) = self.get_detail() { impl_serialize!(AnyOf, |err: &AnyOf, map: &mut ::serde_json::Map| { [INFO] [stderr] 126 | map.insert("states".to_string(), to_value(&err.states).unwrap()) [INFO] [stderr] 127 | }); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | / match self.get_detail() { [INFO] [stderr] 126 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 127 | | None => () [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:155:1 [INFO] [stderr] | [INFO] [stderr] 155 | / impl_serialize!(OneOf, |err: &OneOf, map: &mut ::serde_json::Map| { [INFO] [stderr] 156 | | map.insert("states".to_string(), to_value(&err.states).unwrap()) [INFO] [stderr] 157 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 125 | if let Some(ref detail) = self.get_detail() { impl_serialize!(OneOf, |err: &OneOf, map: &mut ::serde_json::Map| { [INFO] [stderr] 126 | map.insert("states".to_string(), to_value(&err.states).unwrap()) [INFO] [stderr] 127 | }); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Not); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:165:1 [INFO] [stderr] | [INFO] [stderr] 165 | impl_serialize!(Not); [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Format); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:174:1 [INFO] [stderr] | [INFO] [stderr] 174 | impl_serialize!(Format); [INFO] [stderr] | ------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::builder::SchemaArray` [INFO] [stderr] --> src/json_schema/builder.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | / pub fn new() -> SchemaArray { [INFO] [stderr] 12 | | SchemaArray { items: vec![] } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::builder::SchemaHash` [INFO] [stderr] --> src/json_schema/builder.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn new() -> SchemaHash { [INFO] [stderr] 26 | | SchemaHash { items: collections::HashMap::new() } [INFO] [stderr] 27 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 20 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::builder::Dependencies` [INFO] [stderr] --> src/json_schema/builder.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / pub fn new() -> Dependencies { [INFO] [stderr] 40 | | Dependencies { [INFO] [stderr] 41 | | deps: collections::HashMap::new() [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 34 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json_schema/builder.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | / match self { [INFO] [stderr] 74 | | &Dependency::Schema(ref json) => json.serialize(serializer), [INFO] [stderr] 75 | | &Dependency::Property(ref array) => array.serialize(serializer) [INFO] [stderr] 76 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 73 | match *self { [INFO] [stderr] 74 | Dependency::Schema(ref json) => json.serialize(serializer), [INFO] [stderr] 75 | Dependency::Property(ref array) => array.serialize(serializer) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `json_schema::builder::Builder` [INFO] [stderr] --> src/json_schema/builder.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | / pub fn new() -> Builder { [INFO] [stderr] 89 | | Builder { [INFO] [stderr] 90 | | obj_builder: jsonway::ObjectBuilder::new() [INFO] [stderr] 91 | | } [INFO] [stderr] 92 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 87 | impl Default for json_schema::builder::Builder { [INFO] [stderr] 88 | fn default() -> Self { [INFO] [stderr] 89 | Self::new() [INFO] [stderr] 90 | } [INFO] [stderr] 91 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json_schema/mod.rs:46:23 [INFO] [stderr] | [INFO] [stderr] 46 | fmt.write_str(match self { [INFO] [stderr] | _______________________^ [INFO] [stderr] 47 | | &PrimitiveType::Array => "array", [INFO] [stderr] 48 | | &PrimitiveType::Boolean => "boolean", [INFO] [stderr] 49 | | &PrimitiveType::Integer => "integer", [INFO] [stderr] ... | [INFO] [stderr] 53 | | &PrimitiveType::String => "string", [INFO] [stderr] 54 | | }) [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 46 | fmt.write_str(match *self { [INFO] [stderr] 47 | PrimitiveType::Array => "array", [INFO] [stderr] 48 | PrimitiveType::Boolean => "boolean", [INFO] [stderr] 49 | PrimitiveType::Integer => "integer", [INFO] [stderr] 50 | PrimitiveType::Number => "number", [INFO] [stderr] 51 | PrimitiveType::Null => "null", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: transmute from a pointer type (`*const ()`) to a reference type (`&E`) [INFO] [stderr] --> src/common/error.rs:29:27 [INFO] [stderr] | [INFO] [stderr] 29 | unsafe { Some(mem::transmute(get_data_ptr(self))) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(get_data_ptr(self) as *const E)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | / match self.get_detail() { [INFO] [stderr] 43 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 44 | | None => () [INFO] [stderr] 45 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(ref detail) = self.get_detail() { map.insert("detail".to_string(), to_value(detail).unwrap()); }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_dsl::builder::Builder` [INFO] [stderr] --> src/json_dsl/builder.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> Builder { [INFO] [stderr] 23 | | Builder { [INFO] [stderr] 24 | | requires: vec![], [INFO] [stderr] 25 | | optional: vec![], [INFO] [stderr] ... | [INFO] [stderr] 29 | | } [INFO] [stderr] 30 | | } [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] 10 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/json_dsl/builder.rs:146:51 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn process(&self, val: &mut Value, scope: &Option<&json_schema::Scope>) -> json_schema::ValidationState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&json_schema::Scope>` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/json_dsl/builder.rs:150:68 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn process_nest(&self, val: &mut Value, path: &str, scope: &Option<&json_schema::Scope>) -> json_schema::ValidationState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&json_schema::Scope>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/json_dsl/builder.rs:202:66 [INFO] [stderr] | [INFO] [stderr] 202 | fn process_object(&self, val: &mut Value, path: &str, scope: &Option<&json_schema::Scope>) -> json_schema::ValidationState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&json_schema::Scope>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/json_dsl/builder.rs:209:21 [INFO] [stderr] | [INFO] [stderr] 209 | let ref name = param.name; [INFO] [stderr] | ----^^^^^^^^-------------- help: try: `let name = ¶m.name;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_dsl/builder.rs:214:21 [INFO] [stderr] | [INFO] [stderr] 214 | / match process_result.value { [INFO] [stderr] 215 | | Some(new_value) => { object.insert(name.clone(), new_value); }, [INFO] [stderr] 216 | | None => () [INFO] [stderr] 217 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(new_value) = process_result.value { object.insert(name.clone(), new_value); }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/json_dsl/builder.rs:228:21 [INFO] [stderr] | [INFO] [stderr] 228 | let ref name = param.name; [INFO] [stderr] | ----^^^^^^^^-------------- help: try: `let name = ¶m.name;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_dsl/builder.rs:233:21 [INFO] [stderr] | [INFO] [stderr] 233 | / match process_result.value { [INFO] [stderr] 234 | | Some(new_value) => { object.insert(name.clone(), new_value); }, [INFO] [stderr] 235 | | None => () [INFO] [stderr] 236 | | } [INFO] [stderr] | |_____________________^ help: try this: `if let Some(new_value) = process_result.value { object.insert(name.clone(), new_value); }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/json_dsl/builder.rs:264:25 [INFO] [stderr] | [INFO] [stderr] 264 | let ref name = param.name; [INFO] [stderr] | ----^^^^^^^^-------------- help: try: `let name = ¶m.name;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_dsl/builder.rs:267:25 [INFO] [stderr] | [INFO] [stderr] 267 | / match param.default.as_ref() { [INFO] [stderr] 268 | | Some(val) => { object.insert(name.clone(), val.clone()); }, [INFO] [stderr] 269 | | None => () [INFO] [stderr] 270 | | }; [INFO] [stderr] | |_________________________^ help: try this: `if let Some(val) = param.default.as_ref() { object.insert(name.clone(), val.clone()); }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_dsl::coercers::ArrayCoercer` [INFO] [stderr] --> src/json_dsl/coercers.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | / pub fn new() -> ArrayCoercer { [INFO] [stderr] 230 | | ArrayCoercer { [INFO] [stderr] 231 | | sub_coercer: None, [INFO] [stderr] 232 | | separator: None [INFO] [stderr] 233 | | } [INFO] [stderr] 234 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 223 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_dsl/coercers.rs:276:16 [INFO] [stderr] | [INFO] [stderr] 276 | if errors.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `errors.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/json_dsl/param.rs:124:63 [INFO] [stderr] | [INFO] [stderr] 124 | pub fn process(&self, val: &mut Value, path: &str, scope: &Option<&json_schema::Scope>) -> super::ExtendedResult> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&json_schema::Scope>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Required); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | impl_serialize!(Required); [INFO] [stderr] | -------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(WrongType); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | impl_serialize!(WrongType); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(WrongValue); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | impl_serialize!(WrongValue); [INFO] [stderr] | ---------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | / match self.get_detail() { [INFO] [stderr] 126 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 127 | | None => () [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / impl_serialize!(MutuallyExclusive, |err: &MutuallyExclusive, map: &mut ::serde_json::Map| { [INFO] [stderr] 42 | | map.insert("params".to_string(), to_value(&err.params).unwrap()); [INFO] [stderr] 43 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 125 | if let Some(ref detail) = self.get_detail() { impl_serialize!(MutuallyExclusive, |err: &MutuallyExclusive, map: &mut ::serde_json::Map| { [INFO] [stderr] 126 | map.insert("params".to_string(), to_value(&err.params).unwrap()); [INFO] [stderr] 127 | }); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | / match self.get_detail() { [INFO] [stderr] 126 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 127 | | None => () [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | / impl_serialize!(ExactlyOne, |err: &ExactlyOne, map: &mut ::serde_json::Map| { [INFO] [stderr] 54 | | map.insert("params".to_string(), to_value(&err.params).unwrap()) [INFO] [stderr] 55 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 125 | if let Some(ref detail) = self.get_detail() { impl_serialize!(ExactlyOne, |err: &ExactlyOne, map: &mut ::serde_json::Map| { [INFO] [stderr] 126 | map.insert("params".to_string(), to_value(&err.params).unwrap()) [INFO] [stderr] 127 | }); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | / match self.get_detail() { [INFO] [stderr] 126 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 127 | | None => () [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/json_dsl/errors.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | / impl_serialize!(AtLeastOne, |err: &AtLeastOne, map: &mut ::serde_json::Map| { [INFO] [stderr] 67 | | map.insert("params".to_string(), to_value(&err.params).unwrap()) [INFO] [stderr] 68 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 125 | if let Some(ref detail) = self.get_detail() { impl_serialize!(AtLeastOne, |err: &AtLeastOne, map: &mut ::serde_json::Map| { [INFO] [stderr] 126 | map.insert("params".to_string(), to_value(&err.params).unwrap()) [INFO] [stderr] 127 | }); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/json_schema/helpers.rs:36:42 [INFO] [stderr] | [INFO] [stderr] 36 | .map_err(|err| schema::SchemaError::UrlParseError(err)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `schema::SchemaError::UrlParseError` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/json_schema/helpers.rs:35:38 [INFO] [stderr] | [INFO] [stderr] 35 | .map(|url| Some(url)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Some` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/json_schema/helpers.rs:52:42 [INFO] [stderr] | [INFO] [stderr] 52 | .map_err(|err| schema::SchemaError::UrlParseError(err)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `schema::SchemaError::UrlParseError` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/json_schema/helpers.rs:51:38 [INFO] [stderr] | [INFO] [stderr] 51 | .map(|url| Some(url)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove closure as shown: `Some` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/helpers.rs:62:59 [INFO] [stderr] | [INFO] [stderr] 62 | let normalized_fragment = if new_fragment.starts_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/helpers.rs:69:31 [INFO] [stderr] | [INFO] [stderr] 69 | Some(ref fragment) if fragment.len() > 0 => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!fragment.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/helpers.rs:70:38 [INFO] [stderr] | [INFO] [stderr] 70 | if !fragment.starts_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/helpers.rs:72:57 [INFO] [stderr] | [INFO] [stderr] 72 | let mut fragment_parts = fragment.split("/").map(|s| s.to_string()); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/json_schema/helpers.rs:76:42 [INFO] [stderr] | [INFO] [stderr] 76 | result_fragment.push_str(normalized_fragment.as_ref()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `normalized_fragment` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/helpers.rs:95:27 [INFO] [stderr] | [INFO] [stderr] 95 | Some(fragment) if fragment.len() > 0 => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!fragment.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/helpers.rs:96:38 [INFO] [stderr] | [INFO] [stderr] 96 | if !fragment.starts_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/helpers.rs:97:53 [INFO] [stderr] | [INFO] [stderr] 97 | let fragment_parts = fragment.split("/").map(|s| s.to_string()).collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/multiple_of.rs:54:63 [INFO] [stderr] | [INFO] [stderr] 54 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 55 | | schema.set("multipleOf", "".to_string()); [INFO] [stderr] 56 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/multiple_of.rs:58:63 [INFO] [stderr] | [INFO] [stderr] 58 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 59 | | schema.set("multipleOf", to_value(&0).unwrap()); [INFO] [stderr] 60 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/multiple_of.rs:62:63 [INFO] [stderr] | [INFO] [stderr] 62 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 63 | | schema.set("multipleOf", to_value(&-1).unwrap()); [INFO] [stderr] 64 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin.rs:90:63 [INFO] [stderr] | [INFO] [stderr] 90 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 91 | | schema.set("maximum", true); [INFO] [stderr] 92 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin.rs:99:63 [INFO] [stderr] | [INFO] [stderr] 99 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 100 | | schema.set("exclusiveMaximum", true); [INFO] [stderr] 101 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin.rs:103:63 [INFO] [stderr] | [INFO] [stderr] 103 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 104 | | schema.set("maximum", 10); [INFO] [stderr] 105 | | schema.set("exclusiveMaximum", "".to_string()); [INFO] [stderr] 106 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin.rs:137:63 [INFO] [stderr] | [INFO] [stderr] 137 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 138 | | schema.set("minimum", true); [INFO] [stderr] 139 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin.rs:146:63 [INFO] [stderr] | [INFO] [stderr] 146 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 147 | | schema.set("exclusiveMinimum", true); [INFO] [stderr] 148 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin.rs:150:63 [INFO] [stderr] | [INFO] [stderr] 150 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 151 | | schema.set("minimum", 10); [INFO] [stderr] 152 | | schema.set("exclusiveMinimum", "".to_string()); [INFO] [stderr] 153 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_length.rs:61:63 [INFO] [stderr] | [INFO] [stderr] 61 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 62 | | schema.set("maxLength", to_value(&-1).unwrap()); [INFO] [stderr] 63 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_length.rs:65:63 [INFO] [stderr] | [INFO] [stderr] 65 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 66 | | schema.set("maxLength", to_value(&"").unwrap()); [INFO] [stderr] 67 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_length.rs:69:63 [INFO] [stderr] | [INFO] [stderr] 69 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 70 | | schema.set("maxLength", to_value(&1.1).unwrap()); [INFO] [stderr] 71 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_length.rs:90:63 [INFO] [stderr] | [INFO] [stderr] 90 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 91 | | schema.set("minLength", to_value(&-1).unwrap()); [INFO] [stderr] 92 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_length.rs:94:63 [INFO] [stderr] | [INFO] [stderr] 94 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 95 | | schema.set("minLength", to_value(&"").unwrap()); [INFO] [stderr] 96 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_length.rs:98:63 [INFO] [stderr] | [INFO] [stderr] 98 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 99 | | schema.set("minLength", to_value(&1.1).unwrap()); [INFO] [stderr] 100 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_items.rs:30:63 [INFO] [stderr] | [INFO] [stderr] 30 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 31 | | schema.set("maxItems", to_value(&-1).unwrap()); [INFO] [stderr] 32 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_items.rs:34:63 [INFO] [stderr] | [INFO] [stderr] 34 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 35 | | schema.set("maxItems", to_value(&"").unwrap()); [INFO] [stderr] 36 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_items.rs:38:63 [INFO] [stderr] | [INFO] [stderr] 38 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 39 | | schema.set("maxItems", to_value(&1.1).unwrap()); [INFO] [stderr] 40 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_items.rs:59:63 [INFO] [stderr] | [INFO] [stderr] 59 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 60 | | schema.set("minItems", to_value(&-1).unwrap()); [INFO] [stderr] 61 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_items.rs:63:63 [INFO] [stderr] | [INFO] [stderr] 63 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 64 | | schema.set("minItems", to_value(&"").unwrap()); [INFO] [stderr] 65 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_items.rs:67:63 [INFO] [stderr] | [INFO] [stderr] 67 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 68 | | schema.set("minItems", to_value(&1.1).unwrap()); [INFO] [stderr] 69 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/pattern.rs:54:63 [INFO] [stderr] | [INFO] [stderr] 54 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 55 | | schema.set("pattern", "([]".to_string()); [INFO] [stderr] 56 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/pattern.rs:58:63 [INFO] [stderr] | [INFO] [stderr] 58 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 59 | | schema.set("pattern", 2); [INFO] [stderr] 60 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_properties.rs:41:63 [INFO] [stderr] | [INFO] [stderr] 41 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 42 | | schema.set("maxProperties", to_value(&-1).unwrap()); [INFO] [stderr] 43 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_properties.rs:45:63 [INFO] [stderr] | [INFO] [stderr] 45 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 46 | | schema.set("maxProperties", to_value(&"").unwrap()); [INFO] [stderr] 47 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_properties.rs:49:63 [INFO] [stderr] | [INFO] [stderr] 49 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 50 | | schema.set("maxProperties", to_value(&1.1).unwrap()); [INFO] [stderr] 51 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_properties.rs:81:63 [INFO] [stderr] | [INFO] [stderr] 81 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 82 | | schema.set("minProperties", to_value(&-1).unwrap()); [INFO] [stderr] 83 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_properties.rs:85:63 [INFO] [stderr] | [INFO] [stderr] 85 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 86 | | schema.set("minProperties", to_value(&"").unwrap()); [INFO] [stderr] 87 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/maxmin_properties.rs:89:63 [INFO] [stderr] | [INFO] [stderr] 89 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 90 | | schema.set("minProperties", to_value(&1.1).unwrap()); [INFO] [stderr] 91 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/keywords/required.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 15 | if required.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `required.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/required.rs:75:63 [INFO] [stderr] | [INFO] [stderr] 75 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 76 | | schema.array("required", |_| {}); [INFO] [stderr] 77 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/required.rs:79:63 [INFO] [stderr] | [INFO] [stderr] 79 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 80 | | schema.array("required", |required| { [INFO] [stderr] 81 | | required.push(1) [INFO] [stderr] 82 | | }); [INFO] [stderr] 83 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/properties.rs:295:63 [INFO] [stderr] | [INFO] [stderr] 295 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 296 | | schema.set("properties", false); [INFO] [stderr] 297 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/properties.rs:299:63 [INFO] [stderr] | [INFO] [stderr] 299 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 300 | | schema.set("patternProperties", false); [INFO] [stderr] 301 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/properties.rs:303:63 [INFO] [stderr] | [INFO] [stderr] 303 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 304 | | schema.object("patternProperties", |pattern| { [INFO] [stderr] 305 | | pattern.set("test", 1) [INFO] [stderr] 306 | | }); [INFO] [stderr] 307 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/properties.rs:309:63 [INFO] [stderr] | [INFO] [stderr] 309 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 310 | | schema.object("patternProperties", |pattern| { [INFO] [stderr] 311 | | pattern.object("((", |_malformed| {}) [INFO] [stderr] 312 | | }); [INFO] [stderr] 313 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/properties.rs:315:63 [INFO] [stderr] | [INFO] [stderr] 315 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 316 | | schema.set("additionalProperties", 10); [INFO] [stderr] 317 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/keywords/dependencies.rs:39:20 [INFO] [stderr] | [INFO] [stderr] 39 | if item.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `item.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/dependencies.rs:128:63 [INFO] [stderr] | [INFO] [stderr] 128 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 129 | | schema.object("dependencies", |deps| { [INFO] [stderr] 130 | | deps.set("isbn", 10); [INFO] [stderr] 131 | | }); [INFO] [stderr] 132 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/dependencies.rs:134:63 [INFO] [stderr] | [INFO] [stderr] 134 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 135 | | schema.object("dependencies", |deps| { [INFO] [stderr] 136 | | deps.array("item_id", |item_id| { [INFO] [stderr] 137 | | item_id.push(10) [INFO] [stderr] 138 | | }); [INFO] [stderr] 139 | | }); [INFO] [stderr] 140 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/keywords/enum_.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 15 | if enum_.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `enum_.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/enum_.rs:59:63 [INFO] [stderr] | [INFO] [stderr] 59 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 60 | | schema.array("enum", |_| {}); [INFO] [stderr] 61 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/enum_.rs:63:63 [INFO] [stderr] | [INFO] [stderr] 63 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 64 | | schema.object("enum", |_| {}); [INFO] [stderr] 65 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/keywords/type_.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | if types.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `types.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/type_.rs:186:63 [INFO] [stderr] | [INFO] [stderr] 186 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 187 | | schema.set("type", 10); [INFO] [stderr] 188 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/type_.rs:190:63 [INFO] [stderr] | [INFO] [stderr] 190 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 191 | | schema.object("type", |_type| {}); [INFO] [stderr] 192 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/type_.rs:194:63 [INFO] [stderr] | [INFO] [stderr] 194 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 195 | | schema.set("type", "unsigned".to_string()); [INFO] [stderr] 196 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/type_.rs:198:63 [INFO] [stderr] | [INFO] [stderr] 198 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 199 | | schema.array("type", |types| { [INFO] [stderr] 200 | | types.push(10); [INFO] [stderr] 201 | | }); [INFO] [stderr] 202 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/json_schema/keywords/type_.rs:204:63 [INFO] [stderr] | [INFO] [stderr] 204 | assert!(scope.compile_and_return(jsonway::object(|schema| { [INFO] [stderr] | _______________________________________________________________^ [INFO] [stderr] 205 | | schema.array("type", |types| { [INFO] [stderr] 206 | | types.push("unsigned".to_string()); [INFO] [stderr] 207 | | }); [INFO] [stderr] 208 | | }).unwrap(), true).is_err()); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::keywords::format::Format` [INFO] [stderr] --> src/json_schema/keywords/format.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | / pub fn new() -> Format { [INFO] [stderr] 54 | | Format { [INFO] [stderr] 55 | | formats: default_formats() [INFO] [stderr] 56 | | } [INFO] [stderr] 57 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 48 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/json_schema/schema.rs:106:77 [INFO] [stderr] | [INFO] [stderr] 106 | try!(helpers::parse_url_key("id", &def)).clone().unwrap_or_else(|| helpers::generate_id()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `helpers::generate_id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_schema/schema.rs:171:25 [INFO] [stderr] | [INFO] [stderr] 171 | / match try!(keyword.keyword.compile(def, context)) { [INFO] [stderr] 172 | | Some(validator) => validators.push(validator), [INFO] [stderr] 173 | | None => () [INFO] [stderr] 174 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 171 | if let Some(validator) = match $ expr { [INFO] [stderr] 172 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 173 | :: Err ( err ) => { [INFO] [stderr] 174 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 175 | $ crate :: convert :: From :: from ( err ) ) } } { validators.push(validator) } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/schema.rs:188:45 [INFO] [stderr] | [INFO] [stderr] 188 | if settings.ban_unknown_keywords && not_consumed.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!not_consumed.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/json_schema/schema.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | / let mut schema = None; [INFO] [stderr] 203 | | [INFO] [stderr] 204 | | if is_schema { [INFO] [stderr] 205 | | id = try!(helpers::parse_url_key_with_base("id", &def, context.url)); [INFO] [stderr] 206 | | schema = try!(helpers::parse_url_key("$schema", &def)); [INFO] [stderr] 207 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] help: it is more idiomatic to write [INFO] [stderr] | [INFO] [stderr] 202 | let schema = if is_schema { ..; match $ expr { [INFO] [stderr] 203 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 204 | :: Err ( err ) => { [INFO] [stderr] 205 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 206 | $ crate :: convert :: From :: from ( err ) ) } } } else { None }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/json_schema/schema.rs:296:26 [INFO] [stderr] | [INFO] [stderr] 296 | schema = schema.tree.get(item).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&schema.tree[item]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/schema.rs:303:38 [INFO] [stderr] | [INFO] [stderr] 303 | assert!(fragment.starts_with("/"), "Can't resolve id fragments"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/json_schema/schema.rs:305:41 [INFO] [stderr] | [INFO] [stderr] 305 | let parts = fragment[1..].split("/"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::scope::Scope` [INFO] [stderr] --> src/json_schema/scope.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> Scope { [INFO] [stderr] 19 | | let mut scope = Scope { [INFO] [stderr] 20 | | keywords: keywords::default(), [INFO] [stderr] 21 | | schemes: collections::HashMap::new() [INFO] [stderr] ... | [INFO] [stderr] 25 | | scope [INFO] [stderr] 26 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 11 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/json_schema/scope.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | / pub fn compile_and_return<'a>(&'a mut self, def: Value, ban_unknown: bool) [INFO] [stderr] 60 | | -> Result, schema::SchemaError> [INFO] [stderr] 61 | | { [INFO] [stderr] 62 | | let schema = try!(schema::compile(def, None, schema::CompilationSettings::new(&self.keywords, ban_unknown))); [INFO] [stderr] 63 | | self.add_and_return(schema.id.clone().as_ref().unwrap(), schema) [INFO] [stderr] 64 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_schema/scope.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | / match fragment { [INFO] [stderr] 81 | | Some(_) => return Err(schema::SchemaError::WrongId), [INFO] [stderr] 82 | | None => () [INFO] [stderr] 83 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(_) = fragment { return Err(schema::SchemaError::WrongId) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/json_schema/scope.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | / if !self.schemes.contains_key(&id_str) { [INFO] [stderr] 86 | | self.schemes.insert(id_str, schema); [INFO] [stderr] 87 | | Ok(()) [INFO] [stderr] 88 | | } else { [INFO] [stderr] 89 | | Err(schema::SchemaError::IdConflicts) [INFO] [stderr] 90 | | } [INFO] [stderr] | |_________^ help: consider using: `self.schemes.entry(id_str)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/json_schema/scope.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | / match fragment { [INFO] [stderr] 99 | | Some(_) => return Err(schema::SchemaError::WrongId), [INFO] [stderr] 100 | | None => () [INFO] [stderr] 101 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(_) = fragment { return Err(schema::SchemaError::WrongId) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/json_schema/scope.rs:105:48 [INFO] [stderr] | [INFO] [stderr] 105 | Ok(schema::ScopedSchema::new(self, self.schemes.get(&id_str).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.schemes[&id_str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/json_schema/validators/multiple_of.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | !(remainder >= f64::EPSILON) && (remainder < (1f64 - f64::EPSILON)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_cmp_op_on_partial_ord)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/json_schema/validators/items.rs:66:65 [INFO] [stderr] | [INFO] [stderr] 66 | Some(AdditionalKind::Boolean(allow)) if allow == false => { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try simplifying it as shown: `!allow` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/json_schema/validators/properties.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | / let mut is_property_passed = false; [INFO] [stderr] 29 | | if self.properties.contains_key(key) { [INFO] [stderr] 30 | | let url = self.properties.get(key).unwrap(); [INFO] [stderr] 31 | | let schema = scope.resolve(url); [INFO] [stderr] ... | [INFO] [stderr] 39 | | is_property_passed = true; [INFO] [stderr] 40 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let is_property_passed = if self.properties.contains_key(key) { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/json_schema/validators/properties.rs:30:27 [INFO] [stderr] | [INFO] [stderr] 30 | let url = self.properties.get(key).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.properties[key]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/json_schema/validators/properties.rs:61:53 [INFO] [stderr] | [INFO] [stderr] 61 | AdditionalKind::Boolean(allowed) if allowed == false => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!allowed` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/json_schema/validators/dependencies.rs:40:32 [INFO] [stderr] | [INFO] [stderr] 40 | if !object.get(&key).is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `object.get(&key).is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json_schema/validators/dependencies.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | / match dep { [INFO] [stderr] 30 | | &DepKind::Schema(ref url) => { [INFO] [stderr] 31 | | let schema = scope.resolve(url); [INFO] [stderr] 32 | | if schema.is_some() { [INFO] [stderr] ... | [INFO] [stderr] 48 | | } [INFO] [stderr] 49 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 29 | match *dep { [INFO] [stderr] 30 | DepKind::Schema(ref url) => { [INFO] [stderr] 31 | let schema = scope.resolve(url); [INFO] [stderr] 32 | if schema.is_some() { [INFO] [stderr] 33 | state.append(schema.unwrap().validate_in(object, path)); [INFO] [stderr] 34 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/json_schema/validators/type_.rs:19:32 [INFO] [stderr] | [INFO] [stderr] 19 | fn check_type(val: &Value, ty: &json_schema::PrimitiveType) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `json_schema::PrimitiveType` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json_schema/validators/type_.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / match ty { [INFO] [stderr] 21 | | &json_schema::PrimitiveType::Array => val.is_array(), [INFO] [stderr] 22 | | &json_schema::PrimitiveType::Boolean => val.is_boolean(), [INFO] [stderr] 23 | | &json_schema::PrimitiveType::Integer => val.is_u64() || val.is_i64(), [INFO] [stderr] ... | [INFO] [stderr] 27 | | &json_schema::PrimitiveType::String => val.is_string(), [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 20 | match *ty { [INFO] [stderr] 21 | json_schema::PrimitiveType::Array => val.is_array(), [INFO] [stderr] 22 | json_schema::PrimitiveType::Boolean => val.is_boolean(), [INFO] [stderr] 23 | json_schema::PrimitiveType::Integer => val.is_u64() || val.is_i64(), [INFO] [stderr] 24 | json_schema::PrimitiveType::Number => val.is_number(), [INFO] [stderr] 25 | json_schema::PrimitiveType::Null => val.is_null(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::validators::ValidationState` [INFO] [stderr] --> src/json_schema/validators/mod.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | / pub fn new() -> ValidationState { [INFO] [stderr] 90 | | ValidationState { [INFO] [stderr] 91 | | errors: vec![], [INFO] [stderr] 92 | | missing: vec![] [INFO] [stderr] 93 | | } [INFO] [stderr] 94 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 83 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/validators/mod.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | self.errors.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.errors.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/validators/mod.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | self.errors.len() == 0 && self.missing.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.errors.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_schema/validators/mod.rs:101:35 [INFO] [stderr] | [INFO] [stderr] 101 | self.errors.len() == 0 && self.missing.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.missing.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(WrongType); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | impl_serialize!(WrongType); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MultipleOf); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | impl_serialize!(MultipleOf); [INFO] [stderr] | ---------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Maximum); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | impl_serialize!(Maximum); [INFO] [stderr] | ------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Minimum); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | impl_serialize!(Minimum); [INFO] [stderr] | ------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MaxLength); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:45:1 [INFO] [stderr] | [INFO] [stderr] 45 | impl_serialize!(MaxLength); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MinLength); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | impl_serialize!(MinLength); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Pattern); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | impl_serialize!(Pattern); [INFO] [stderr] | ------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MaxItems); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:69:1 [INFO] [stderr] | [INFO] [stderr] 69 | impl_serialize!(MaxItems); [INFO] [stderr] | -------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MinItems); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:77:1 [INFO] [stderr] | [INFO] [stderr] 77 | impl_serialize!(MinItems); [INFO] [stderr] | -------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(UniqueItems); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:85:1 [INFO] [stderr] | [INFO] [stderr] 85 | impl_serialize!(UniqueItems); [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Items); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | impl_serialize!(Items); [INFO] [stderr] | ----------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MaxProperties); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:102:1 [INFO] [stderr] | [INFO] [stderr] 102 | impl_serialize!(MaxProperties); [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(MinProperties); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | impl_serialize!(MinProperties); [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Required); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:118:1 [INFO] [stderr] | [INFO] [stderr] 118 | impl_serialize!(Required); [INFO] [stderr] | -------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Properties); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:127:1 [INFO] [stderr] | [INFO] [stderr] 127 | impl_serialize!(Properties); [INFO] [stderr] | ---------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Enum); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | impl_serialize!(Enum); [INFO] [stderr] | ---------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | / match self.get_detail() { [INFO] [stderr] 126 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 127 | | None => () [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:144:1 [INFO] [stderr] | [INFO] [stderr] 144 | / impl_serialize!(AnyOf, |err: &AnyOf, map: &mut ::serde_json::Map| { [INFO] [stderr] 145 | | map.insert("states".to_string(), to_value(&err.states).unwrap()) [INFO] [stderr] 146 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 125 | if let Some(ref detail) = self.get_detail() { impl_serialize!(AnyOf, |err: &AnyOf, map: &mut ::serde_json::Map| { [INFO] [stderr] 126 | map.insert("states".to_string(), to_value(&err.states).unwrap()) [INFO] [stderr] 127 | }); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | / match self.get_detail() { [INFO] [stderr] 126 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 127 | | None => () [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:155:1 [INFO] [stderr] | [INFO] [stderr] 155 | / impl_serialize!(OneOf, |err: &OneOf, map: &mut ::serde_json::Map| { [INFO] [stderr] 156 | | map.insert("states".to_string(), to_value(&err.states).unwrap()) [INFO] [stderr] 157 | | }); [INFO] [stderr] | |___- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 125 | if let Some(ref detail) = self.get_detail() { impl_serialize!(OneOf, |err: &OneOf, map: &mut ::serde_json::Map| { [INFO] [stderr] 126 | map.insert("states".to_string(), to_value(&err.states).unwrap()) [INFO] [stderr] 127 | }); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Not); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:165:1 [INFO] [stderr] | [INFO] [stderr] 165 | impl_serialize!(Not); [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/common/error.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | / match self.get_detail() { [INFO] [stderr] 111 | | Some(ref detail) => { map.insert("detail".to_string(), to_value(detail).unwrap()); }, [INFO] [stderr] 112 | | None => () [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Some(ref detail) = self.get_detail() { impl_serialize!(Format); }` [INFO] [stderr] | [INFO] [stderr] ::: src/json_schema/errors.rs:174:1 [INFO] [stderr] | [INFO] [stderr] 174 | impl_serialize!(Format); [INFO] [stderr] | ------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::builder::SchemaArray` [INFO] [stderr] --> src/json_schema/builder.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | / pub fn new() -> SchemaArray { [INFO] [stderr] 12 | | SchemaArray { items: vec![] } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::builder::SchemaHash` [INFO] [stderr] --> src/json_schema/builder.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn new() -> SchemaHash { [INFO] [stderr] 26 | | SchemaHash { items: collections::HashMap::new() } [INFO] [stderr] 27 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 20 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `json_schema::builder::Dependencies` [INFO] [stderr] --> src/json_schema/builder.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / pub fn new() -> Dependencies { [INFO] [stderr] 40 | | Dependencies { [INFO] [stderr] 41 | | deps: collections::HashMap::new() [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 34 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json_schema/builder.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | / match self { [INFO] [stderr] 74 | | &Dependency::Schema(ref json) => json.serialize(serializer), [INFO] [stderr] 75 | | &Dependency::Property(ref array) => array.serialize(serializer) [INFO] [stderr] 76 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 73 | match *self { [INFO] [stderr] 74 | Dependency::Schema(ref json) => json.serialize(serializer), [INFO] [stderr] 75 | Dependency::Property(ref array) => array.serialize(serializer) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `json_schema::builder::Builder` [INFO] [stderr] --> src/json_schema/builder.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | / pub fn new() -> Builder { [INFO] [stderr] 89 | | Builder { [INFO] [stderr] 90 | | obj_builder: jsonway::ObjectBuilder::new() [INFO] [stderr] 91 | | } [INFO] [stderr] 92 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 87 | impl Default for json_schema::builder::Builder { [INFO] [stderr] 88 | fn default() -> Self { [INFO] [stderr] 89 | Self::new() [INFO] [stderr] 90 | } [INFO] [stderr] 91 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/json_schema/mod.rs:46:23 [INFO] [stderr] | [INFO] [stderr] 46 | fmt.write_str(match self { [INFO] [stderr] | _______________________^ [INFO] [stderr] 47 | | &PrimitiveType::Array => "array", [INFO] [stderr] 48 | | &PrimitiveType::Boolean => "boolean", [INFO] [stderr] 49 | | &PrimitiveType::Integer => "integer", [INFO] [stderr] ... | [INFO] [stderr] 53 | | &PrimitiveType::String => "string", [INFO] [stderr] 54 | | }) [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 46 | fmt.write_str(match *self { [INFO] [stderr] 47 | PrimitiveType::Array => "array", [INFO] [stderr] 48 | PrimitiveType::Boolean => "boolean", [INFO] [stderr] 49 | PrimitiveType::Integer => "integer", [INFO] [stderr] 50 | PrimitiveType::Number => "number", [INFO] [stderr] 51 | PrimitiveType::Null => "null", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/schema.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `valico`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "461ad5764919912dc528630dea27a518ca6f3b093c134275df6ce3dd9a152e92"` [INFO] running `"docker" "rm" "-f" "461ad5764919912dc528630dea27a518ca6f3b093c134275df6ce3dd9a152e92"` [INFO] [stdout] 461ad5764919912dc528630dea27a518ca6f3b093c134275df6ce3dd9a152e92