[INFO] updating cached repository viters/pioter-lang [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/viters/pioter-lang [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/viters/pioter-lang" "work/ex/clippy-test-run/sources/stable/gh/viters/pioter-lang"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/viters/pioter-lang'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/viters/pioter-lang" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/viters/pioter-lang"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/viters/pioter-lang'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] bc8791c225f037d127f56fa34ee080a3f6bd1971 [INFO] sha for GitHub repo viters/pioter-lang: bc8791c225f037d127f56fa34ee080a3f6bd1971 [INFO] validating manifest of viters/pioter-lang 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 viters/pioter-lang 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 viters/pioter-lang [INFO] finished frobbing viters/pioter-lang [INFO] frobbed toml for viters/pioter-lang written to work/ex/clippy-test-run/sources/stable/gh/viters/pioter-lang/Cargo.toml [INFO] started frobbing viters/pioter-lang [INFO] finished frobbing viters/pioter-lang [INFO] frobbed toml for viters/pioter-lang written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/viters/pioter-lang/Cargo.toml [INFO] crate viters/pioter-lang has a lockfile. skipping [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 viters/pioter-lang against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/viters/pioter-lang:/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] 9ce51aac935b4485f6959d06b875c0949beec8d770fc1cec1b626fc66940c911 [INFO] running `"docker" "start" "-a" "9ce51aac935b4485f6959d06b875c0949beec8d770fc1cec1b626fc66940c911"` [INFO] [stderr] Checking pioter-lang v0.6.0 (/opt/crater/workdir) [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tokenizer/consumers.rs:45:10 [INFO] [stderr] | [INFO] [stderr] 45 | } else { [INFO] [stderr] | __________^ [INFO] [stderr] 46 | | if it.peek().unwrap().is_alphabetic() { [INFO] [stderr] 47 | | errors.push(format!("Unexpected character in number on Line {}", line)); [INFO] [stderr] 48 | | } else { [INFO] [stderr] 49 | | token_vec.push(Token::Integer(num.parse::().unwrap())); [INFO] [stderr] 50 | | } [INFO] [stderr] 51 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 45 | } else if it.peek().unwrap().is_alphabetic() { [INFO] [stderr] 46 | errors.push(format!("Unexpected character in number on Line {}", line)); [INFO] [stderr] 47 | } else { [INFO] [stderr] 48 | token_vec.push(Token::Integer(num.parse::().unwrap())); [INFO] [stderr] 49 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `parser::debug_pair` [INFO] [stderr] --> src/parser/functions.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use parser::debug_pair; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser/functions.rs:74:3 [INFO] [stderr] | [INFO] [stderr] 74 | return args; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `args` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tokenizer/consumers.rs:45:10 [INFO] [stderr] | [INFO] [stderr] 45 | } else { [INFO] [stderr] | __________^ [INFO] [stderr] 46 | | if it.peek().unwrap().is_alphabetic() { [INFO] [stderr] 47 | | errors.push(format!("Unexpected character in number on Line {}", line)); [INFO] [stderr] 48 | | } else { [INFO] [stderr] 49 | | token_vec.push(Token::Integer(num.parse::().unwrap())); [INFO] [stderr] 50 | | } [INFO] [stderr] 51 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 45 | } else if it.peek().unwrap().is_alphabetic() { [INFO] [stderr] 46 | errors.push(format!("Unexpected character in number on Line {}", line)); [INFO] [stderr] 47 | } else { [INFO] [stderr] 48 | token_vec.push(Token::Integer(num.parse::().unwrap())); [INFO] [stderr] 49 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `parser::debug_pair` [INFO] [stderr] --> src/parser/functions.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use parser::debug_pair; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser/functions.rs:74:3 [INFO] [stderr] | [INFO] [stderr] 74 | return args; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `args` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/tokenizer/mod.rs:19:27 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn tokenize(contents: &String) -> Result, Vec> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/tokenizer/mod.rs:25:3 [INFO] [stderr] | [INFO] [stderr] 25 | / loop { [INFO] [stderr] 26 | | match it.peek() { [INFO] [stderr] 27 | | Some(&ch) => match ch { [INFO] [stderr] 28 | | '0'...'9' => consume_number(&mut it, &mut tokens, &mut errors, line), [INFO] [stderr] ... | [INFO] [stderr] 55 | | } [INFO] [stderr] 56 | | } [INFO] [stderr] | |___^ help: try: `while let Some(&ch) = it.peek() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/tokenizer/mod.rs:43:11 [INFO] [stderr] | [INFO] [stderr] 43 | line = line + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `line += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tokenizer/mod.rs:58:6 [INFO] [stderr] | [INFO] [stderr] 58 | 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser/functions.rs:77:78 [INFO] [stderr] | [INFO] [stderr] 77 | fn parse_p_eip_fn(pair: Pair, memory: &HashMap<&str, Constant>, local: &Vec<&str>) -> Constant { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: local variable doesn't need to be boxed here [INFO] [stderr] --> src/parser/functions.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | fn unbox(value: Box) -> T { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::boxed_local)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/add.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/add.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/subtract.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/subtract.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/multiply.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/multiply.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/divide.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/divide.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/modulo.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/modulo.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/and.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/and.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/or.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/or.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/not.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | let arg = args.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/stdlib/not.rs:6:3 [INFO] [stderr] | [INFO] [stderr] 6 | / match arg { [INFO] [stderr] 7 | | &Constant::Boolean(b) => Constant::Boolean(!b), [INFO] [stderr] 8 | | _ => { [INFO] [stderr] 9 | | eprintln!("Invalid arguments passed to \"not\"!"); [INFO] [stderr] 10 | | panic!() [INFO] [stderr] 11 | | } [INFO] [stderr] 12 | | } [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] 6 | match *arg { [INFO] [stderr] 7 | Constant::Boolean(b) => Constant::Boolean(!b), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/len.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | let arg = args.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/stdlib/len.rs:6:3 [INFO] [stderr] | [INFO] [stderr] 6 | / match arg { [INFO] [stderr] 7 | | &Constant::List(ref l) => Constant::Integer(l.len() as i32), [INFO] [stderr] 8 | | _ => { [INFO] [stderr] 9 | | eprintln!("Invalid arguments passed to \"len\"!"); [INFO] [stderr] 10 | | panic!() [INFO] [stderr] 11 | | } [INFO] [stderr] 12 | | } [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] 6 | match *arg { [INFO] [stderr] 7 | Constant::List(ref l) => Constant::Integer(l.len() as i32), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/lt.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/lt.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/lt.rs:12:81 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() < v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/lt.rs:12:97 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() < v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/le.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/le.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/le.rs:12:81 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() <= v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/le.rs:12:98 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() <= v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/eq.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/eq.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/eq.rs:12:81 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() == v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/eq.rs:12:98 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() == v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/ge.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/ge.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/ge.rs:12:81 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() >= v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/ge.rs:12:98 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() >= v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/gt.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/gt.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/gt.rs:12:81 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() > v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/gt.rs:12:97 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() > v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/nth.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/nth.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/map.rs:5:39 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/map.rs:5:61 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/stdlib/map.rs:9:25 [INFO] [stderr] | [INFO] [stderr] 9 | Constant::List(v2.into_iter().map(|a| run_fn(Constant::Function(v1.clone()), vec![a.clone()])).collect()), [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/filter.rs:5:39 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/filter.rs:5:61 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/fold.rs:5:39 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(1).unwrap(), args.get(2).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/fold.rs:5:61 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(1).unwrap(), args.get(2).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[2]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/fold.rs:9:24 [INFO] [stderr] | [INFO] [stderr] 9 | let mut folded = args.get(0).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: redundant closure found [INFO] [stderr] --> src/stdlib/mod.rs:49:28 [INFO] [stderr] | [INFO] [stderr] 49 | let args = (0..argc).map(|i| Constant::Index(i)).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Constant::Index` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:23:28 [INFO] [stderr] | [INFO] [stderr] 23 | let contents = read_file(args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/tokenizer/mod.rs:19:27 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn tokenize(contents: &String) -> Result, Vec> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/tokenizer/mod.rs:25:3 [INFO] [stderr] | [INFO] [stderr] 25 | / loop { [INFO] [stderr] 26 | | match it.peek() { [INFO] [stderr] 27 | | Some(&ch) => match ch { [INFO] [stderr] 28 | | '0'...'9' => consume_number(&mut it, &mut tokens, &mut errors, line), [INFO] [stderr] ... | [INFO] [stderr] 55 | | } [INFO] [stderr] 56 | | } [INFO] [stderr] | |___^ help: try: `while let Some(&ch) = it.peek() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/tokenizer/mod.rs:43:11 [INFO] [stderr] | [INFO] [stderr] 43 | line = line + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `line += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tokenizer/mod.rs:58:6 [INFO] [stderr] | [INFO] [stderr] 58 | 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/parser/functions.rs:77:78 [INFO] [stderr] | [INFO] [stderr] 77 | fn parse_p_eip_fn(pair: Pair, memory: &HashMap<&str, Constant>, local: &Vec<&str>) -> Constant { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: local variable doesn't need to be boxed here [INFO] [stderr] --> src/parser/functions.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | fn unbox(value: Box) -> T { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::boxed_local)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/add.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/add.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/subtract.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/subtract.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/multiply.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/multiply.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/divide.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/divide.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/modulo.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/modulo.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/and.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/and.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/or.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/or.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/not.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | let arg = args.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/stdlib/not.rs:6:3 [INFO] [stderr] | [INFO] [stderr] 6 | / match arg { [INFO] [stderr] 7 | | &Constant::Boolean(b) => Constant::Boolean(!b), [INFO] [stderr] 8 | | _ => { [INFO] [stderr] 9 | | eprintln!("Invalid arguments passed to \"not\"!"); [INFO] [stderr] 10 | | panic!() [INFO] [stderr] 11 | | } [INFO] [stderr] 12 | | } [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] 6 | match *arg { [INFO] [stderr] 7 | Constant::Boolean(b) => Constant::Boolean(!b), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/len.rs:4:13 [INFO] [stderr] | [INFO] [stderr] 4 | let arg = args.get(0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/stdlib/len.rs:6:3 [INFO] [stderr] | [INFO] [stderr] 6 | / match arg { [INFO] [stderr] 7 | | &Constant::List(ref l) => Constant::Integer(l.len() as i32), [INFO] [stderr] 8 | | _ => { [INFO] [stderr] 9 | | eprintln!("Invalid arguments passed to \"len\"!"); [INFO] [stderr] 10 | | panic!() [INFO] [stderr] 11 | | } [INFO] [stderr] 12 | | } [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] 6 | match *arg { [INFO] [stderr] 7 | Constant::List(ref l) => Constant::Integer(l.len() as i32), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/lt.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/lt.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/lt.rs:12:81 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() < v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/lt.rs:12:97 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() < v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/le.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/le.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/le.rs:12:81 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() <= v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/le.rs:12:98 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() <= v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/eq.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/eq.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/eq.rs:12:81 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() == v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/eq.rs:12:98 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() == v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/ge.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/ge.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/ge.rs:12:81 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() >= v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/ge.rs:12:98 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() >= v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/gt.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/gt.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/gt.rs:12:81 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() > v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/stdlib/gt.rs:12:97 [INFO] [stderr] | [INFO] [stderr] 12 | (&Constant::String(ref v1), &Constant::String(ref v2)) => Constant::Boolean(v1.to_owned() > v2.to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `v2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/nth.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/nth.rs:4:61 [INFO] [stderr] | [INFO] [stderr] 4 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/map.rs:5:39 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/map.rs:5:61 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/stdlib/map.rs:9:25 [INFO] [stderr] | [INFO] [stderr] 9 | Constant::List(v2.into_iter().map(|a| run_fn(Constant::Function(v1.clone()), vec![a.clone()])).collect()), [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/filter.rs:5:39 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/filter.rs:5:61 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(0).unwrap(), args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/fold.rs:5:39 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(1).unwrap(), args.get(2).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/fold.rs:5:61 [INFO] [stderr] | [INFO] [stderr] 5 | let pair: (&Constant, &Constant) = (args.get(1).unwrap(), args.get(2).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[2]` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stdlib/fold.rs:9:24 [INFO] [stderr] | [INFO] [stderr] 9 | let mut folded = args.get(0).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[0]` [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: redundant closure found [INFO] [stderr] --> src/stdlib/mod.rs:49:28 [INFO] [stderr] | [INFO] [stderr] 49 | let args = (0..argc).map(|i| Constant::Index(i)).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Constant::Index` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:23:28 [INFO] [stderr] | [INFO] [stderr] 23 | let contents = read_file(args.get(1).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `&args[1]` [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] Finished dev [unoptimized + debuginfo] target(s) in 2.44s [INFO] running `"docker" "inspect" "9ce51aac935b4485f6959d06b875c0949beec8d770fc1cec1b626fc66940c911"` [INFO] running `"docker" "rm" "-f" "9ce51aac935b4485f6959d06b875c0949beec8d770fc1cec1b626fc66940c911"` [INFO] [stdout] 9ce51aac935b4485f6959d06b875c0949beec8d770fc1cec1b626fc66940c911