[INFO] crate web-assembler 0.1.1 is already in cache [INFO] extracting crate web-assembler 0.1.1 into work/ex/clippy-test-run/sources/stable/reg/web-assembler/0.1.1 [INFO] extracting crate web-assembler 0.1.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/web-assembler/0.1.1 [INFO] validating manifest of web-assembler-0.1.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 web-assembler-0.1.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 web-assembler-0.1.1 [INFO] finished frobbing web-assembler-0.1.1 [INFO] frobbed toml for web-assembler-0.1.1 written to work/ex/clippy-test-run/sources/stable/reg/web-assembler/0.1.1/Cargo.toml [INFO] started frobbing web-assembler-0.1.1 [INFO] finished frobbing web-assembler-0.1.1 [INFO] frobbed toml for web-assembler-0.1.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/web-assembler/0.1.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 web-assembler-0.1.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/web-assembler/0.1.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] e519ace117a7e0dc2e17e9876765d7b93027bef638c78ec3b93bfca1395f5f7a [INFO] running `"docker" "start" "-a" "e519ace117a7e0dc2e17e9876765d7b93027bef638c78ec3b93bfca1395f5f7a"` [INFO] [stderr] Checking web-assembler v0.1.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/builder.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/builder.rs:145:29 [INFO] [stderr] | [INFO] [stderr] 145 | ty: ty, [INFO] [stderr] | ^^^^^^ help: replace it with: `ty` [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/builder.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | element: element, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `element` [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/builder.rs:168:13 [INFO] [stderr] | [INFO] [stderr] 168 | element: element, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `element` [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/builder.rs:341:31 [INFO] [stderr] | [INFO] [stderr] 341 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/builder.rs:541:13 [INFO] [stderr] | [INFO] [stderr] 541 | ty: ty, [INFO] [stderr] | ^^^^^^ help: replace it with: `ty` [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/builder.rs:542:13 [INFO] [stderr] | [INFO] [stderr] 542 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [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/builder.rs:556:13 [INFO] [stderr] | [INFO] [stderr] 556 | locals: locals, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `locals` [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/builder.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/builder.rs:145:29 [INFO] [stderr] | [INFO] [stderr] 145 | ty: ty, [INFO] [stderr] | ^^^^^^ help: replace it with: `ty` [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/builder.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | element: element, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `element` [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/builder.rs:168:13 [INFO] [stderr] | [INFO] [stderr] 168 | element: element, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `element` [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/builder.rs:341:31 [INFO] [stderr] | [INFO] [stderr] 341 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/builder.rs:541:13 [INFO] [stderr] | [INFO] [stderr] 541 | ty: ty, [INFO] [stderr] | ^^^^^^ help: replace it with: `ty` [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/builder.rs:542:13 [INFO] [stderr] | [INFO] [stderr] 542 | args: args, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `args` [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/builder.rs:556:13 [INFO] [stderr] | [INFO] [stderr] 556 | locals: locals, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `locals` [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: long literal lacking separators [INFO] [stderr] --> src/util.rs:26:36 [INFO] [stderr] | [INFO] [stderr] 26 | size += write_uint32(buf, (u & 0xffffffff) as u32); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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] --> src/util.rs:27:44 [INFO] [stderr] | [INFO] [stderr] 27 | size += write_uint32(buf, ((u >> 32) & 0xffffffff) as u32); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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] --> src/util.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | let bit7 = 0b01111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1111` [INFO] [stderr] ... [INFO] [stderr] 72 | gen_write_var!(write_varuint32, u32); [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#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/util.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | let bit7 = 0b01111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1111` [INFO] [stderr] ... [INFO] [stderr] 73 | gen_write_var!(write_varint32, i32); [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#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/util.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | let bit7 = 0b01111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1111` [INFO] [stderr] ... [INFO] [stderr] 74 | gen_write_var!(write_varint64, i64); [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#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/module.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | None => return Err(i), [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Err(i)` [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/builder.rs:546:9 [INFO] [stderr] | [INFO] [stderr] 546 | fb [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/builder.rs:540:18 [INFO] [stderr] | [INFO] [stderr] 540 | let fb = FunctionBuilder { [INFO] [stderr] | __________________^ [INFO] [stderr] 541 | | ty: ty, [INFO] [stderr] 542 | | args: args, [INFO] [stderr] 543 | | locals: Vec::new(), [INFO] [stderr] 544 | | cb: CodeBuilder::new(), [INFO] [stderr] 545 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/util.rs:26:36 [INFO] [stderr] | [INFO] [stderr] 26 | size += write_uint32(buf, (u & 0xffffffff) as u32); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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] --> src/util.rs:27:44 [INFO] [stderr] | [INFO] [stderr] 27 | size += write_uint32(buf, ((u >> 32) & 0xffffffff) as u32); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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] --> src/util.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | let bit7 = 0b01111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1111` [INFO] [stderr] ... [INFO] [stderr] 72 | gen_write_var!(write_varuint32, u32); [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#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/util.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | let bit7 = 0b01111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1111` [INFO] [stderr] ... [INFO] [stderr] 73 | gen_write_var!(write_varint32, i32); [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#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/util.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | let bit7 = 0b01111111; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0111_1111` [INFO] [stderr] ... [INFO] [stderr] 74 | gen_write_var!(write_varint64, i64); [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#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/module.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | None => return Err(i), [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Err(i)` [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/builder.rs:546:9 [INFO] [stderr] | [INFO] [stderr] 546 | fb [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/builder.rs:540:18 [INFO] [stderr] | [INFO] [stderr] 540 | let fb = FunctionBuilder { [INFO] [stderr] | __________________^ [INFO] [stderr] 541 | | ty: ty, [INFO] [stderr] 542 | | args: args, [INFO] [stderr] 543 | | locals: Vec::new(), [INFO] [stderr] 544 | | cb: CodeBuilder::new(), [INFO] [stderr] 545 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/util.rs:60:24 [INFO] [stderr] | [INFO] [stderr] 60 | while u != (end as $ty) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(end)` [INFO] [stderr] ... [INFO] [stderr] 73 | gen_write_var!(write_varint32, i32); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/util.rs:60:24 [INFO] [stderr] | [INFO] [stderr] 60 | while u != (end as $ty) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(end)` [INFO] [stderr] ... [INFO] [stderr] 74 | gen_write_var!(write_varint64, i64); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: for loop over `self.start`, which is an `Option`. This is more readably written as an `if let` statement. [INFO] [stderr] --> src/module.rs:81:26 [INFO] [stderr] | [INFO] [stderr] 81 | for index in self.start { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::for_loop_over_option)] on by default [INFO] [stderr] = help: consider replacing `for index in self.start` with `if let Some(index) = self.start` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_loop_over_option [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | / if let &ImportKind::Function(_) = self { [INFO] [stderr] 117 | | true [INFO] [stderr] 118 | | } else { [INFO] [stderr] 119 | | false [INFO] [stderr] 120 | | } [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] 116 | if let ImportKind::Function(_) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | / if let &ImportKind::Table(_) = self { [INFO] [stderr] 125 | | true [INFO] [stderr] 126 | | } else { [INFO] [stderr] 127 | | false [INFO] [stderr] 128 | | } [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] 124 | if let ImportKind::Table(_) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:132:9 [INFO] [stderr] | [INFO] [stderr] 132 | / if let &ImportKind::Memory(_) = self { [INFO] [stderr] 133 | | true [INFO] [stderr] 134 | | } else { [INFO] [stderr] 135 | | false [INFO] [stderr] 136 | | } [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] 132 | if let ImportKind::Memory(_) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | / if let &ImportKind::Global(_) = self { [INFO] [stderr] 141 | | true [INFO] [stderr] 142 | | } else { [INFO] [stderr] 143 | | false [INFO] [stderr] 144 | | } [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] 140 | if let ImportKind::Global(_) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:171:9 [INFO] [stderr] | [INFO] [stderr] 171 | / match self { [INFO] [stderr] 172 | | &Function(ref id) => { [INFO] [stderr] 173 | | size += write_uint8(buf, 0); [INFO] [stderr] 174 | | size += write_varuint32(buf, **id); [INFO] [stderr] ... | [INFO] [stderr] 194 | | [INFO] [stderr] 195 | | } [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] 171 | match *self { [INFO] [stderr] 172 | Function(ref id) => { [INFO] [stderr] 173 | size += write_uint8(buf, 0); [INFO] [stderr] 174 | size += write_varuint32(buf, **id); [INFO] [stderr] 175 | size [INFO] [stderr] 176 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:258:9 [INFO] [stderr] | [INFO] [stderr] 258 | / match self { [INFO] [stderr] 259 | | &Function(ref i) => { [INFO] [stderr] 260 | | size += write_uint8(buf, 0); [INFO] [stderr] 261 | | size += write_varuint32(buf, **i); [INFO] [stderr] ... | [INFO] [stderr] 274 | | } [INFO] [stderr] 275 | | } [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] 258 | match *self { [INFO] [stderr] 259 | Function(ref i) => { [INFO] [stderr] 260 | size += write_uint8(buf, 0); [INFO] [stderr] 261 | size += write_varuint32(buf, **i); [INFO] [stderr] 262 | } [INFO] [stderr] 263 | Table(ref i) => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | / match self { [INFO] [stderr] 64 | | &I32 => write_varint7(buf, -0x01), [INFO] [stderr] 65 | | &I64 => write_varint7(buf, -0x02), [INFO] [stderr] 66 | | &F32 => write_varint7(buf, -0x03), [INFO] [stderr] 67 | | &F64 => write_varint7(buf, -0x04), [INFO] [stderr] 68 | | } [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] 63 | match *self { [INFO] [stderr] 64 | I32 => write_varint7(buf, -0x01), [INFO] [stderr] 65 | I64 => write_varint7(buf, -0x02), [INFO] [stderr] 66 | F32 => write_varint7(buf, -0x03), [INFO] [stderr] 67 | F64 => write_varint7(buf, -0x04), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/types.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | / match &self.0 { [INFO] [stderr] 75 | | &Some(ref v) => v.dump(buf), [INFO] [stderr] 76 | | &None => write_varint7(buf, -0x40), [INFO] [stderr] 77 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 74 | match self.0 { [INFO] [stderr] 75 | Some(ref v) => v.dump(buf), [INFO] [stderr] 76 | None => write_varint7(buf, -0x40), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | / match self { [INFO] [stderr] 85 | | &AnyFunc => write_varint7(buf, -0x10), [INFO] [stderr] 86 | | } [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] 84 | match *self { [INFO] [stderr] 85 | AnyFunc => write_varint7(buf, -0x10), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/util.rs:60:24 [INFO] [stderr] | [INFO] [stderr] 60 | while u != (end as $ty) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(end)` [INFO] [stderr] ... [INFO] [stderr] 73 | gen_write_var!(write_varint32, i32); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/util.rs:60:24 [INFO] [stderr] | [INFO] [stderr] 60 | while u != (end as $ty) { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(end)` [INFO] [stderr] ... [INFO] [stderr] 74 | gen_write_var!(write_varint64, i64); [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#cast_lossless [INFO] [stderr] [INFO] [stderr] error: for loop over `self.start`, which is an `Option`. This is more readably written as an `if let` statement. [INFO] [stderr] --> src/module.rs:81:26 [INFO] [stderr] | [INFO] [stderr] 81 | for index in self.start { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::for_loop_over_option)] on by default [INFO] [stderr] = help: consider replacing `for index in self.start` with `if let Some(index) = self.start` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_loop_over_option [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:116:9 [INFO] [stderr] | [INFO] [stderr] 116 | / if let &ImportKind::Function(_) = self { [INFO] [stderr] 117 | | true [INFO] [stderr] 118 | | } else { [INFO] [stderr] 119 | | false [INFO] [stderr] 120 | | } [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] 116 | if let ImportKind::Function(_) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | / if let &ImportKind::Table(_) = self { [INFO] [stderr] 125 | | true [INFO] [stderr] 126 | | } else { [INFO] [stderr] 127 | | false [INFO] [stderr] 128 | | } [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] 124 | if let ImportKind::Table(_) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:132:9 [INFO] [stderr] | [INFO] [stderr] 132 | / if let &ImportKind::Memory(_) = self { [INFO] [stderr] 133 | | true [INFO] [stderr] 134 | | } else { [INFO] [stderr] 135 | | false [INFO] [stderr] 136 | | } [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] 132 | if let ImportKind::Memory(_) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | / if let &ImportKind::Global(_) = self { [INFO] [stderr] 141 | | true [INFO] [stderr] 142 | | } else { [INFO] [stderr] 143 | | false [INFO] [stderr] 144 | | } [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] 140 | if let ImportKind::Global(_) = *self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:171:9 [INFO] [stderr] | [INFO] [stderr] 171 | / match self { [INFO] [stderr] 172 | | &Function(ref id) => { [INFO] [stderr] 173 | | size += write_uint8(buf, 0); [INFO] [stderr] 174 | | size += write_varuint32(buf, **id); [INFO] [stderr] ... | [INFO] [stderr] 194 | | [INFO] [stderr] 195 | | } [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] 171 | match *self { [INFO] [stderr] 172 | Function(ref id) => { [INFO] [stderr] 173 | size += write_uint8(buf, 0); [INFO] [stderr] 174 | size += write_varuint32(buf, **id); [INFO] [stderr] 175 | size [INFO] [stderr] 176 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/module.rs:258:9 [INFO] [stderr] | [INFO] [stderr] 258 | / match self { [INFO] [stderr] 259 | | &Function(ref i) => { [INFO] [stderr] 260 | | size += write_uint8(buf, 0); [INFO] [stderr] 261 | | size += write_varuint32(buf, **i); [INFO] [stderr] ... | [INFO] [stderr] 274 | | } [INFO] [stderr] 275 | | } [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] 258 | match *self { [INFO] [stderr] 259 | Function(ref i) => { [INFO] [stderr] 260 | size += write_uint8(buf, 0); [INFO] [stderr] 261 | size += write_varuint32(buf, **i); [INFO] [stderr] 262 | } [INFO] [stderr] 263 | Table(ref i) => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | / match self { [INFO] [stderr] 64 | | &I32 => write_varint7(buf, -0x01), [INFO] [stderr] 65 | | &I64 => write_varint7(buf, -0x02), [INFO] [stderr] 66 | | &F32 => write_varint7(buf, -0x03), [INFO] [stderr] 67 | | &F64 => write_varint7(buf, -0x04), [INFO] [stderr] 68 | | } [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] 63 | match *self { [INFO] [stderr] 64 | I32 => write_varint7(buf, -0x01), [INFO] [stderr] 65 | I64 => write_varint7(buf, -0x02), [INFO] [stderr] 66 | F32 => write_varint7(buf, -0x03), [INFO] [stderr] 67 | F64 => write_varint7(buf, -0x04), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/types.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | / match &self.0 { [INFO] [stderr] 75 | | &Some(ref v) => v.dump(buf), [INFO] [stderr] 76 | | &None => write_varint7(buf, -0x40), [INFO] [stderr] 77 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 74 | match self.0 { [INFO] [stderr] 75 | Some(ref v) => v.dump(buf), [INFO] [stderr] 76 | None => write_varint7(buf, -0x40), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/types.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | / match self { [INFO] [stderr] 85 | | &AnyFunc => write_varint7(buf, -0x10), [INFO] [stderr] 86 | | } [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] 84 | match *self { [INFO] [stderr] 85 | AnyFunc => write_varint7(buf, -0x10), [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/ops.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | / match *self { [INFO] [stderr] 186 | | Op::Call { ref mut index } => { [INFO] [stderr] 187 | | use InnerFunctionSpaceIndex::*; [INFO] [stderr] 188 | | match index.0 { [INFO] [stderr] ... | [INFO] [stderr] 195 | | _ => (), [INFO] [stderr] 196 | | } [INFO] [stderr] | |_________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 185 | if let Op::Call { ref mut index } = *self { [INFO] [stderr] 186 | use InnerFunctionSpaceIndex::*; [INFO] [stderr] 187 | match index.0 { [INFO] [stderr] 188 | Function(ref mut f) => { [INFO] [stderr] 189 | f.0 += nimports; [INFO] [stderr] 190 | } [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/ops.rs:188:17 [INFO] [stderr] | [INFO] [stderr] 188 | / match index.0 { [INFO] [stderr] 189 | | Function(ref mut f) => { [INFO] [stderr] 190 | | f.0 += nimports; [INFO] [stderr] 191 | | } [INFO] [stderr] 192 | | _ => (), [INFO] [stderr] 193 | | } [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] 188 | if let Function(ref mut f) = index.0 { [INFO] [stderr] 189 | f.0 += nimports; [INFO] [stderr] 190 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ops.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | / match self { [INFO] [stderr] 215 | | &Unreachable => size += write_uint8(buf, 0x00), [INFO] [stderr] 216 | | &Nop => size += write_uint8(buf, 0x01), [INFO] [stderr] 217 | | &Block { ref sig } => { [INFO] [stderr] ... | [INFO] [stderr] 452 | | &F64ReinterpretI64 => size += write_uint8(buf, 0xbf), [INFO] [stderr] 453 | | }; [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] 214 | match *self { [INFO] [stderr] 215 | Unreachable => size += write_uint8(buf, 0x00), [INFO] [stderr] 216 | Nop => size += write_uint8(buf, 0x01), [INFO] [stderr] 217 | Block { ref sig } => { [INFO] [stderr] 218 | size += write_uint8(buf, 0x02); [INFO] [stderr] 219 | size += sig.dump(buf); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `builder::ModuleBuilder` [INFO] [stderr] --> src/builder.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn new() -> Self { [INFO] [stderr] 45 | | ModuleBuilder(Module { [INFO] [stderr] 46 | | unknown: None, [INFO] [stderr] 47 | | types: None, [INFO] [stderr] ... | [INFO] [stderr] 58 | | }) [INFO] [stderr] 59 | | } [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] 43 | impl Default for builder::ModuleBuilder { [INFO] [stderr] 44 | fn default() -> Self { [INFO] [stderr] 45 | Self::new() [INFO] [stderr] 46 | } [INFO] [stderr] 47 | } [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/builder.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | / match index.0 { [INFO] [stderr] 85 | | Function(ref mut f) => { [INFO] [stderr] 86 | | f.0 += nimports; [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | _ => (), [INFO] [stderr] 89 | | } [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] 84 | if let Function(ref mut f) = index.0 { [INFO] [stderr] 85 | f.0 += nimports; [INFO] [stderr] 86 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/builder.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | self.0.start.as_mut().map(|i| i.0 += nimports); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(i) = self.0.start.as_mut() { ... }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `builder::CodeBuilder` [INFO] [stderr] --> src/builder.rs:321:5 [INFO] [stderr] | [INFO] [stderr] 321 | / pub fn new() -> Self { [INFO] [stderr] 322 | | CodeBuilder { code: Vec::new() } [INFO] [stderr] 323 | | } [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] 269 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `web-assembler`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/ops.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | / match *self { [INFO] [stderr] 186 | | Op::Call { ref mut index } => { [INFO] [stderr] 187 | | use InnerFunctionSpaceIndex::*; [INFO] [stderr] 188 | | match index.0 { [INFO] [stderr] ... | [INFO] [stderr] 195 | | _ => (), [INFO] [stderr] 196 | | } [INFO] [stderr] | |_________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 185 | if let Op::Call { ref mut index } = *self { [INFO] [stderr] 186 | use InnerFunctionSpaceIndex::*; [INFO] [stderr] 187 | match index.0 { [INFO] [stderr] 188 | Function(ref mut f) => { [INFO] [stderr] 189 | f.0 += nimports; [INFO] [stderr] 190 | } [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/ops.rs:188:17 [INFO] [stderr] | [INFO] [stderr] 188 | / match index.0 { [INFO] [stderr] 189 | | Function(ref mut f) => { [INFO] [stderr] 190 | | f.0 += nimports; [INFO] [stderr] 191 | | } [INFO] [stderr] 192 | | _ => (), [INFO] [stderr] 193 | | } [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] 188 | if let Function(ref mut f) = index.0 { [INFO] [stderr] 189 | f.0 += nimports; [INFO] [stderr] 190 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/ops.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | / match self { [INFO] [stderr] 215 | | &Unreachable => size += write_uint8(buf, 0x00), [INFO] [stderr] 216 | | &Nop => size += write_uint8(buf, 0x01), [INFO] [stderr] 217 | | &Block { ref sig } => { [INFO] [stderr] ... | [INFO] [stderr] 452 | | &F64ReinterpretI64 => size += write_uint8(buf, 0xbf), [INFO] [stderr] 453 | | }; [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] 214 | match *self { [INFO] [stderr] 215 | Unreachable => size += write_uint8(buf, 0x00), [INFO] [stderr] 216 | Nop => size += write_uint8(buf, 0x01), [INFO] [stderr] 217 | Block { ref sig } => { [INFO] [stderr] 218 | size += write_uint8(buf, 0x02); [INFO] [stderr] 219 | size += sig.dump(buf); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `builder::ModuleBuilder` [INFO] [stderr] --> src/builder.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn new() -> Self { [INFO] [stderr] 45 | | ModuleBuilder(Module { [INFO] [stderr] 46 | | unknown: None, [INFO] [stderr] 47 | | types: None, [INFO] [stderr] ... | [INFO] [stderr] 58 | | }) [INFO] [stderr] 59 | | } [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] 43 | impl Default for builder::ModuleBuilder { [INFO] [stderr] 44 | fn default() -> Self { [INFO] [stderr] 45 | Self::new() [INFO] [stderr] 46 | } [INFO] [stderr] 47 | } [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/builder.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | / match index.0 { [INFO] [stderr] 85 | | Function(ref mut f) => { [INFO] [stderr] 86 | | f.0 += nimports; [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | _ => (), [INFO] [stderr] 89 | | } [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] 84 | if let Function(ref mut f) = index.0 { [INFO] [stderr] 85 | f.0 += nimports; [INFO] [stderr] 86 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/builder.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | self.0.start.as_mut().map(|i| i.0 += nimports); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(i) = self.0.start.as_mut() { ... }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `builder::CodeBuilder` [INFO] [stderr] --> src/builder.rs:321:5 [INFO] [stderr] | [INFO] [stderr] 321 | / pub fn new() -> Self { [INFO] [stderr] 322 | | CodeBuilder { code: Vec::new() } [INFO] [stderr] 323 | | } [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] 269 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `web-assembler`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "e519ace117a7e0dc2e17e9876765d7b93027bef638c78ec3b93bfca1395f5f7a"` [INFO] running `"docker" "rm" "-f" "e519ace117a7e0dc2e17e9876765d7b93027bef638c78ec3b93bfca1395f5f7a"` [INFO] [stdout] e519ace117a7e0dc2e17e9876765d7b93027bef638c78ec3b93bfca1395f5f7a