[INFO] crate memoization 0.1.0 is already in cache [INFO] extracting crate memoization 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/memoization/0.1.0 [INFO] extracting crate memoization 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/memoization/0.1.0 [INFO] validating manifest of memoization-0.1.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of memoization-0.1.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing memoization-0.1.0 [INFO] finished frobbing memoization-0.1.0 [INFO] frobbed toml for memoization-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/memoization/0.1.0/Cargo.toml [INFO] started frobbing memoization-0.1.0 [INFO] finished frobbing memoization-0.1.0 [INFO] frobbed toml for memoization-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/memoization/0.1.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting memoization-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/memoization/0.1.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 567ee92ad3c3531c6f67f9dc2354ffa1372604d4ec00ba8eb3bb9299a263c326 [INFO] running `"docker" "start" "-a" "567ee92ad3c3531c6f67f9dc2354ffa1372604d4ec00ba8eb3bb9299a263c326"` [INFO] [stderr] Checking memoization v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:185:56 [INFO] [stderr] | [INFO] [stderr] 185 | &mut Memoized::Processed(ref mut x) => return x, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `x` [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/lib.rs:191:56 [INFO] [stderr] | [INFO] [stderr] 191 | &mut Memoized::Processed(ref mut x) => return x, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `x` [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: function is never used: `eq_str` [INFO] [stderr] --> src/lib.rs:258:5 [INFO] [stderr] | [INFO] [stderr] 258 | fn eq_str(a: &str, b: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Testing` [INFO] [stderr] --> src/lib.rs:261:5 [INFO] [stderr] | [INFO] [stderr] 261 | struct TestingO> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:96:19 [INFO] [stderr] | [INFO] [stderr] 96 | let val = match self { [INFO] [stderr] | ___________________^ [INFO] [stderr] 97 | | &mut Memoized::Processed(_) => panic!("Already processed"), [INFO] [stderr] 98 | | &mut Memoized::UnInitialized(_,ref z) => z(data) [INFO] [stderr] 99 | | }; [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] 96 | let val = match *self { [INFO] [stderr] 97 | Memoized::Processed(_) => panic!("Already processed"), [INFO] [stderr] 98 | Memoized::UnInitialized(_,ref z) => z(data) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:118:26 [INFO] [stderr] | [INFO] [stderr] 118 | let (flag,val) = match self { [INFO] [stderr] | __________________________^ [INFO] [stderr] 119 | | &mut Memoized::Processed(ref x) => (false,x.clone()), [INFO] [stderr] 120 | | &mut Memoized::UnInitialized(_,ref z) => (true,z(data)) [INFO] [stderr] 121 | | }; [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] 118 | let (flag,val) = match *self { [INFO] [stderr] 119 | Memoized::Processed(ref x) => (false,x.clone()), [INFO] [stderr] 120 | Memoized::UnInitialized(_,ref z) => (true,z(data)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | / match self { [INFO] [stderr] 145 | | &Memoized::Processed(ref x) => x.clone(), [INFO] [stderr] 146 | | _ => panic!("Called get on an uninitialized field") [INFO] [stderr] 147 | | } [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] 144 | match *self { [INFO] [stderr] 145 | Memoized::Processed(ref x) => x.clone(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:166:9 [INFO] [stderr] | [INFO] [stderr] 166 | / match self { [INFO] [stderr] 167 | | &Memoized::Processed(_) => true, [INFO] [stderr] 168 | | _ => false [INFO] [stderr] 169 | | } [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] 166 | match *self { [INFO] [stderr] 167 | Memoized::Processed(_) => true, [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/lib.rs:174:5 [INFO] [stderr] | [INFO] [stderr] 174 | / fn deref<'b>(&'b self) -> &'b Self::Target { [INFO] [stderr] 175 | | match self { [INFO] [stderr] 176 | | &Memoized::Processed(ref x) => x, [INFO] [stderr] 177 | | _ => panic!("Attempted to derefence uninitalized memoized value") [INFO] [stderr] 178 | | } [INFO] [stderr] 179 | | } [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | / match self { [INFO] [stderr] 176 | | &Memoized::Processed(ref x) => x, [INFO] [stderr] 177 | | _ => panic!("Attempted to derefence uninitalized memoized value") [INFO] [stderr] 178 | | } [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] 175 | match *self { [INFO] [stderr] 176 | Memoized::Processed(ref x) => x, [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/lib.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | / fn deref_mut<'b>(&'b mut self) -> &'b mut Self::Target { [INFO] [stderr] 183 | | if self.is_initialized() { [INFO] [stderr] 184 | | match self { [INFO] [stderr] 185 | | &mut Memoized::Processed(ref mut x) => return x, [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#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | / match self { [INFO] [stderr] 185 | | &mut Memoized::Processed(ref mut x) => return x, [INFO] [stderr] 186 | | _ => unreachable!() [INFO] [stderr] 187 | | }; [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] 184 | match *self { [INFO] [stderr] 185 | Memoized::Processed(ref mut x) => return x, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:190:13 [INFO] [stderr] | [INFO] [stderr] 190 | / match self { [INFO] [stderr] 191 | | &mut Memoized::Processed(ref mut x) => return x, [INFO] [stderr] 192 | | _ => unreachable!() [INFO] [stderr] 193 | | }; [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] 190 | match *self { [INFO] [stderr] 191 | Memoized::Processed(ref mut x) => return x, [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/lib.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | / fn borrow<'b>(&'b self) -> &'b O { [INFO] [stderr] 199 | | match self { [INFO] [stderr] 200 | | &Memoized::Processed(ref x) => x, [INFO] [stderr] 201 | | _ => panic!("Attempted to borrow uninitalized memoized value") [INFO] [stderr] 202 | | } [INFO] [stderr] 203 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | / match self { [INFO] [stderr] 200 | | &Memoized::Processed(ref x) => x, [INFO] [stderr] 201 | | _ => panic!("Attempted to borrow uninitalized memoized value") [INFO] [stderr] 202 | | } [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] 199 | match *self { [INFO] [stderr] 200 | Memoized::Processed(ref x) => x, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:185:56 [INFO] [stderr] | [INFO] [stderr] 185 | &mut Memoized::Processed(ref mut x) => return x, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `x` [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/lib.rs:191:56 [INFO] [stderr] | [INFO] [stderr] 191 | &mut Memoized::Processed(ref mut x) => return x, [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `x` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:96:19 [INFO] [stderr] | [INFO] [stderr] 96 | let val = match self { [INFO] [stderr] | ___________________^ [INFO] [stderr] 97 | | &mut Memoized::Processed(_) => panic!("Already processed"), [INFO] [stderr] 98 | | &mut Memoized::UnInitialized(_,ref z) => z(data) [INFO] [stderr] 99 | | }; [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] 96 | let val = match *self { [INFO] [stderr] 97 | Memoized::Processed(_) => panic!("Already processed"), [INFO] [stderr] 98 | Memoized::UnInitialized(_,ref z) => z(data) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:118:26 [INFO] [stderr] | [INFO] [stderr] 118 | let (flag,val) = match self { [INFO] [stderr] | __________________________^ [INFO] [stderr] 119 | | &mut Memoized::Processed(ref x) => (false,x.clone()), [INFO] [stderr] 120 | | &mut Memoized::UnInitialized(_,ref z) => (true,z(data)) [INFO] [stderr] 121 | | }; [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] 118 | let (flag,val) = match *self { [INFO] [stderr] 119 | Memoized::Processed(ref x) => (false,x.clone()), [INFO] [stderr] 120 | Memoized::UnInitialized(_,ref z) => (true,z(data)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | / match self { [INFO] [stderr] 145 | | &Memoized::Processed(ref x) => x.clone(), [INFO] [stderr] 146 | | _ => panic!("Called get on an uninitialized field") [INFO] [stderr] 147 | | } [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] 144 | match *self { [INFO] [stderr] 145 | Memoized::Processed(ref x) => x.clone(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:166:9 [INFO] [stderr] | [INFO] [stderr] 166 | / match self { [INFO] [stderr] 167 | | &Memoized::Processed(_) => true, [INFO] [stderr] 168 | | _ => false [INFO] [stderr] 169 | | } [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] 166 | match *self { [INFO] [stderr] 167 | Memoized::Processed(_) => true, [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/lib.rs:174:5 [INFO] [stderr] | [INFO] [stderr] 174 | / fn deref<'b>(&'b self) -> &'b Self::Target { [INFO] [stderr] 175 | | match self { [INFO] [stderr] 176 | | &Memoized::Processed(ref x) => x, [INFO] [stderr] 177 | | _ => panic!("Attempted to derefence uninitalized memoized value") [INFO] [stderr] 178 | | } [INFO] [stderr] 179 | | } [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | / match self { [INFO] [stderr] 176 | | &Memoized::Processed(ref x) => x, [INFO] [stderr] 177 | | _ => panic!("Attempted to derefence uninitalized memoized value") [INFO] [stderr] 178 | | } [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] 175 | match *self { [INFO] [stderr] 176 | Memoized::Processed(ref x) => x, [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/lib.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | / fn deref_mut<'b>(&'b mut self) -> &'b mut Self::Target { [INFO] [stderr] 183 | | if self.is_initialized() { [INFO] [stderr] 184 | | match self { [INFO] [stderr] 185 | | &mut Memoized::Processed(ref mut x) => return x, [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#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | / match self { [INFO] [stderr] 185 | | &mut Memoized::Processed(ref mut x) => return x, [INFO] [stderr] 186 | | _ => unreachable!() [INFO] [stderr] 187 | | }; [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] 184 | match *self { [INFO] [stderr] 185 | Memoized::Processed(ref mut x) => return x, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:190:13 [INFO] [stderr] | [INFO] [stderr] 190 | / match self { [INFO] [stderr] 191 | | &mut Memoized::Processed(ref mut x) => return x, [INFO] [stderr] 192 | | _ => unreachable!() [INFO] [stderr] 193 | | }; [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] 190 | match *self { [INFO] [stderr] 191 | Memoized::Processed(ref mut x) => return x, [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/lib.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | / fn borrow<'b>(&'b self) -> &'b O { [INFO] [stderr] 199 | | match self { [INFO] [stderr] 200 | | &Memoized::Processed(ref x) => x, [INFO] [stderr] 201 | | _ => panic!("Attempted to borrow uninitalized memoized value") [INFO] [stderr] 202 | | } [INFO] [stderr] 203 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | / match self { [INFO] [stderr] 200 | | &Memoized::Processed(ref x) => x, [INFO] [stderr] 201 | | _ => panic!("Attempted to borrow uninitalized memoized value") [INFO] [stderr] 202 | | } [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] 199 | match *self { [INFO] [stderr] 200 | Memoized::Processed(ref x) => x, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.70s [INFO] running `"docker" "inspect" "567ee92ad3c3531c6f67f9dc2354ffa1372604d4ec00ba8eb3bb9299a263c326"` [INFO] running `"docker" "rm" "-f" "567ee92ad3c3531c6f67f9dc2354ffa1372604d4ec00ba8eb3bb9299a263c326"` [INFO] [stdout] 567ee92ad3c3531c6f67f9dc2354ffa1372604d4ec00ba8eb3bb9299a263c326