[INFO] cloning repository https://github.com/sinnerschrader/rust-exercism-cubicle
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sinnerschrader/rust-exercism-cubicle" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsinnerschrader%2Frust-exercism-cubicle", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsinnerschrader%2Frust-exercism-cubicle'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7206a04271a81f758533b7431ae38a0466340ca7
[INFO] checking sinnerschrader/rust-exercism-cubicle against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsinnerschrader%2Frust-exercism-cubicle" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sinnerschrader/rust-exercism-cubicle
[INFO] finished tweaking git repo https://github.com/sinnerschrader/rust-exercism-cubicle
[INFO] tweaked toml for git repo https://github.com/sinnerschrader/rust-exercism-cubicle written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sinnerschrader/rust-exercism-cubicle on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sinnerschrader/rust-exercism-cubicle already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cc v1.0.32
[INFO] [stderr]   Downloaded syn v0.15.29
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 21dadce3eb0e331482d51547ff65289642637312f96452e1c9871548af0354be
[INFO] running `Command { std: "docker" "start" "-a" "21dadce3eb0e331482d51547ff65289642637312f96452e1c9871548af0354be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21dadce3eb0e331482d51547ff65289642637312f96452e1c9871548af0354be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21dadce3eb0e331482d51547ff65289642637312f96452e1c9871548af0354be", kill_on_drop: false }`
[INFO] [stdout] 21dadce3eb0e331482d51547ff65289642637312f96452e1c9871548af0354be
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5560be783450c09330050d3f49dcb71497fde4d85110033098604dfa62181258
[INFO] running `Command { std: "docker" "start" "-a" "5560be783450c09330050d3f49dcb71497fde4d85110033098604dfa62181258", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.50
[INFO] [stderr]    Compiling syn v0.15.29
[INFO] [stderr]    Compiling cc v1.0.32
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling failure_derive v0.1.5
[INFO] [stderr]    Compiling backtrace v0.3.14
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]     Checking rustc-demangle v0.1.13
[INFO] [stderr]     Checking cfg-if v0.1.7
[INFO] [stderr]     Checking maplit v1.0.1
[INFO] [stderr]     Checking bob v1.4.0 (/opt/rustwide/workdir/exercises/bob)
[INFO] [stderr]     Checking parallel-letter-frequency v0.0.0 (/opt/rustwide/workdir/exercises/parallel-letter-frequency)
[INFO] [stderr]     Checking dot-dsl v0.1.0 (/opt/rustwide/workdir/exercises/dot-dsl)
[INFO] [stderr]     Checking robot-name v0.0.0 (/opt/rustwide/workdir/exercises/robot-name)
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> exercises/dot-dsl/src/lib.rs:74:73
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     self.attrs.get(&String::from(key)).map(|value| value.clone())
[INFO] [stdout]    |                                                                         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rectangles v1.1.0 (/opt/rustwide/workdir/exercises/rectangles)
[INFO] [stderr]     Checking allergies v1.1.0 (/opt/rustwide/workdir/exercises/allergies)
[INFO] [stderr]     Checking hamming v2.2.0 (/opt/rustwide/workdir/exercises/hamming)
[INFO] [stderr]     Checking paasio v0.0.0 (/opt/rustwide/workdir/exercises/paasio)
[INFO] [stderr]     Checking anagram v0.0.0 (/opt/rustwide/workdir/exercises/anagram)
[INFO] [stderr]     Checking prime_factors v1.1.0 (/opt/rustwide/workdir/exercises/prime-factors)
[INFO] [stderr]     Checking tournament v1.4.0 (/opt/rustwide/workdir/exercises/tournament)
[INFO] [stderr]     Checking protein-translation v0.1.0 (/opt/rustwide/workdir/exercises/protein-translation)
[INFO] [stderr]     Checking acronym v1.0.0 (/opt/rustwide/workdir/exercises/acronym)
[INFO] [stderr]     Checking largest-series-product v1.2.0 (/opt/rustwide/workdir/exercises/largest-series-product)
[INFO] [stderr]     Checking series v0.1.0 (/opt/rustwide/workdir/exercises/series)
[INFO] [stderr]     Checking robot-simulator v2.2.0 (/opt/rustwide/workdir/exercises/robot-simulator)
[INFO] [stderr]     Checking word-count v1.2.0 (/opt/rustwide/workdir/exercises/word-count)
[INFO] [stderr]     Checking reverse_string v1.1.0 (/opt/rustwide/workdir/exercises/reverse-string)
[INFO] [stderr]     Checking book_store v1.3.0 (/opt/rustwide/workdir/exercises/book-store)
[INFO] [stderr]     Checking queen-attack v2.2.0 (/opt/rustwide/workdir/exercises/queen-attack)
[INFO] [stderr]     Checking hexadecimal v0.0.0 (/opt/rustwide/workdir/exercises/hexadecimal)
[INFO] [stderr]     Checking grains v1.2.0 (/opt/rustwide/workdir/exercises/grains)
[INFO] [stderr]     Checking armstrong_numbers v1.0.0 (/opt/rustwide/workdir/exercises/armstrong-numbers)
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking triangle v0.0.0 (/opt/rustwide/workdir/exercises/triangle)
[INFO] [stderr]     Checking space-age v1.1.0 (/opt/rustwide/workdir/exercises/space-age)
[INFO] [stderr]     Checking decimal v0.1.0 (/opt/rustwide/workdir/exercises/decimal)
[INFO] [stderr]     Checking pythagorean_triplet v1.0.0 (/opt/rustwide/workdir/exercises/pythagorean-triplet)
[INFO] [stderr]     Checking sieve v1.1.0 (/opt/rustwide/workdir/exercises/sieve)
[INFO] [stderr]     Checking raindrops v1.1.0 (/opt/rustwide/workdir/exercises/raindrops)
[INFO] [stderr]     Checking luhn v1.3.0 (/opt/rustwide/workdir/exercises/luhn)
[INFO] [stderr]     Checking react v2.0.0 (/opt/rustwide/workdir/exercises/react)
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> exercises/raindrops/src/lib.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 85 |         .into_iter()
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 85 -         .into_iter()
[INFO] [stdout] 85 +         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 84 -     [(3, "Pling"), (5, "Plang"), (7, "Plong")]
[INFO] [stdout] 84 +     IntoIterator::into_iter([(3, "Pling"), (5, "Plang"), (7, "Plong")])
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking minesweeper v1.1.0 (/opt/rustwide/workdir/exercises/minesweeper)
[INFO] [stderr]     Checking bowling v1.2.0 (/opt/rustwide/workdir/exercises/bowling)
[INFO] [stderr]     Checking isbn-verifier v2.7.0 (/opt/rustwide/workdir/exercises/isbn-verifier)
[INFO] [stderr]    Compiling backtrace-sys v0.1.28
[INFO] [stderr]     Checking roman-numerals v1.0.0 (/opt/rustwide/workdir/exercises/roman-numerals)
[INFO] [stderr]     Checking rail_fence_cipher v1.1.0 (/opt/rustwide/workdir/exercises/rail-fence-cipher)
[INFO] [stderr]     Checking clock v2.4.0 (/opt/rustwide/workdir/exercises/clock)
[INFO] [stderr]     Checking hello-world v1.1.0 (/opt/rustwide/workdir/exercises/hello-world)
[INFO] [stderr]     Checking scale_generator v2.0.0 (/opt/rustwide/workdir/exercises/scale-generator)
[INFO] [stderr]     Checking nucleotide_codons v0.1.0 (/opt/rustwide/workdir/exercises/nucleotide-codons)
[INFO] [stderr]     Checking etl v1.0.0 (/opt/rustwide/workdir/exercises/etl)
[INFO] [stderr]     Checking perfect_numbers v1.1.0 (/opt/rustwide/workdir/exercises/perfect-numbers)
[INFO] [stderr]     Checking phone-number v1.6.1 (/opt/rustwide/workdir/exercises/phone-number)
[INFO] [stderr]     Checking alphametics v1.3.0 (/opt/rustwide/workdir/exercises/alphametics)
[INFO] [stderr]     Checking chrono v0.4.6
[INFO] [stderr]     Checking poker v1.1.0 (/opt/rustwide/workdir/exercises/poker)
[INFO] [stderr]     Checking leap v1.4.0 (/opt/rustwide/workdir/exercises/leap)
[INFO] [stderr]     Checking isogram v1.3.0 (/opt/rustwide/workdir/exercises/isogram)
[INFO] [stderr]     Checking crypto-square v0.1.0 (/opt/rustwide/workdir/exercises/crypto-square)
[INFO] [stderr]     Checking collatz_conjecture v1.2.1 (/opt/rustwide/workdir/exercises/collatz-conjecture)
[INFO] [stderr]     Checking diamond v1.1.0 (/opt/rustwide/workdir/exercises/diamond)
[INFO] [stderr]     Checking ocr-numbers v0.0.0 (/opt/rustwide/workdir/exercises/ocr-numbers)
[INFO] [stderr]     Checking binary-search v1.3.0 (/opt/rustwide/workdir/exercises/binary-search)
[INFO] [stderr]     Checking circular-buffer v1.1.0 (/opt/rustwide/workdir/exercises/circular-buffer)
[INFO] [stderr]     Checking pangram v0.0.0 (/opt/rustwide/workdir/exercises/pangram)
[INFO] [stderr]     Checking atbash-cipher v1.1.0 (/opt/rustwide/workdir/exercises/atbash-cipher)
[INFO] [stderr]     Checking forth v1.7.0 (/opt/rustwide/workdir/exercises/forth)
[INFO] [stderr]     Checking luhn-from v0.0.0 (/opt/rustwide/workdir/exercises/luhn-from)
[INFO] [stderr]     Checking run-length-encoding v1.1.0 (/opt/rustwide/workdir/exercises/run-length-encoding)
[INFO] [stderr]     Checking custom-set v1.0.1 (/opt/rustwide/workdir/exercises/custom-set)
[INFO] [stderr]     Checking scrabble-score v1.1.0 (/opt/rustwide/workdir/exercises/scrabble-score)
[INFO] [stderr]     Checking palindrome-products v1.1.0 (/opt/rustwide/workdir/exercises/palindrome-products)
[INFO] [stderr]     Checking bracket-push v1.5.0 (/opt/rustwide/workdir/exercises/bracket-push)
[INFO] [stderr]     Checking macros v0.1.0 (/opt/rustwide/workdir/exercises/macros)
[INFO] [stderr]     Checking variable-length-quantity v1.2.0 (/opt/rustwide/workdir/exercises/variable-length-quantity)
[INFO] [stderr]     Checking wordy v1.5.0 (/opt/rustwide/workdir/exercises/wordy)
[INFO] [stderr]     Checking beer-song v0.0.0 (/opt/rustwide/workdir/exercises/beer-song)
[INFO] [stderr]     Checking rotational-cipher v1.0.0 (/opt/rustwide/workdir/exercises/rotational-cipher)
[INFO] [stderr]     Checking simple_linked_list v0.1.0 (/opt/rustwide/workdir/exercises/simple-linked-list)
[INFO] [stderr]     Checking simple-cipher v0.0.0 (/opt/rustwide/workdir/exercises/simple-cipher)
[INFO] [stderr]     Checking say v1.2.0 (/opt/rustwide/workdir/exercises/say)
[INFO] [stderr]     Checking accumulate v0.0.0 (/opt/rustwide/workdir/exercises/accumulate)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]  --> exercises/beer-song/src/lib.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | ...   n @ 3...99 => format!("{n} bottles of beer on the wall, {n} bottles of beer.\nTake one down and pass it around, {m} bottles of beer...
[INFO] [stdout]   |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking spiral-matrix v1.1.0 (/opt/rustwide/workdir/exercises/spiral-matrix)
[INFO] [stderr]     Checking dominoes v2.1.0 (/opt/rustwide/workdir/exercises/dominoes)
[INFO] [stderr]     Checking pascals-triangle v1.5.0 (/opt/rustwide/workdir/exercises/pascals-triangle)
[INFO] [stderr]     Checking nth_prime v2.1.0 (/opt/rustwide/workdir/exercises/nth-prime)
[INFO] [stderr]     Checking proverb v1.1.0 (/opt/rustwide/workdir/exercises/proverb)
[INFO] [stderr]     Checking saddle-points v1.3.0 (/opt/rustwide/workdir/exercises/saddle-points)
[INFO] [stderr]     Checking pig-latin v1.0.0 (/opt/rustwide/workdir/exercises/pig-latin)
[INFO] [stderr]     Checking twofer v1.2.0 (/opt/rustwide/workdir/exercises/two-fer)
[INFO] [stderr]     Checking nucleotide-count v1.3.0 (/opt/rustwide/workdir/exercises/nucleotide-count)
[INFO] [stderr]     Checking difference-of-squares v1.2.0 (/opt/rustwide/workdir/exercises/difference-of-squares)
[INFO] [stderr]     Checking grade-school v0.0.0 (/opt/rustwide/workdir/exercises/grade-school)
[INFO] [stderr]     Checking sum-of-multiples v1.5.0 (/opt/rustwide/workdir/exercises/sum-of-multiples)
[INFO] [stderr]     Checking two-bucket v1.4.0 (/opt/rustwide/workdir/exercises/two-bucket)
[INFO] [stderr]     Checking allyourbase v1.0.0 (/opt/rustwide/workdir/exercises/all-your-base)
[INFO] [stderr]     Checking luhn-trait v0.0.0 (/opt/rustwide/workdir/exercises/luhn-trait)
[INFO] [stderr]     Checking sublist v0.0.0 (/opt/rustwide/workdir/exercises/sublist)
[INFO] [stderr]     Checking rna-transcription v1.0.0 (/opt/rustwide/workdir/exercises/rna-transcription)
[INFO] [stderr]     Checking diffie-hellman v0.1.0 (/opt/rustwide/workdir/exercises/diffie-hellman)
[INFO] [stdout] warning: type `BASE_TYPE` should have an upper camel case name
[INFO] [stdout]  --> exercises/rna-transcription/src/lib.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum BASE_TYPE {
[INFO] [stdout]   |      ^^^^^^^^^ help: convert the identifier to upper camel case: `BaseType`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `baseType` should have a snake case name
[INFO] [stdout]   --> exercises/rna-transcription/src/lib.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn get_bases(baseType: BASE_TYPE) -> Vec<char> {
[INFO] [stdout]    |              ^^^^^^^^ help: convert the identifier to snake case: `base_type`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> exercises/rna-transcription/src/lib.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 |         .into_iter()
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 20 -         .into_iter()
[INFO] [stdout] 20 +         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 19 -     BASES
[INFO] [stdout] 19 +     IntoIterator::into_iter(BASES)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> exercises/rna-transcription/src/lib.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |             .map(|base| BASES.into_iter().find(|b| b.0 == base).unwrap().1)
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 43 -             .map(|base| BASES.into_iter().find(|b| b.0 == base).unwrap().1)
[INFO] [stdout] 43 +             .map(|base| BASES.iter().find(|b| b.0 == base).unwrap().1)
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 43 -             .map(|base| BASES.into_iter().find(|b| b.0 == base).unwrap().1)
[INFO] [stdout] 43 +             .map(|base| IntoIterator::into_iter(BASES).find(|b| b.0 == base).unwrap().1)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `accumulate::map`
[INFO] [stdout]  --> exercises/accumulate/tests/accumulate.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use accumulate::map;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square` is never used
[INFO] [stdout]  --> exercises/accumulate/tests/accumulate.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn square(x: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking gigasecond v1.1.0 (/opt/rustwide/workdir/exercises/gigasecond)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> exercises/bowling/tests/bowling.rs:15:62
[INFO] [stdout]    |
[INFO] [stdout] 15 |     assert_eq!(game.roll(11), Err(Error::NotEnoughPinsLeft));;
[INFO] [stdout]    |                                                              ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> exercises/bowling/tests/bowling.rs:62:56
[INFO] [stdout]    |
[INFO] [stdout] 62 |     assert_eq!(game.roll(0), Err(Error::GameComplete));;
[INFO] [stdout]    |                                                        ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> exercises/bowling/tests/bowling.rs:285:61
[INFO] [stdout]     |
[INFO] [stdout] 285 |     assert_eq!(game.roll(6), Err(Error::NotEnoughPinsLeft));;
[INFO] [stdout]     |                                                             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> exercises/bowling/tests/bowling.rs:299:62
[INFO] [stdout]     |
[INFO] [stdout] 299 |     assert_eq!(game.roll(11), Err(Error::NotEnoughPinsLeft));;
[INFO] [stdout]     |                                                              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> exercises/bowling/tests/bowling.rs:314:61
[INFO] [stdout]     |
[INFO] [stdout] 314 |     assert_eq!(game.roll(6), Err(Error::NotEnoughPinsLeft));;
[INFO] [stdout]     |                                                             ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> exercises/bowling/tests/bowling.rs:344:62
[INFO] [stdout]     |
[INFO] [stdout] 344 |     assert_eq!(game.roll(10), Err(Error::NotEnoughPinsLeft));;
[INFO] [stdout]     |                                                              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> exercises/bowling/tests/bowling.rs:360:62
[INFO] [stdout]     |
[INFO] [stdout] 360 |     assert_eq!(game.roll(11), Err(Error::NotEnoughPinsLeft));;
[INFO] [stdout]     |                                                              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling synstructure v0.10.1
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> exercises/dot-dsl/src/lib.rs:74:73
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     self.attrs.get(&String::from(key)).map(|value| value.clone())
[INFO] [stdout]    |                                                                         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]  --> exercises/beer-song/src/lib.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | ...   n @ 3...99 => format!("{n} bottles of beer on the wall, {n} bottles of beer.\nTake one down and pass it around, {m} bottles of beer...
[INFO] [stdout]   |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> exercises/raindrops/src/lib.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 85 |         .into_iter()
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 85 -         .into_iter()
[INFO] [stdout] 85 +         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 84 -     [(3, "Pling"), (5, "Plang"), (7, "Plong")]
[INFO] [stdout] 84 +     IntoIterator::into_iter([(3, "Pling"), (5, "Plang"), (7, "Plong")])
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BASE_TYPE` should have an upper camel case name
[INFO] [stdout]  --> exercises/rna-transcription/src/lib.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum BASE_TYPE {
[INFO] [stdout]   |      ^^^^^^^^^ help: convert the identifier to upper camel case: `BaseType`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `baseType` should have a snake case name
[INFO] [stdout]   --> exercises/rna-transcription/src/lib.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn get_bases(baseType: BASE_TYPE) -> Vec<char> {
[INFO] [stdout]    |              ^^^^^^^^ help: convert the identifier to snake case: `base_type`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> exercises/rna-transcription/src/lib.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 |         .into_iter()
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 20 -         .into_iter()
[INFO] [stdout] 20 +         .iter()
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 19 -     BASES
[INFO] [stdout] 19 +     IntoIterator::into_iter(BASES)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]   --> exercises/rna-transcription/src/lib.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |             .map(|base| BASES.into_iter().find(|b| b.0 == base).unwrap().1)
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 43 -             .map(|base| BASES.into_iter().find(|b| b.0 == base).unwrap().1)
[INFO] [stdout] 43 +             .map(|base| BASES.iter().find(|b| b.0 == base).unwrap().1)
[INFO] [stdout]    |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 43 -             .map(|base| BASES.into_iter().find(|b| b.0 == base).unwrap().1)
[INFO] [stdout] 43 +             .map(|base| IntoIterator::into_iter(BASES).find(|b| b.0 == base).unwrap().1)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking failure v0.1.5
[INFO] [stderr]     Checking grep v1.2.0 (/opt/rustwide/workdir/exercises/grep)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.30s
[INFO] running `Command { std: "docker" "inspect" "5560be783450c09330050d3f49dcb71497fde4d85110033098604dfa62181258", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5560be783450c09330050d3f49dcb71497fde4d85110033098604dfa62181258", kill_on_drop: false }`
[INFO] [stdout] 5560be783450c09330050d3f49dcb71497fde4d85110033098604dfa62181258
