[INFO] cloning repository https://github.com/rcxwhiz/datalog-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rcxwhiz/datalog-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frcxwhiz%2Fdatalog-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frcxwhiz%2Fdatalog-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c6383999e6b51e3877438217a8c235c0e6e173c8
[INFO] checking rcxwhiz/datalog-rs/c6383999e6b51e3877438217a8c235c0e6e173c8 against try#44f3504e96c944ae54fc72b5f5008f53f7eda001 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frcxwhiz%2Fdatalog-rs" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/rcxwhiz/datalog-rs on toolchain 44f3504e96c944ae54fc72b5f5008f53f7eda001
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/rcxwhiz/datalog-rs
[INFO] finished tweaking git repo https://github.com/rcxwhiz/datalog-rs
[INFO] tweaked toml for git repo https://github.com/rcxwhiz/datalog-rs written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/rcxwhiz/datalog-rs 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" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 85f650da462a591d14040d88b0b18543e10e6cbc5f41ba4a044a90aa1da4fa3a
[INFO] running `Command { std: "docker" "start" "-a" "85f650da462a591d14040d88b0b18543e10e6cbc5f41ba4a044a90aa1da4fa3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "85f650da462a591d14040d88b0b18543e10e6cbc5f41ba4a044a90aa1da4fa3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85f650da462a591d14040d88b0b18543e10e6cbc5f41ba4a044a90aa1da4fa3a", kill_on_drop: false }`
[INFO] [stdout] 85f650da462a591d14040d88b0b18543e10e6cbc5f41ba4a044a90aa1da4fa3a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cf64128fa8d8f09cfb57795f27ccc47f81c807673399f634ff63f5ff32ca12c6
[INFO] running `Command { std: "docker" "start" "-a" "cf64128fa8d8f09cfb57795f27ccc47f81c807673399f634ff63f5ff32ca12c6", kill_on_drop: false }`
[INFO] [stderr]     Checking datalog-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0425]: cannot find value `ch` in this scope
[INFO] [stdout]   --> src/lexer.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |             let mut comment_value = String::from(ch);
[INFO] [stdout]    |                                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found macro `line`
[INFO] [stdout]   --> src/lexer.rs:62:41
[INFO] [stdout]    |
[INFO] [stdout] 62 |             while let Some((_, next)) = line.peek() {
[INFO] [stdout]    |                                         ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found macro `line`
[INFO] [stdout]   --> src/lexer.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let _ = line.next();
[INFO] [stdout]    |                         ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ch` in this scope
[INFO] [stdout]   --> src/lexer.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut comment_value = String::from(ch);
[INFO] [stdout]    |                                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found macro `line`
[INFO] [stdout]   --> src/lexer.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 76 |             comment_value.push(line.next().unwrap().1);
[INFO] [stdout]    |                                ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found macro `line`
[INFO] [stdout]   --> src/lexer.rs:77:31
[INFO] [stdout]    |
[INFO] [stdout] 77 |             let mut line_it = line;
[INFO] [stdout]    |                               ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ch` in this scope
[INFO] [stdout]   --> src/lexer.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |             let mut comment_value = String::from(ch);
[INFO] [stdout]    |                                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found macro `line`
[INFO] [stdout]   --> src/lexer.rs:62:41
[INFO] [stdout]    |
[INFO] [stdout] 62 |             while let Some((_, next)) = line.peek() {
[INFO] [stdout]    |                                         ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found macro `line`
[INFO] [stdout]   --> src/lexer.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let _ = line.next();
[INFO] [stdout]    |                         ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ch` in this scope
[INFO] [stdout]   --> src/lexer.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut comment_value = String::from(ch);
[INFO] [stdout]    |                                                  ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found macro `line`
[INFO] [stdout]   --> src/lexer.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 76 |             comment_value.push(line.next().unwrap().1);
[INFO] [stdout]    |                                ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found macro `line`
[INFO] [stdout]   --> src/lexer.rs:77:31
[INFO] [stdout]    |
[INFO] [stdout] 77 |             let mut line_it = line;
[INFO] [stdout]    |                               ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/lexer.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::File, io::{BufRead, BufReader}, iter::Peekable};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/lexer.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::File, io::{BufRead, BufReader}, iter::Peekable};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed for `FileIterator<_, _>`
[INFO] [stdout]   --> src/lexer.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut file_iter = FileIterator::new(reader);
[INFO] [stdout]    |             ^^^^^^^^^^^^^   ------------------------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout]    = note: cannot satisfy `<_ as Iterator>::Item == (usize, Peekable<_>)`
[INFO] [stdout] note: required by a bound in `FileIterator::<F, L>::new`
[INFO] [stdout]   --> src/file_iterator.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     F: Iterator<Item = (usize, Peekable<L>)>,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `FileIterator::<F, L>::new`
[INFO] [stdout] 15 |     L: Iterator<Item = (usize, char)>, {
[INFO] [stdout] 16 |     pub fn new(reader: BufReader<File>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] help: consider giving `file_iter` an explicit type, where the type for type parameter `F` is specified
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut file_iter: FileIterator<F, L> = FileIterator::new(reader);
[INFO] [stdout]    |                          ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0284]: type annotations needed for `FileIterator<_, _>`
[INFO] [stdout]   --> src/lexer.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut file_iter = FileIterator::new(reader);
[INFO] [stdout]    |             ^^^^^^^^^^^^^   ------------------------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout]    = note: cannot satisfy `<_ as Iterator>::Item == (usize, Peekable<_>)`
[INFO] [stdout] note: required by a bound in `FileIterator::<F, L>::new`
[INFO] [stdout]   --> src/file_iterator.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     F: Iterator<Item = (usize, Peekable<L>)>,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `FileIterator::<F, L>::new`
[INFO] [stdout] 15 |     L: Iterator<Item = (usize, char)>, {
[INFO] [stdout] 16 |     pub fn new(reader: BufReader<File>) -> Self {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] help: consider giving `file_iter` an explicit type, where the type for type parameter `F` is specified
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut file_iter: FileIterator<F, L> = FileIterator::new(reader);
[INFO] [stdout]    |                          ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lexer.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |             Some(TokenValue::Comment(comment_value))
[INFO] [stdout]    |             ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Token`, found `TokenValue`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] help: the type constructed contains `TokenValue` due to the type of the argument passed
[INFO] [stdout]   --> src/lexer.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |             Some(TokenValue::Comment(comment_value))
[INFO] [stdout]    |             ^^^^^----------------------------------^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/44f3504e96c944ae54fc72b5f5008f53f7eda001/library/core/src/option.rs:580:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lexer.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |             Some(TokenValue::Comment(comment_value))
[INFO] [stdout]    |             ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Token`, found `TokenValue`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] help: the type constructed contains `TokenValue` due to the type of the argument passed
[INFO] [stdout]   --> src/lexer.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |             Some(TokenValue::Comment(comment_value))
[INFO] [stdout]    |             ^^^^^----------------------------------^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/44f3504e96c944ae54fc72b5f5008f53f7eda001/library/core/src/option.rs:580:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/file_iterator.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<F, L> FileIterator<F, L>
[INFO] [stdout]    |      - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 21 |             .map(|(line_num, line)| (line_num + 1, line
[INFO] [stdout]    |                  ------------------ one of the found closures
[INFO] [stdout] ...
[INFO] [stdout] 24 |                 .map(|(ch_num, ch)| (ch_num + 1, ch))
[INFO] [stdout]    |                      -------------- one of the found closures
[INFO] [stdout] ...
[INFO] [stdout] 27 |         let mut i = Self { lines_iterator, line_iterator: None, current_char: None };
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^ expected type parameter `F`, found `Map<Enumerate<Flatten<Lines<...>>>, ...>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `F`
[INFO] [stdout]                       found struct `Map<Enumerate<Flatten<std::io::Lines<BufReader<File>>>>, {closure@src/file_iterator.rs:21:18: 21:36}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/file_iterator.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<F, L> FileIterator<F, L>
[INFO] [stdout]    |      - expected this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 21 |             .map(|(line_num, line)| (line_num + 1, line
[INFO] [stdout]    |                  ------------------ one of the found closures
[INFO] [stdout] ...
[INFO] [stdout] 24 |                 .map(|(ch_num, ch)| (ch_num + 1, ch))
[INFO] [stdout]    |                      -------------- one of the found closures
[INFO] [stdout] ...
[INFO] [stdout] 27 |         let mut i = Self { lines_iterator, line_iterator: None, current_char: None };
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^ expected type parameter `F`, found `Map<Enumerate<Flatten<Lines<...>>>, ...>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected type parameter `F`
[INFO] [stdout]                       found struct `Map<Enumerate<Flatten<std::io::Lines<BufReader<File>>>>, {closure@src/file_iterator.rs:21:18: 21:36}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `token_value`
[INFO] [stdout]   --> src/lexer.rs:51:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut token_value = match ch {
[INFO] [stdout]    |             --------------- move occurs because `token_value` has type `TokenValue`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 47 |         if let (TokenValue::Colon, Some((_, '-'))) = (token_value, file_iter.peek_char()) {
[INFO] [stdout]    |                                                       ----------- value moved here
[INFO] [stdout] 48 |             token_value = TokenValue::ColonDash;
[INFO] [stdout]    |             ----------- this reinitialization might get skipped
[INFO] [stdout] ...
[INFO] [stdout] 51 |         Some(Token { value: token_value, line_num: file_iter.line_num(), char_num })
[INFO] [stdout]    |                             ^^^^^^^^^^^ value used here after move
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `token_value`
[INFO] [stdout]   --> src/lexer.rs:51:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut token_value = match ch {
[INFO] [stdout]    |             --------------- move occurs because `token_value` has type `TokenValue`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 47 |         if let (TokenValue::Colon, Some((_, '-'))) = (token_value, file_iter.peek_char()) {
[INFO] [stdout]    |                                                       ----------- value moved here
[INFO] [stdout] 48 |             token_value = TokenValue::ColonDash;
[INFO] [stdout]    |             ----------- this reinitialization might get skipped
[INFO] [stdout] ...
[INFO] [stdout] 51 |         Some(Token { value: token_value, line_num: file_iter.line_num(), char_num })
[INFO] [stdout]    |                             ^^^^^^^^^^^ value used here after move
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_iter`
[INFO] [stdout]   --> src/lexer.rs:85:24
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn get_token<F, L>(file_iter: &mut FileIterator<F, L>) -> Option<Token>
[INFO] [stdout]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_iter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_iter`
[INFO] [stdout]   --> src/lexer.rs:85:24
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn get_token<F, L>(file_iter: &mut FileIterator<F, L>) -> Option<Token>
[INFO] [stdout]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_iter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.line_iterator` which is behind a shared reference
[INFO] [stdout]   --> src/file_iterator.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         self.line_iterator?.1.peek()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `self.line_iterator` moved due to this method call
[INFO] [stdout]    |         move occurs because `self.line_iterator` has type `Option<(usize, Peekable<L>)>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: `branch` takes ownership of the receiver `self`, which moves `self.line_iterator`
[INFO] [stdout]   --> /rustc/44f3504e96c944ae54fc72b5f5008f53f7eda001/library/core/src/ops/try_trait.rs:217:15
[INFO] [stdout] help: you could `clone` the value and consume it, if the `L: Clone` trait bound could be satisfied
[INFO] [stdout]    |
[INFO] [stdout] 37 |         <Option<(usize, Peekable<L>)> as Clone>::clone(&self.line_iterator)?.1.peek()
[INFO] [stdout]    |         ++++++++++++++++++++++++++++++++++++++++++++++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.line_iterator` which is behind a shared reference
[INFO] [stdout]   --> src/file_iterator.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         self.line_iterator?.1.peek()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    |         |
[INFO] [stdout]    |         `self.line_iterator` moved due to this method call
[INFO] [stdout]    |         move occurs because `self.line_iterator` has type `Option<(usize, Peekable<L>)>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: `branch` takes ownership of the receiver `self`, which moves `self.line_iterator`
[INFO] [stdout]   --> /rustc/44f3504e96c944ae54fc72b5f5008f53f7eda001/library/core/src/ops/try_trait.rs:217:15
[INFO] [stdout] help: you could `clone` the value and consume it, if the `L: Clone` trait bound could be satisfied
[INFO] [stdout]    |
[INFO] [stdout] 37 |         <Option<(usize, Peekable<L>)> as Clone>::clone(&self.line_iterator)?.1.peek()
[INFO] [stdout]    |         ++++++++++++++++++++++++++++++++++++++++++++++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing temporary value
[INFO] [stdout]   --> src/file_iterator.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         self.line_iterator?.1.peek()
[INFO] [stdout]    |         -------------------^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         returns a value referencing data owned by the current function
[INFO] [stdout]    |         temporary value created here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing temporary value
[INFO] [stdout]   --> src/file_iterator.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         self.line_iterator?.1.peek()
[INFO] [stdout]    |         -------------------^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         returns a value referencing data owned by the current function
[INFO] [stdout]    |         temporary value created here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.line_iterator` which is behind a mutable reference
[INFO] [stdout]   --> src/file_iterator.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |         self.current_char = self.line_iterator?.1.next();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             `self.line_iterator` moved due to this method call
[INFO] [stdout]    |                             move occurs because `self.line_iterator` has type `Option<(usize, Peekable<L>)>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: `branch` takes ownership of the receiver `self`, which moves `self.line_iterator`
[INFO] [stdout]   --> /rustc/44f3504e96c944ae54fc72b5f5008f53f7eda001/library/core/src/ops/try_trait.rs:217:15
[INFO] [stdout] help: you could `clone` the value and consume it, if the `L: Clone` trait bound could be satisfied
[INFO] [stdout]    |
[INFO] [stdout] 41 |         self.current_char = <Option<(usize, Peekable<L>)> as Clone>::clone(&self.line_iterator)?.1.next();
[INFO] [stdout]    |                             ++++++++++++++++++++++++++++++++++++++++++++++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.line_iterator` which is behind a mutable reference
[INFO] [stdout]   --> src/file_iterator.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 |         self.current_char = self.line_iterator?.1.next();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             `self.line_iterator` moved due to this method call
[INFO] [stdout]    |                             move occurs because `self.line_iterator` has type `Option<(usize, Peekable<L>)>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: `branch` takes ownership of the receiver `self`, which moves `self.line_iterator`
[INFO] [stdout]   --> /rustc/44f3504e96c944ae54fc72b5f5008f53f7eda001/library/core/src/ops/try_trait.rs:217:15
[INFO] [stdout] help: you could `clone` the value and consume it, if the `L: Clone` trait bound could be satisfied
[INFO] [stdout]    |
[INFO] [stdout] 41 |         self.current_char = <Option<(usize, Peekable<L>)> as Clone>::clone(&self.line_iterator)?.1.next();
[INFO] [stdout]    |                             ++++++++++++++++++++++++++++++++++++++++++++++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]   --> src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let tokens = Lexer::lex(reader);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]   --> src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let tokens = Lexer::lex(reader);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0284, E0308, E0382, E0423, E0425, E0507, E0515.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0284`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0284, E0308, E0382, E0423, E0425, E0507, E0515.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0284`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `datalog-rs` (bin "datalog-rs") due to 13 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `datalog-rs` (bin "datalog-rs" test) due to 13 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "cf64128fa8d8f09cfb57795f27ccc47f81c807673399f634ff63f5ff32ca12c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf64128fa8d8f09cfb57795f27ccc47f81c807673399f634ff63f5ff32ca12c6", kill_on_drop: false }`
[INFO] [stdout] cf64128fa8d8f09cfb57795f27ccc47f81c807673399f634ff63f5ff32ca12c6
