[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::::new` [INFO] [stdout] --> src/file_iterator.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | F: Iterator)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `FileIterator::::new` [INFO] [stdout] 15 | L: Iterator, { [INFO] [stdout] 16 | pub fn new(reader: BufReader) -> 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 = 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::::new` [INFO] [stdout] --> src/file_iterator.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | F: Iterator)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `FileIterator::::new` [INFO] [stdout] 15 | L: Iterator, { [INFO] [stdout] 16 | pub fn new(reader: BufReader) -> 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 = 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 FileIterator [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>>, ...>` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `F` [INFO] [stdout] found struct `Map>>>, {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 FileIterator [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>>, ...>` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `F` [INFO] [stdout] found struct `Map>>>, {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(file_iter: &mut FileIterator) -> Option [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(file_iter: &mut FileIterator) -> Option [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)>`, 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 | )> 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)>`, 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 | )> 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)>`, 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 = )> 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)>`, 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 = )> 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