[INFO] cloning repository https://github.com/dahosek/finl_parse [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dahosek/finl_parse" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdahosek%2Ffinl_parse", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdahosek%2Ffinl_parse'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0740528c9b905ace62fe25ded3c2c9820deccc16 [INFO] building dahosek/finl_parse against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdahosek%2Ffinl_parse" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dahosek/finl_parse on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dahosek/finl_parse [INFO] finished tweaking git repo https://github.com/dahosek/finl_parse [INFO] tweaked toml for git repo https://github.com/dahosek/finl_parse written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/dahosek/finl_parse 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bc21cb6021ebff6c1a799088012c5c2b153d936151b203086eb49b8b9b0886d4 [INFO] running `Command { std: "docker" "start" "-a" "bc21cb6021ebff6c1a799088012c5c2b153d936151b203086eb49b8b9b0886d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bc21cb6021ebff6c1a799088012c5c2b153d936151b203086eb49b8b9b0886d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc21cb6021ebff6c1a799088012c5c2b153d936151b203086eb49b8b9b0886d4", kill_on_drop: false }` [INFO] [stdout] bc21cb6021ebff6c1a799088012c5c2b153d936151b203086eb49b8b9b0886d4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8b9ef4b29ec20dc6c790adbfed09ae5f49ce95b6bd8e59036327a6cecc40e2b1 [INFO] running `Command { std: "docker" "start" "-a" "8b9ef4b29ec20dc6c790adbfed09ae5f49ce95b6bd8e59036327a6cecc40e2b1", kill_on_drop: false }` [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling finl_parse v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `command_context` [INFO] [stdout] --> src/lib.rs:303:36 [INFO] [stdout] | [INFO] [stdout] 303 | fn get_command_name(&mut self, command_context: &CommandContext) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_context` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> src/lib.rs:376:29 [INFO] [stdout] | [INFO] [stdout] 376 | let arg = self.output.split_off(tokens_end); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ptype` [INFO] [stdout] --> src/lib.rs:355:120 [INFO] [stdout] | [INFO] [stdout] 355 | ...and_context: &CommandContext, ptype: ParameterType) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ptype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParserState` is never used [INFO] [stdout] --> src/lib.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | enum ParserState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CommandContext` is never used [INFO] [stdout] --> src/lib.rs:31:6 [INFO] [stdout] | [INFO] [stdout] 31 | enum CommandContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SkipWhiteSpaceOutcome` is never used [INFO] [stdout] --> src/lib.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | enum SkipWhiteSpaceOutcome { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/lib.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 45 | struct Parser<'a> { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 46 | commands: HashMap>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 47 | environments: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | lines: Box + 'a>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 49 | line: Line, [INFO] [stdout] | ^^^^ [INFO] [stdout] 50 | char_iterator: Peekable>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 51 | output: Vec>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 52 | stack: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lib.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 70 | pub fn from_string(input: &'a str) -> Parser<'a> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn define_command(&mut self, name: &str, args: Vec<(ParameterFormat, ParameterType)>) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn parse(&mut self) -> Vec> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn push_eol_text_block(&mut self, start: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn push_text_block(&mut self, start: usize, end: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn push_error(&mut self, error: FinlError) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn push_command(&mut self, command: Rc, args: Vec, column: usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn push_token(&mut self, token: Token) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn skip_whitespace(&mut self) -> SkipWhiteSpaceOutcome { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | fn next_line(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn undefined_command(&self, command_name: String, column: usize) -> FinlError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn unimplemented(&self, column: usize) -> FinlError { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn blank_line_while_parsing_command_arguments(&self, command_name: String, arg_number: usize) -> FinlError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | fn unexpected_eof_while_parsing_command_arguments(&self, command_name: String, arg_number: usize) -> FinlError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | fn unexpected_close_brace(&self, group_type: Option, column: usize) -> FinlError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | fn text_parse(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn get_column(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | fn command_parse(&mut self, command_context: CommandContext) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | fn get_command_name(&mut self, command_context: &CommandContext) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | fn parse_required_argument(&mut self, command: &String, parameter_number: usize, command_context: &CommandContext, ptype: ParameterTy... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `letter_test` is never used [INFO] [stdout] --> src/lib.rs:412:4 [INFO] [stdout] | [INFO] [stdout] 412 | fn letter_test(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file`, `line_number`, and `contents` are never read [INFO] [stdout] --> src/tokens.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Line { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 7 | pub file: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | pub line_number: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub contents: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `rc_from_line_and_column` and `from_line_and_column` are never used [INFO] [stdout] --> src/tokens.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Location { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 21 | pub fn rc_from_line_and_column(line: &Line, column: usize) -> Rc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn from_line_and_column(line: &Line, column: usize) -> Location { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Brace`, `Environment`, `RequiredArgument`, `OptionalArgument`, and `ArbitraryDelim` are never constructed [INFO] [stdout] --> src/tokens.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum GroupType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 36 | Brace, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 37 | Environment(Rc), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 38 | RequiredArgument, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | OptionalArgument, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | ArbitraryDelim(String), // must be string so we can write, e.g., \verb🇨🇦something🇨🇦 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GroupType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_line_and_column` is never used [INFO] [stdout] --> src/tokens.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl ErrorContext { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 50 | pub fn from_line_and_column(line: &Line, column: usize) -> ErrorContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UndefinedCommand`, `Unimplemented`, `BlankLineWhileParsingCommandArguments`, `UnexpectedEOFWhileParsingCommandArguments`, and `UnexpectedCloseBrace` are never constructed [INFO] [stdout] --> src/tokens.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub enum FinlError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 60 | UndefinedCommand(ErrorContext, String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | Unimplemented(ErrorContext), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 62 | BlankLineWhileParsingCommandArguments(ErrorContext, String, usize), // .2 is the argument number [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 63 | UnexpectedEOFWhileParsingCommandArguments(ErrorContext, String, usize), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | UnexpectedCloseBrace(ErrorContext, Option), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FinlError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/tokens.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum Token { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 76 | ParsedText(Location, String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 77 | Math(Location, String), [INFO] [stdout] | ^^^^ [INFO] [stdout] 78 | Command(Location, Rc, Vec), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 79 | Environment(Location, Rc, Vec, Vec), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 80 | RawText(Location, String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | Bgroup(Location), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 82 | Egroup(Location), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 83 | Tokens(Location, Vec) // Q: Does this make sense? Yes, for arguments to commands. [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `no_arg_command` are never used [INFO] [stdout] --> src/commands.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Command { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 10 | pub fn new(name: &str, args: Vec<(ParameterFormat, ParameterType)>) -> Command { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn no_arg_command(name: String) -> Command { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Star`, `Required`, `RequiredWithBraces`, `Optional`, and `ArbitraryDelimiters` are never constructed [INFO] [stdout] --> src/commands.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum ParameterFormat { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 37 | Star, [INFO] [stdout] | ^^^^ [INFO] [stdout] 38 | Required, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 39 | RequiredWithBraces, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | Optional, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 41 | ArbitraryDelimiters, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParameterFormat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/commands.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum ParameterType { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 46 | ParsedTokens, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 47 | VerbatimText, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | Boolean, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 49 | KeyValueList, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 50 | MacroDefinition, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 51 | Math, [INFO] [stdout] | ^^^^ [INFO] [stdout] 52 | YAML, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParameterType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.55s [INFO] running `Command { std: "docker" "inspect" "8b9ef4b29ec20dc6c790adbfed09ae5f49ce95b6bd8e59036327a6cecc40e2b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8b9ef4b29ec20dc6c790adbfed09ae5f49ce95b6bd8e59036327a6cecc40e2b1", kill_on_drop: false }` [INFO] [stdout] 8b9ef4b29ec20dc6c790adbfed09ae5f49ce95b6bd8e59036327a6cecc40e2b1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9aa9679cafd7540bf402f6b56072a2620a44aafb4b46434a39f14ca497fd7888 [INFO] running `Command { std: "docker" "start" "-a" "9aa9679cafd7540bf402f6b56072a2620a44aafb4b46434a39f14ca497fd7888", kill_on_drop: false }` [INFO] [stdout] warning: unused variable: `command_context` [INFO] [stdout] --> src/lib.rs:303:36 [INFO] [stdout] | [INFO] [stdout] 303 | fn get_command_name(&mut self, command_context: &CommandContext) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_context` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> src/lib.rs:376:29 [INFO] [stdout] | [INFO] [stdout] 376 | let arg = self.output.split_off(tokens_end); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ptype` [INFO] [stdout] --> src/lib.rs:355:120 [INFO] [stdout] | [INFO] [stdout] 355 | ...and_context: &CommandContext, ptype: ParameterType) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ptype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParserState` is never used [INFO] [stdout] --> src/lib.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | enum ParserState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CommandContext` is never used [INFO] [stdout] --> src/lib.rs:31:6 [INFO] [stdout] | [INFO] [stdout] 31 | enum CommandContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SkipWhiteSpaceOutcome` is never used [INFO] [stdout] --> src/lib.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | enum SkipWhiteSpaceOutcome { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/lib.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 45 | struct Parser<'a> { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 46 | commands: HashMap>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 47 | environments: HashMap>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | lines: Box + 'a>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 49 | line: Line, [INFO] [stdout] | ^^^^ [INFO] [stdout] 50 | char_iterator: Peekable>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 51 | output: Vec>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 52 | stack: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lib.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 70 | pub fn from_string(input: &'a str) -> Parser<'a> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn define_command(&mut self, name: &str, args: Vec<(ParameterFormat, ParameterType)>) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn parse(&mut self) -> Vec> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn push_eol_text_block(&mut self, start: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn push_text_block(&mut self, start: usize, end: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn push_error(&mut self, error: FinlError) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn push_command(&mut self, command: Rc, args: Vec, column: usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn push_token(&mut self, token: Token) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn skip_whitespace(&mut self) -> SkipWhiteSpaceOutcome { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | fn next_line(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn undefined_command(&self, command_name: String, column: usize) -> FinlError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn unimplemented(&self, column: usize) -> FinlError { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn blank_line_while_parsing_command_arguments(&self, command_name: String, arg_number: usize) -> FinlError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | fn unexpected_eof_while_parsing_command_arguments(&self, command_name: String, arg_number: usize) -> FinlError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | fn unexpected_close_brace(&self, group_type: Option, column: usize) -> FinlError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | fn text_parse(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn get_column(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | fn command_parse(&mut self, command_context: CommandContext) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | fn get_command_name(&mut self, command_context: &CommandContext) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | fn parse_required_argument(&mut self, command: &String, parameter_number: usize, command_context: &CommandContext, ptype: ParameterTy... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `letter_test` is never used [INFO] [stdout] --> src/lib.rs:412:4 [INFO] [stdout] | [INFO] [stdout] 412 | fn letter_test(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file`, `line_number`, and `contents` are never read [INFO] [stdout] --> src/tokens.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Line { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 7 | pub file: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | pub line_number: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub contents: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `rc_from_line_and_column` and `from_line_and_column` are never used [INFO] [stdout] --> src/tokens.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Location { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 21 | pub fn rc_from_line_and_column(line: &Line, column: usize) -> Rc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn from_line_and_column(line: &Line, column: usize) -> Location { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Brace`, `Environment`, `RequiredArgument`, `OptionalArgument`, and `ArbitraryDelim` are never constructed [INFO] [stdout] --> src/tokens.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum GroupType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 36 | Brace, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 37 | Environment(Rc), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 38 | RequiredArgument, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | OptionalArgument, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | ArbitraryDelim(String), // must be string so we can write, e.g., \verb🇨🇦something🇨🇦 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GroupType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_line_and_column` is never used [INFO] [stdout] --> src/tokens.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl ErrorContext { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 50 | pub fn from_line_and_column(line: &Line, column: usize) -> ErrorContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UndefinedCommand`, `Unimplemented`, `BlankLineWhileParsingCommandArguments`, `UnexpectedEOFWhileParsingCommandArguments`, and `UnexpectedCloseBrace` are never constructed [INFO] [stdout] --> src/tokens.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub enum FinlError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 60 | UndefinedCommand(ErrorContext, String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | Unimplemented(ErrorContext), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 62 | BlankLineWhileParsingCommandArguments(ErrorContext, String, usize), // .2 is the argument number [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 63 | UnexpectedEOFWhileParsingCommandArguments(ErrorContext, String, usize), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | UnexpectedCloseBrace(ErrorContext, Option), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FinlError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/tokens.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum Token { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 76 | ParsedText(Location, String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 77 | Math(Location, String), [INFO] [stdout] | ^^^^ [INFO] [stdout] 78 | Command(Location, Rc, Vec), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 79 | Environment(Location, Rc, Vec, Vec), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 80 | RawText(Location, String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | Bgroup(Location), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 82 | Egroup(Location), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 83 | Tokens(Location, Vec) // Q: Does this make sense? Yes, for arguments to commands. [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `no_arg_command` are never used [INFO] [stdout] --> src/commands.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Command { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 10 | pub fn new(name: &str, args: Vec<(ParameterFormat, ParameterType)>) -> Command { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn no_arg_command(name: String) -> Command { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling finl_parse v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variants `Star`, `Required`, `RequiredWithBraces`, `Optional`, and `ArbitraryDelimiters` are never constructed [INFO] [stdout] --> src/commands.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum ParameterFormat { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 37 | Star, [INFO] [stdout] | ^^^^ [INFO] [stdout] 38 | Required, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 39 | RequiredWithBraces, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | Optional, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 41 | ArbitraryDelimiters, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParameterFormat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/commands.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum ParameterType { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 46 | ParsedTokens, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 47 | VerbatimText, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | Boolean, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 49 | KeyValueList, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 50 | MacroDefinition, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 51 | Math, [INFO] [stdout] | ^^^^ [INFO] [stdout] 52 | YAML, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParameterType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `)`, `,`, `...`, `..=`, `..`, `if`, or `|`, found `.` [INFO] [stdout] --> src/lib.rs:484:68 [INFO] [stdout] | [INFO] [stdout] 484 | assert_matches!(contents.unwrap(), Token::ParsedText(_, "n".to_string())); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | expected one of 7 possible tokens [INFO] [stdout] | help: missing `,` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `to_string` in this scope [INFO] [stdout] --> src/lib.rs:484:69 [INFO] [stdout] | [INFO] [stdout] 484 | assert_matches!(contents.unwrap(), Token::ParsedText(_, "n".to_string())); [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields [INFO] [stdout] --> src/lib.rs:484:62 [INFO] [stdout] | [INFO] [stdout] 484 | assert_matches!(contents.unwrap(), Token::ParsedText(_, "n".to_string())); [INFO] [stdout] | ^ ^^^ ^^^^^^^^^^^ expected 2 fields, found 3 [INFO] [stdout] | [INFO] [stdout] ::: src/tokens.rs:76:16 [INFO] [stdout] | [INFO] [stdout] 76 | ParsedText(Location, String), [INFO] [stdout] | -------- ------ tuple variant has 2 fields [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command_context` [INFO] [stdout] --> src/lib.rs:303:36 [INFO] [stdout] | [INFO] [stdout] 303 | fn get_command_name(&mut self, command_context: &CommandContext) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command_context` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> src/lib.rs:376:29 [INFO] [stdout] | [INFO] [stdout] 376 | let arg = self.output.split_off(tokens_end); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ptype` [INFO] [stdout] --> src/lib.rs:355:120 [INFO] [stdout] | [INFO] [stdout] 355 | ...and_context: &CommandContext, ptype: ParameterType) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ptype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0023, E0531. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0023`. [INFO] [stdout] [INFO] [stderr] error: could not compile `finl_parse` (lib test) due to 3 previous errors; 3 warnings emitted [INFO] running `Command { std: "docker" "inspect" "9aa9679cafd7540bf402f6b56072a2620a44aafb4b46434a39f14ca497fd7888", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9aa9679cafd7540bf402f6b56072a2620a44aafb4b46434a39f14ca497fd7888", kill_on_drop: false }` [INFO] [stdout] 9aa9679cafd7540bf402f6b56072a2620a44aafb4b46434a39f14ca497fd7888