[INFO] cloning repository https://github.com/Apsapeh/nanoc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Apsapeh/nanoc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FApsapeh%2Fnanoc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FApsapeh%2Fnanoc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1c7e9ee53b7f59f5334e8dcc9db1cb597aabaabc
[INFO] testing Apsapeh/nanoc against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FApsapeh%2Fnanoc" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Apsapeh/nanoc
[INFO] finished tweaking git repo https://github.com/Apsapeh/nanoc
[INFO] tweaked toml for git repo https://github.com/Apsapeh/nanoc written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Apsapeh/nanoc on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Apsapeh/nanoc 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a25196312299fc4ca4a1fc9630aa8add21a16690f3aea199e08850ccca9191e7
[INFO] running `Command { std: "docker" "start" "-a" "a25196312299fc4ca4a1fc9630aa8add21a16690f3aea199e08850ccca9191e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a25196312299fc4ca4a1fc9630aa8add21a16690f3aea199e08850ccca9191e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a25196312299fc4ca4a1fc9630aa8add21a16690f3aea199e08850ccca9191e7", kill_on_drop: false }`
[INFO] [stdout] a25196312299fc4ca4a1fc9630aa8add21a16690f3aea199e08850ccca9191e7
[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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bf5c6672178751b3590e55c3164873914a66eacaa03d43397401b6ca29a8784d
[INFO] running `Command { std: "docker" "start" "-a" "bf5c6672178751b3590e55c3164873914a66eacaa03d43397401b6ca29a8784d", kill_on_drop: false }`
[INFO] [stderr]    Compiling nanoc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/preprocessor.rs:191:20
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 if (current_conditional_tree.upgrade().unwrap().borrow().parent.is_none()) {
[INFO] [stdout]     |                    ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 191 -                 if (current_conditional_tree.upgrade().unwrap().borrow().parent.is_none()) {
[INFO] [stdout] 191 +                 if current_conditional_tree.upgrade().unwrap().borrow().parent.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokenized`
[INFO] [stdout]   --> src/lib.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let tokenized = lexer::lex(preprocessed);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenized`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `C99` is never constructed
[INFO] [stdout]  --> src/general.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum CStandard {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] 2 |     C89,
[INFO] [stdout] 3 |     C99
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `body` is never read
[INFO] [stdout]   --> src/preprocessor.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct ConditionalTree {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 44 |     pub children: Vec<Rc<RefCell<ConditionalTree>>>,
[INFO] [stdout] 45 |     pub body: Vec<NumWord>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConditionalTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/lexer.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     String(NumWord),
[INFO] [stdout]   |     ------ ^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     String(NumWord),
[INFO] [stdout] 7 +     String(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/lexer.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Token {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 5  |     Integer(NumWord),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 6  |     Float(Vec<NumWord>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 7  |     String(NumWord),
[INFO] [stdout] 8  |     Char(NumWord),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 9  |     Word(NumWord),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     RoundBracketBegin(NumWord),     // (
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     RoundBracketEnd(NumWord),       // )
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     SquareBracketBegin(NumWord),    // [
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     SquareBracketEnd(NumWord),      // ]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     BlockBegin(NumWord),            // {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 15 |     BlockEnd(NumWord),              // }
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 16 |     Dot(NumWord),                   // .
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 17 |     Comma(NumWord),                 // ,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     SemiColon(NumWord),             // ;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     Asterisk(NumWord),              // *
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     Ampersand(NumWord),             // &
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 21 |     VerticalBar(NumWord),           // |
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 22 |     Caret(NumWord),                 // ^
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     Plus(NumWord),                  // +
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 24 |     Minus(NumWord),                 // -
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     Increment(NumWord),             // ++
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 26 |     Decrement(NumWord),             // --
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 27 |     Slash(NumWord),                 // /
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 28 |     BackSlash(NumWord),             // \
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 29 |     Equal(NumWord),                 // =
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 30 |     Mod(NumWord),                   // %
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 31 |     NotEqual(NumWord),              // !=
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 32 |     Greater(NumWord),               // >
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 33 |     GreaterEqual(NumWord),          // >=
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 34 |     Less(NumWord),                  // <
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     LessEqual(NumWord),             // <=
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 36 |     And(NumWord),                   // &&
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 37 |     Or(NumWord),                    // ||
[INFO] [stdout]    |     ^^
[INFO] [stdout] 38 |     Not(NumWord),                   // !
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 39 |     RightShift(NumWord),            // >>
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 40 |     LeftShift(NumWord),             // <<
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 41 |     PlusSet(NumWord),               // +=
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 42 |     MinusSet(NumWord),              // -=
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 43 |     MultiplySet(NumWord),           // *=
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 44 |     DivideSet(NumWord),             // /=
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 45 |     ModSet(NumWord),                // %=
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 46 |     AndSet(NumWord),                // &=
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 47 |     OrSet(NumWord),                 // |=
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |     XorSet(NumWord),                // ^=
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 49 |     RightShiftSet(NumWord),         // >>=
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 50 |     LeftShiftSet(NumWord),          // <<=
[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: constant `DEC` is never used
[INFO] [stdout]   --> src/lexer.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const DEC: [u8; 2] = [b'0', b'9'];
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_integer` is never used
[INFO] [stdout]    --> src/lexer.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn is_integer(s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.99s
[INFO] running `Command { std: "docker" "inspect" "bf5c6672178751b3590e55c3164873914a66eacaa03d43397401b6ca29a8784d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf5c6672178751b3590e55c3164873914a66eacaa03d43397401b6ca29a8784d", kill_on_drop: false }`
[INFO] [stdout] bf5c6672178751b3590e55c3164873914a66eacaa03d43397401b6ca29a8784d
[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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 68c4dc87ee69ca10a7a29d63e82e8c584f90face035100c645c1b70053579e89
[INFO] running `Command { std: "docker" "start" "-a" "68c4dc87ee69ca10a7a29d63e82e8c584f90face035100c645c1b70053579e89", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/preprocessor.rs:191:20
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 if (current_conditional_tree.upgrade().unwrap().borrow().parent.is_none()) {
[INFO] [stdout]     |                    ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 191 -                 if (current_conditional_tree.upgrade().unwrap().borrow().parent.is_none()) {
[INFO] [stdout] 191 +                 if current_conditional_tree.upgrade().unwrap().borrow().parent.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokenized`
[INFO] [stdout]   --> src/lib.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let tokenized = lexer::lex(preprocessed);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenized`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `C99` is never constructed
[INFO] [stdout]  --> src/general.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum CStandard {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] 2 |     C89,
[INFO] [stdout] 3 |     C99
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `body` is never read
[INFO] [stdout]   --> src/preprocessor.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct ConditionalTree {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 44 |     pub children: Vec<Rc<RefCell<ConditionalTree>>>,
[INFO] [stdout] 45 |     pub body: Vec<NumWord>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConditionalTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling nanoc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/lexer.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     String(NumWord),
[INFO] [stdout]   |     ------ ^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     String(NumWord),
[INFO] [stdout] 7 +     String(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/lexer.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Token {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 5  |     Integer(NumWord),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 6  |     Float(Vec<NumWord>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 7  |     String(NumWord),
[INFO] [stdout] 8  |     Char(NumWord),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 9  |     Word(NumWord),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     RoundBracketBegin(NumWord),     // (
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     RoundBracketEnd(NumWord),       // )
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     SquareBracketBegin(NumWord),    // [
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     SquareBracketEnd(NumWord),      // ]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     BlockBegin(NumWord),            // {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 15 |     BlockEnd(NumWord),              // }
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 16 |     Dot(NumWord),                   // .
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 17 |     Comma(NumWord),                 // ,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     SemiColon(NumWord),             // ;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     Asterisk(NumWord),              // *
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     Ampersand(NumWord),             // &
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 21 |     VerticalBar(NumWord),           // |
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 22 |     Caret(NumWord),                 // ^
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     Plus(NumWord),                  // +
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 24 |     Minus(NumWord),                 // -
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     Increment(NumWord),             // ++
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 26 |     Decrement(NumWord),             // --
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 27 |     Slash(NumWord),                 // /
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 28 |     BackSlash(NumWord),             // \
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 29 |     Equal(NumWord),                 // =
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 30 |     Mod(NumWord),                   // %
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 31 |     NotEqual(NumWord),              // !=
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 32 |     Greater(NumWord),               // >
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 33 |     GreaterEqual(NumWord),          // >=
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 34 |     Less(NumWord),                  // <
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     LessEqual(NumWord),             // <=
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 36 |     And(NumWord),                   // &&
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 37 |     Or(NumWord),                    // ||
[INFO] [stdout]    |     ^^
[INFO] [stdout] 38 |     Not(NumWord),                   // !
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 39 |     RightShift(NumWord),            // >>
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 40 |     LeftShift(NumWord),             // <<
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 41 |     PlusSet(NumWord),               // +=
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 42 |     MinusSet(NumWord),              // -=
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 43 |     MultiplySet(NumWord),           // *=
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 44 |     DivideSet(NumWord),             // /=
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 45 |     ModSet(NumWord),                // %=
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 46 |     AndSet(NumWord),                // &=
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 47 |     OrSet(NumWord),                 // |=
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |     XorSet(NumWord),                // ^=
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 49 |     RightShiftSet(NumWord),         // >>=
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 50 |     LeftShiftSet(NumWord),          // <<=
[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: constant `DEC` is never used
[INFO] [stdout]   --> src/lexer.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const DEC: [u8; 2] = [b'0', b'9'];
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_integer` is never used
[INFO] [stdout]    --> src/lexer.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn is_integer(s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/preprocessor.rs:191:20
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 if (current_conditional_tree.upgrade().unwrap().borrow().parent.is_none()) {
[INFO] [stdout]     |                    ^                                                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 191 -                 if (current_conditional_tree.upgrade().unwrap().borrow().parent.is_none()) {
[INFO] [stdout] 191 +                 if current_conditional_tree.upgrade().unwrap().borrow().parent.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokenized`
[INFO] [stdout]   --> src/lib.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let tokenized = lexer::lex(preprocessed);
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenized`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `C99` is never constructed
[INFO] [stdout]  --> src/general.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum CStandard {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] 2 |     C89,
[INFO] [stdout] 3 |     C99
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `body` is never read
[INFO] [stdout]   --> src/preprocessor.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct ConditionalTree {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 44 |     pub children: Vec<Rc<RefCell<ConditionalTree>>>,
[INFO] [stdout] 45 |     pub body: Vec<NumWord>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConditionalTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/lexer.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     String(NumWord),
[INFO] [stdout]   |     ------ ^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     String(NumWord),
[INFO] [stdout] 7 +     String(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/lexer.rs:5:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Token {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 5  |     Integer(NumWord),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 6  |     Float(Vec<NumWord>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 7  |     String(NumWord),
[INFO] [stdout] 8  |     Char(NumWord),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 9  |     Word(NumWord),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     RoundBracketBegin(NumWord),     // (
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     RoundBracketEnd(NumWord),       // )
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     SquareBracketBegin(NumWord),    // [
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     SquareBracketEnd(NumWord),      // ]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     BlockBegin(NumWord),            // {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 15 |     BlockEnd(NumWord),              // }
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 16 |     Dot(NumWord),                   // .
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 17 |     Comma(NumWord),                 // ,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 18 |     SemiColon(NumWord),             // ;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     Asterisk(NumWord),              // *
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     Ampersand(NumWord),             // &
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 21 |     VerticalBar(NumWord),           // |
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 22 |     Caret(NumWord),                 // ^
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     Plus(NumWord),                  // +
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 24 |     Minus(NumWord),                 // -
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 25 |     Increment(NumWord),             // ++
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 26 |     Decrement(NumWord),             // --
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 27 |     Slash(NumWord),                 // /
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 28 |     BackSlash(NumWord),             // \
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 29 |     Equal(NumWord),                 // =
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 30 |     Mod(NumWord),                   // %
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 31 |     NotEqual(NumWord),              // !=
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 32 |     Greater(NumWord),               // >
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 33 |     GreaterEqual(NumWord),          // >=
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 34 |     Less(NumWord),                  // <
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     LessEqual(NumWord),             // <=
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 36 |     And(NumWord),                   // &&
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 37 |     Or(NumWord),                    // ||
[INFO] [stdout]    |     ^^
[INFO] [stdout] 38 |     Not(NumWord),                   // !
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 39 |     RightShift(NumWord),            // >>
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 40 |     LeftShift(NumWord),             // <<
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 41 |     PlusSet(NumWord),               // +=
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 42 |     MinusSet(NumWord),              // -=
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 43 |     MultiplySet(NumWord),           // *=
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 44 |     DivideSet(NumWord),             // /=
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 45 |     ModSet(NumWord),                // %=
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 46 |     AndSet(NumWord),                // &=
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 47 |     OrSet(NumWord),                 // |=
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |     XorSet(NumWord),                // ^=
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 49 |     RightShiftSet(NumWord),         // >>=
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 50 |     LeftShiftSet(NumWord),          // <<=
[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: constant `DEC` is never used
[INFO] [stdout]   --> src/lexer.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const DEC: [u8; 2] = [b'0', b'9'];
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_integer` is never used
[INFO] [stdout]    --> src/lexer.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn is_integer(s: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.66s
[INFO] running `Command { std: "docker" "inspect" "68c4dc87ee69ca10a7a29d63e82e8c584f90face035100c645c1b70053579e89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68c4dc87ee69ca10a7a29d63e82e8c584f90face035100c645c1b70053579e89", kill_on_drop: false }`
[INFO] [stdout] 68c4dc87ee69ca10a7a29d63e82e8c584f90face035100c645c1b70053579e89
[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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 52968be5cde028451e9ff8feedeae5ae51aba4976f81e57d92c24ddddf235bb9
[INFO] running `Command { std: "docker" "start" "-a" "52968be5cde028451e9ff8feedeae5ae51aba4976f81e57d92c24ddddf235bb9", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/preprocessor.rs:191:20
[INFO] [stderr]     |
[INFO] [stderr] 191 |                 if (current_conditional_tree.upgrade().unwrap().borrow().parent.is_none()) {
[INFO] [stderr]     |                    ^                                                                     ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 191 -                 if (current_conditional_tree.upgrade().unwrap().borrow().parent.is_none()) {
[INFO] [stderr] 191 +                 if current_conditional_tree.upgrade().unwrap().borrow().parent.is_none() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tokenized`
[INFO] [stderr]   --> src/lib.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let tokenized = lexer::lex(preprocessed);
[INFO] [stderr]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokenized`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `C99` is never constructed
[INFO] [stderr]  --> src/general.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub enum CStandard {
[INFO] [stderr]   |          --------- variant in this enum
[INFO] [stderr] 2 |     C89,
[INFO] [stderr] 3 |     C99
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `body` is never read
[INFO] [stderr]   --> src/preprocessor.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 43 | struct ConditionalTree {
[INFO] [stderr]    |        --------------- field in this struct
[INFO] [stderr] 44 |     pub children: Vec<Rc<RefCell<ConditionalTree>>>,
[INFO] [stderr] 45 |     pub body: Vec<NumWord>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ConditionalTree` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]  --> src/lexer.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 |     String(NumWord),
[INFO] [stderr]   |     ------ ^^^^^^^
[INFO] [stderr]   |     |
[INFO] [stderr]   |     field in this variant
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]   |
[INFO] [stderr] 7 -     String(NumWord),
[INFO] [stderr] 7 +     String(()),
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/lexer.rs:5:5
[INFO] [stderr]    |
[INFO] [stderr] 4  | pub enum Token {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] 5  |     Integer(NumWord),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 6  |     Float(Vec<NumWord>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 7  |     String(NumWord),
[INFO] [stderr] 8  |     Char(NumWord),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 9  |     Word(NumWord),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 10 |     RoundBracketBegin(NumWord),     // (
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 11 |     RoundBracketEnd(NumWord),       // )
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 12 |     SquareBracketBegin(NumWord),    // [
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 13 |     SquareBracketEnd(NumWord),      // ]
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 14 |     BlockBegin(NumWord),            // {
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 15 |     BlockEnd(NumWord),              // }
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 16 |     Dot(NumWord),                   // .
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 17 |     Comma(NumWord),                 // ,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 18 |     SemiColon(NumWord),             // ;
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 19 |     Asterisk(NumWord),              // *
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 20 |     Ampersand(NumWord),             // &
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 21 |     VerticalBar(NumWord),           // |
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 22 |     Caret(NumWord),                 // ^
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 23 |     Plus(NumWord),                  // +
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 24 |     Minus(NumWord),                 // -
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 25 |     Increment(NumWord),             // ++
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 26 |     Decrement(NumWord),             // --
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 27 |     Slash(NumWord),                 // /
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 28 |     BackSlash(NumWord),             // \
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 29 |     Equal(NumWord),                 // =
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 30 |     Mod(NumWord),                   // %
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 31 |     NotEqual(NumWord),              // !=
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 32 |     Greater(NumWord),               // >
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 33 |     GreaterEqual(NumWord),          // >=
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 34 |     Less(NumWord),                  // <
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 35 |     LessEqual(NumWord),             // <=
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 36 |     And(NumWord),                   // &&
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 37 |     Or(NumWord),                    // ||
[INFO] [stderr]    |     ^^
[INFO] [stderr] 38 |     Not(NumWord),                   // !
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 39 |     RightShift(NumWord),            // >>
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 40 |     LeftShift(NumWord),             // <<
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 41 |     PlusSet(NumWord),               // +=
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 42 |     MinusSet(NumWord),              // -=
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 43 |     MultiplySet(NumWord),           // *=
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 44 |     DivideSet(NumWord),             // /=
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 45 |     ModSet(NumWord),                // %=
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 46 |     AndSet(NumWord),                // &=
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 47 |     OrSet(NumWord),                 // |=
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 48 |     XorSet(NumWord),                // ^=
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 49 |     RightShiftSet(NumWord),         // >>=
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 50 |     LeftShiftSet(NumWord),          // <<=
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEC` is never used
[INFO] [stderr]   --> src/lexer.rs:87:7
[INFO] [stderr]    |
[INFO] [stderr] 87 | const DEC: [u8; 2] = [b'0', b'9'];
[INFO] [stderr]    |       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_integer` is never used
[INFO] [stderr]    --> src/lexer.rs:121:4
[INFO] [stderr]     |
[INFO] [stderr] 121 | fn is_integer(s: &str) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `nanoc` (lib) generated 8 warnings (run `cargo fix --lib -p nanoc` to apply 1 suggestion)
[INFO] [stderr] warning: `nanoc` (lib test) generated 8 warnings (8 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nanoc-d7d1dd55f95391ac)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/nanoc-ffc0ceb98d5c6bb2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests nanoc
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/preprocessor.rs:191:20
[INFO] [stderr]     |
[INFO] [stderr] 191 |                 if (current_conditional_tree.upgrade().unwrap().borrow().parent.is_none()) {
[INFO] [stderr]     |                    ^                                                                     ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 191 -                 if (current_conditional_tree.upgrade().unwrap().borrow().parent.is_none()) {
[INFO] [stderr] 191 +                 if current_conditional_tree.upgrade().unwrap().borrow().parent.is_none() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "52968be5cde028451e9ff8feedeae5ae51aba4976f81e57d92c24ddddf235bb9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52968be5cde028451e9ff8feedeae5ae51aba4976f81e57d92c24ddddf235bb9", kill_on_drop: false }`
[INFO] [stdout] 52968be5cde028451e9ff8feedeae5ae51aba4976f81e57d92c24ddddf235bb9
