[INFO] fetching crate expression_engine 0.7.0...
[INFO] testing expression_engine-0.7.0 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate expression_engine 0.7.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate expression_engine 0.7.0
[INFO] finished tweaking crates.io crate expression_engine 0.7.0
[INFO] tweaked toml for crates.io crate expression_engine 0.7.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate expression_engine 0.7.0 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 122 packages to latest compatible versions
[INFO] [stderr]       Adding criterion v0.5.1 (available: v0.8.1)
[INFO] [stderr]       Adding rstest v0.18.2 (available: v0.26.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rstest_macros v0.18.2
[INFO] [stderr]   Downloaded rstest v0.18.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cd689eae1e1a08e870253f7a21c2ff6b195c1c534d0c5c06b0aa0cbb5eef3411
[INFO] running `Command { std: "docker" "start" "-a" "cd689eae1e1a08e870253f7a21c2ff6b195c1c534d0c5c06b0aa0cbb5eef3411", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cd689eae1e1a08e870253f7a21c2ff6b195c1c534d0c5c06b0aa0cbb5eef3411", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd689eae1e1a08e870253f7a21c2ff6b195c1c534d0c5c06b0aa0cbb5eef3411", kill_on_drop: false }`
[INFO] [stdout] cd689eae1e1a08e870253f7a21c2ff6b195c1c534d0c5c06b0aa0cbb5eef3411
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ed9524bddbec6c98ea80097ec34a68e3f595e16604cb06f615d5dc9a8945076
[INFO] running `Command { std: "docker" "start" "-a" "1ed9524bddbec6c98ea80097ec34a68e3f595e16604cb06f615d5dc9a8945076", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rust_decimal v1.39.0
[INFO] [stderr]    Compiling expression_engine v0.7.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/error.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/parser.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/parser.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]    --> src/token.rs:196:11
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]    --> src/token.rs:203:11
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]    --> src/token.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |     #[cfg(not(tarpaulin_include))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/value.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `operators` is never used
[INFO] [stdout]    --> src/operator.rs:287:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl InfixOpManager {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn operators(&self) -> Vec<(String, i32)> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_open_bracket`, `is_open_brace`, and `is_colon` are never used
[INFO] [stdout]    --> src/token.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl<'input> Token<'input> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn is_open_bracket(self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn is_open_brace(self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn is_colon(self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BINARY` is never constructed
[INFO] [stdout]  --> src/descriptor.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum DescriptorKey {
[INFO] [stdout]   |      ------------- variant in this enum
[INFO] [stdout] 7 |     UNARY(String),
[INFO] [stdout] 8 |     BINARY(String),
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/descriptor.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum Descriptor {
[INFO] [stdout]    |      ---------- variants in this enum
[INFO] [stdout] 20 |     UNARY(Arc<UnaryDescriptor>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 21 |     BINARY(Arc<BinaryDescriptor>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 22 |     POSTFIX(Arc<PostfixDescriptor>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 23 |     TERNARY(Arc<TernaryDescriptor>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     FUNCTION(Arc<FunctionDescriptor>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     REFERENCE(Arc<ReferenceDescriptor>),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 26 |     LIST(Arc<ListDescriptor>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 27 |     MAP(Arc<MapDescriptor>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     CHAIN(Arc<ChainDescriptor>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Descriptor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/descriptor.rs:52:8
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl DescriptorManager {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn set(&mut self, key: DescriptorKey, value: Descriptor) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn set_unary_descriptor(&mut self, op: String, descriptor: Arc<UnaryDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn set_binary_descriptor(&mut self, op: String, descriptor: Arc<BinaryDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn set_postfix_descriptor(&mut self, op: String, descriptor: Arc<UnaryDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn set_ternary_descriptor(&mut self, descriptor: Arc<TernaryDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn set_function_descriptor(&mut self, name: String, descriptor: Arc<FunctionDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn set_reference_descriptor(&mut self, name: String, descriptor: Arc<ReferenceDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn set_list_descriptor(&mut self, descriptor: Arc<ListDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn set_map_descriptor(&mut self, descriptor: Arc<MapDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn set_chain_descriptor(&mut self, descriptor: Arc<ChainDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn parse_expression(expr: &str) -> Result<ExprAST> {
[INFO] [stdout]    |                               ^^^^            ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn parse_expression(expr: &str) -> Result<ExprAST<'_>> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:421:16
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn cur_tok(&self) -> Token {
[INFO] [stdout]     |                ^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn cur_tok(&self) -> Token<'_> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub fn next(&mut self) -> Result<Token> {
[INFO] [stdout]     |                 ^^^^^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub fn next(&mut self) -> Result<Token<'_>> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/tokenizer.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Tokenizer {
[INFO] [stdout]    |                       ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Tokenizer<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tokenizer.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn peek(&self) -> Result<Token> {
[INFO] [stdout]     |                 ^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn peek(&self) -> Result<Token<'_>> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.41s
[INFO] running `Command { std: "docker" "inspect" "1ed9524bddbec6c98ea80097ec34a68e3f595e16604cb06f615d5dc9a8945076", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ed9524bddbec6c98ea80097ec34a68e3f595e16604cb06f615d5dc9a8945076", kill_on_drop: false }`
[INFO] [stdout] 1ed9524bddbec6c98ea80097ec34a68e3f595e16604cb06f615d5dc9a8945076
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b5b679063f04e5cd33adff91e3bc6f9626ccd224ec2bdfd3a21a15dda32217ae
[INFO] running `Command { std: "docker" "start" "-a" "b5b679063f04e5cd33adff91e3bc6f9626ccd224ec2bdfd3a21a15dda32217ae", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling rstest_macros v0.18.2
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.32
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerocopy v0.8.32
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling rust_decimal v1.39.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling expression_engine v0.7.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rstest v0.18.2
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/error.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/parser.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/parser.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]    --> src/token.rs:196:11
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]    --> src/token.rs:203:11
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]    --> src/token.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |     #[cfg(not(tarpaulin_include))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/value.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `operators` is never used
[INFO] [stdout]    --> src/operator.rs:287:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl InfixOpManager {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn operators(&self) -> Vec<(String, i32)> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_open_bracket`, `is_open_brace`, and `is_colon` are never used
[INFO] [stdout]    --> src/token.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl<'input> Token<'input> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn is_open_bracket(self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn is_open_brace(self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn is_colon(self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BINARY` is never constructed
[INFO] [stdout]  --> src/descriptor.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum DescriptorKey {
[INFO] [stdout]   |      ------------- variant in this enum
[INFO] [stdout] 7 |     UNARY(String),
[INFO] [stdout] 8 |     BINARY(String),
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/descriptor.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum Descriptor {
[INFO] [stdout]    |      ---------- variants in this enum
[INFO] [stdout] 20 |     UNARY(Arc<UnaryDescriptor>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 21 |     BINARY(Arc<BinaryDescriptor>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 22 |     POSTFIX(Arc<PostfixDescriptor>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 23 |     TERNARY(Arc<TernaryDescriptor>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     FUNCTION(Arc<FunctionDescriptor>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     REFERENCE(Arc<ReferenceDescriptor>),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 26 |     LIST(Arc<ListDescriptor>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 27 |     MAP(Arc<MapDescriptor>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     CHAIN(Arc<ChainDescriptor>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Descriptor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/descriptor.rs:52:8
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl DescriptorManager {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn set(&mut self, key: DescriptorKey, value: Descriptor) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn set_unary_descriptor(&mut self, op: String, descriptor: Arc<UnaryDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn set_binary_descriptor(&mut self, op: String, descriptor: Arc<BinaryDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn set_postfix_descriptor(&mut self, op: String, descriptor: Arc<UnaryDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn set_ternary_descriptor(&mut self, descriptor: Arc<TernaryDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn set_function_descriptor(&mut self, name: String, descriptor: Arc<FunctionDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn set_reference_descriptor(&mut self, name: String, descriptor: Arc<ReferenceDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn set_list_descriptor(&mut self, descriptor: Arc<ListDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn set_map_descriptor(&mut self, descriptor: Arc<MapDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn set_chain_descriptor(&mut self, descriptor: Arc<ChainDescriptor>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn parse_expression(expr: &str) -> Result<ExprAST> {
[INFO] [stdout]    |                               ^^^^            ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn parse_expression(expr: &str) -> Result<ExprAST<'_>> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:421:16
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn cur_tok(&self) -> Token {
[INFO] [stdout]     |                ^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn cur_tok(&self) -> Token<'_> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub fn next(&mut self) -> Result<Token> {
[INFO] [stdout]     |                 ^^^^^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub fn next(&mut self) -> Result<Token<'_>> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/tokenizer.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Tokenizer {
[INFO] [stdout]    |                       ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Tokenizer<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tokenizer.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn peek(&self) -> Result<Token> {
[INFO] [stdout]     |                 ^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn peek(&self) -> Result<Token<'_>> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/error.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/parser.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/parser.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]    --> src/token.rs:196:11
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]    --> src/token.rs:203:11
[INFO] [stdout]     |
[INFO] [stdout] 203 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]    --> src/token.rs:178:15
[INFO] [stdout]     |
[INFO] [stdout] 178 |     #[cfg(not(tarpaulin_include))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stdout]   --> src/value.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[cfg(not(tarpaulin_include))]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/context.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         use std::sync::Arc;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:205:34
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let ans = execute(input, create_context!());
[INFO] [stdout]     |                                  ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/context.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         use std::sync::Arc;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:221:34
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let ans = execute(input, create_context!());
[INFO] [stdout]     |                                  ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/context.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         use std::sync::Arc;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:237:34
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let ans = execute(input, create_context!());
[INFO] [stdout]     |                                  ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/context.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         use std::sync::Arc;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:252:34
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let ans = execute(input, create_context!());
[INFO] [stdout]     |                                  ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/context.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut ctx = $crate::Context::new();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:205:34
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let ans = execute(input, create_context!());
[INFO] [stdout]     |                                  ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/context.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut ctx = $crate::Context::new();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:221:34
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let ans = execute(input, create_context!());
[INFO] [stdout]     |                                  ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/context.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut ctx = $crate::Context::new();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:237:34
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let ans = execute(input, create_context!());
[INFO] [stdout]     |                                  ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/context.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut ctx = $crate::Context::new();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:252:34
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let ans = execute(input, create_context!());
[INFO] [stdout]     |                                  ----------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_colon` is never used
[INFO] [stdout]    --> src/token.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl<'input> Token<'input> {
[INFO] [stdout]     | -------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn is_colon(self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn parse_expression(expr: &str) -> Result<ExprAST> {
[INFO] [stdout]    |                               ^^^^            ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn parse_expression(expr: &str) -> Result<ExprAST<'_>> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:421:16
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn cur_tok(&self) -> Token {
[INFO] [stdout]     |                ^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn cur_tok(&self) -> Token<'_> {
[INFO] [stdout]     |                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub fn next(&mut self) -> Result<Token> {
[INFO] [stdout]     |                 ^^^^^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub fn next(&mut self) -> Result<Token<'_>> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/tokenizer.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Tokenizer {
[INFO] [stdout]    |                       ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Tokenizer<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tokenizer.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn peek(&self) -> Result<Token> {
[INFO] [stdout]     |                 ^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn peek(&self) -> Result<Token<'_>> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 25.30s
[INFO] running `Command { std: "docker" "inspect" "b5b679063f04e5cd33adff91e3bc6f9626ccd224ec2bdfd3a21a15dda32217ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5b679063f04e5cd33adff91e3bc6f9626ccd224ec2bdfd3a21a15dda32217ae", kill_on_drop: false }`
[INFO] [stdout] b5b679063f04e5cd33adff91e3bc6f9626ccd224ec2bdfd3a21a15dda32217ae
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] aa332d0671b6c2a21c58cec9a0f4847f501b962748cc2d52280a14c796836535
[INFO] running `Command { std: "docker" "start" "-a" "aa332d0671b6c2a21c58cec9a0f4847f501b962748cc2d52280a14c796836535", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stderr]   --> src/error.rs:35:11
[INFO] [stderr]    |
[INFO] [stderr] 35 | #[cfg(not(tarpaulin_include))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stderr]   --> src/parser.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | #[cfg(not(tarpaulin_include))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stderr]   --> src/parser.rs:47:11
[INFO] [stderr]    |
[INFO] [stderr] 47 | #[cfg(not(tarpaulin_include))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stderr]    --> src/token.rs:196:11
[INFO] [stderr]     |
[INFO] [stderr] 196 | #[cfg(not(tarpaulin_include))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stderr]    --> src/token.rs:203:11
[INFO] [stderr]     |
[INFO] [stderr] 203 | #[cfg(not(tarpaulin_include))]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stderr]    --> src/token.rs:178:15
[INFO] [stderr]     |
[INFO] [stderr] 178 |     #[cfg(not(tarpaulin_include))]
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `tarpaulin_include`
[INFO] [stderr]   --> src/value.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[cfg(not(tarpaulin_include))]
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(tarpaulin_include)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: method `operators` is never used
[INFO] [stderr]    --> src/operator.rs:287:12
[INFO] [stderr]     |
[INFO] [stderr]  48 | impl InfixOpManager {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 287 |     pub fn operators(&self) -> Vec<(String, i32)> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_open_bracket`, `is_open_brace`, and `is_colon` are never used
[INFO] [stderr]    --> src/token.rs:112:12
[INFO] [stderr]     |
[INFO] [stderr] 103 | impl<'input> Token<'input> {
[INFO] [stderr]     | -------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 112 |     pub fn is_open_bracket(self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 |     pub fn is_open_brace(self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     pub fn is_colon(self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `BINARY` is never constructed
[INFO] [stderr]  --> src/descriptor.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | enum DescriptorKey {
[INFO] [stderr]   |      ------------- variant in this enum
[INFO] [stderr] 7 |     UNARY(String),
[INFO] [stderr] 8 |     BINARY(String),
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/descriptor.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | enum Descriptor {
[INFO] [stderr]    |      ---------- variants in this enum
[INFO] [stderr] 20 |     UNARY(Arc<UnaryDescriptor>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 21 |     BINARY(Arc<BinaryDescriptor>),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 22 |     POSTFIX(Arc<PostfixDescriptor>),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 23 |     TERNARY(Arc<TernaryDescriptor>),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 24 |     FUNCTION(Arc<FunctionDescriptor>),
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 25 |     REFERENCE(Arc<ReferenceDescriptor>),
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 26 |     LIST(Arc<ListDescriptor>),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 27 |     MAP(Arc<MapDescriptor>),
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 28 |     CHAIN(Arc<ChainDescriptor>),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Descriptor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/descriptor.rs:52:8
[INFO] [stderr]     |
[INFO] [stderr]  45 | impl DescriptorManager {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  52 |     fn set(&mut self, key: DescriptorKey, value: Descriptor) {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr]  66 |     pub fn set_unary_descriptor(&mut self, op: String, descriptor: Arc<UnaryDescriptor>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  84 |     pub fn set_binary_descriptor(&mut self, op: String, descriptor: Arc<BinaryDescriptor>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 102 |     pub fn set_postfix_descriptor(&mut self, op: String, descriptor: Arc<UnaryDescriptor>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 |     pub fn set_ternary_descriptor(&mut self, descriptor: Arc<TernaryDescriptor>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 138 |     pub fn set_function_descriptor(&mut self, name: String, descriptor: Arc<FunctionDescriptor>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 156 |     pub fn set_reference_descriptor(&mut self, name: String, descriptor: Arc<ReferenceDescriptor>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 174 |     pub fn set_list_descriptor(&mut self, descriptor: Arc<ListDescriptor>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 192 |     pub fn set_map_descriptor(&mut self, descriptor: Arc<MapDescriptor>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 210 |     pub fn set_chain_descriptor(&mut self, descriptor: Arc<ChainDescriptor>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/lib.rs:57:31
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub fn parse_expression(expr: &str) -> Result<ExprAST> {
[INFO] [stderr]    |                               ^^^^            ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                               |
[INFO] [stderr]    |                               the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub fn parse_expression(expr: &str) -> Result<ExprAST<'_>> {
[INFO] [stderr]    |                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser.rs:421:16
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn cur_tok(&self) -> Token {
[INFO] [stderr]     |                ^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                |
[INFO] [stderr]     |                the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn cur_tok(&self) -> Token<'_> {
[INFO] [stderr]     |                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser.rs:437:17
[INFO] [stderr]     |
[INFO] [stderr] 437 |     pub fn next(&mut self) -> Result<Token> {
[INFO] [stderr]     |                 ^^^^^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 437 |     pub fn next(&mut self) -> Result<Token<'_>> {
[INFO] [stderr]     |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/tokenizer.rs:18:23
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn new(input: &str) -> Tokenizer {
[INFO] [stderr]    |                       ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn new(input: &str) -> Tokenizer<'_> {
[INFO] [stderr]    |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/tokenizer.rs:139:17
[INFO] [stderr]     |
[INFO] [stderr] 139 |     pub fn peek(&self) -> Result<Token> {
[INFO] [stderr]     |                 ^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 139 |     pub fn peek(&self) -> Result<Token<'_>> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `expression_engine` (lib) generated 17 warnings (run `cargo fix --lib -p expression_engine` to apply 5 suggestions)
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]    --> src/context.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |         use std::sync::Arc;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:205:34
[INFO] [stderr]     |
[INFO] [stderr] 205 |         let ans = execute(input, create_context!());
[INFO] [stderr]     |                                  ----------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]    --> src/context.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |         use std::sync::Arc;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:221:34
[INFO] [stderr]     |
[INFO] [stderr] 221 |         let ans = execute(input, create_context!());
[INFO] [stderr]     |                                  ----------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]    --> src/context.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |         use std::sync::Arc;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:237:34
[INFO] [stderr]     |
[INFO] [stderr] 237 |         let ans = execute(input, create_context!());
[INFO] [stderr]     |                                  ----------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]    --> src/context.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |         use std::sync::Arc;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:252:34
[INFO] [stderr]     |
[INFO] [stderr] 252 |         let ans = execute(input, create_context!());
[INFO] [stderr]     |                                  ----------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/context.rs:102:13
[INFO] [stderr]     |
[INFO] [stderr] 102 |         let mut ctx = $crate::Context::new();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:205:34
[INFO] [stderr]     |
[INFO] [stderr] 205 |         let ans = execute(input, create_context!());
[INFO] [stderr]     |                                  ----------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/context.rs:102:13
[INFO] [stderr]     |
[INFO] [stderr] 102 |         let mut ctx = $crate::Context::new();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:221:34
[INFO] [stderr]     |
[INFO] [stderr] 221 |         let ans = execute(input, create_context!());
[INFO] [stderr]     |                                  ----------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/context.rs:102:13
[INFO] [stderr]     |
[INFO] [stderr] 102 |         let mut ctx = $crate::Context::new();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:237:34
[INFO] [stderr]     |
[INFO] [stderr] 237 |         let ans = execute(input, create_context!());
[INFO] [stderr]     |                                  ----------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/context.rs:102:13
[INFO] [stderr]     |
[INFO] [stderr] 102 |         let mut ctx = $crate::Context::new();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/lib.rs:252:34
[INFO] [stderr]     |
[INFO] [stderr] 252 |         let ans = execute(input, create_context!());
[INFO] [stderr]     |                                  ----------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `create_context` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_colon` is never used
[INFO] [stderr]    --> src/token.rs:132:12
[INFO] [stderr]     |
[INFO] [stderr] 103 | impl<'input> Token<'input> {
[INFO] [stderr]     | -------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 132 |     pub fn is_colon(self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `expression_engine` (lib test) generated 21 warnings (12 duplicates) (run `cargo fix --lib -p expression_engine --tests` to apply 8 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/expression_engine-867867d523bee6c5)
[INFO] [stdout] 
[INFO] [stdout] running 187 tests
[INFO] [stdout] test parser::tests::test_exec::case_01 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_02 ... ok
[INFO] [stdout] test operator::tetst::test_operators ... ok
[INFO] [stdout] test parser::tests::test_exec::case_03 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_05 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_06 ... ok
[INFO] [stdout] test descriptor::tests::test_register ... ok
[INFO] [stdout] test parser::tests::test_exec::case_07 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_08 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_09 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_04 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_11 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_10 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_13 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_12 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_16 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_17 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_21 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_24 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_26 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_29 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_30 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_18 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_33 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_14 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_31 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_19 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_32 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_28 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_20 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_37 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_41 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_38 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_25 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_39 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_40 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_34 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_36 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_46 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_35 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_47 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_48 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_45 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_49 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_43 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_50 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_44 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_56 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_59 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_57 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_58 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_15 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_60 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_61 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_42 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_51 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_22 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_54 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_53 ... ok
[INFO] [stdout] test parser::tests::test_execute_error::case_1 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_62 ... ok
[INFO] [stdout] test parser::tests::test_execute_error::case_2 ... ok
[INFO] [stdout] test parser::tests::test_execute_error::case_3 ... ok
[INFO] [stdout] test parser::tests::test_execute_error::case_4 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_01 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_02 ... ok
[INFO] [stdout] test parser::tests::test_execute_error::case_5 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_03 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_04 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_52 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_55 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_23 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_06 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_07 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_10 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_11 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_09 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_08 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_12 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_14 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_13 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_17 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_16 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_22 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_19 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_20 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression::case_02 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression::case_01 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_23 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression::case_04 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression::case_03 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression::case_05 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression::case_06 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_05 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_15 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_18 ... ok
[INFO] [stdout] test parser::tests::test_expression_expr::case_21 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression::case_07 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression::case_09 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression::case_08 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression::case_10 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression_error::case_1 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_binary::case_1 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_01 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_02 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_binary::case_2 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_03 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_binary::case_3 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_04 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_binary::case_4 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_05 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_07 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_06 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_08 ... ok
[INFO] [stdout] test parser::tests::test_parse_chain_expression_error::case_2 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_12 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_list::case_1 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_simple::case_1 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_list::case_2 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_13 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_14 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_simple::case_4 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_11 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_ternary::case_1 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_simple::case_6 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_simple::case_5 ... ok
[INFO] [stdout] test tests::test_parse_expression ... ok
[INFO] [stdout] test tests::test_register_function ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_10 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_error::case_09 ... ok
[INFO] [stdout] test tests::test_execute ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_simple::case_2 ... ok
[INFO] [stdout] test parser::tests::test_parse_expression_simple::case_3 ... ok
[INFO] [stdout] test tests::test_register_infix_op ... ok
[INFO] [stdout] test tests::test_register_postfix_op ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_char::case_2 ... ok
[INFO] [stdout] test tests::test_register_prefix_op ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_char::case_4 ... ok
[INFO] [stdout] test parser::tests::test_exec::case_27 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_char::case_5 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_str::case_1 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_char::case_1 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_char::case_6 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_str::case_3 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_char::case_7 ... ok
[INFO] [stdout] test token::tests::test_is_open_brace::case_2 ... ok
[INFO] [stdout] test token::tests::test_is_open_bracket::case_1 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_str::case_6 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_str::case_4 ... ok
[INFO] [stdout] test token::tests::test_is_open_bracket::case_2 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_char::case_3 ... ok
[INFO] [stdout] test token::tests::test_is_open_paren::case_3 ... ok
[INFO] [stdout] test token::tests::test_is_open_paren::case_2 ... ok
[INFO] [stdout] test token::tests::test_is_open_bracket::case_3 ... ok
[INFO] [stdout] test token::tests::test_is_open_brace::case_3 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_str::case_2 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_str::case_5 ... ok
[INFO] [stdout] test token::tests::test_delim_token_type_from_str::case_7 ... ok
[INFO] [stdout] test token::tests::test_is_open_paren::case_1 ... ok
[INFO] [stdout] test tokenizer::tests::test_bool::case_3 ... ok
[INFO] [stdout] test tokenizer::tests::test_bool::case_2 ... ok
[INFO] [stdout] test tokenizer::tests::test_delim::case_1 ... ok
[INFO] [stdout] test tokenizer::tests::test_bool::case_4 ... ok
[INFO] [stdout] test tokenizer::tests::test_delim::case_4 ... ok
[INFO] [stdout] test tokenizer::tests::test_delim::case_2 ... ok
[INFO] [stdout] test tokenizer::tests::test_delim::case_5 ... ok
[INFO] [stdout] test tokenizer::tests::test_delim::case_3 ... ok
[INFO] [stdout] test token::tests::test_is_open_brace::case_1 ... ok
[INFO] [stdout] test tokenizer::tests::test_bool::case_1 ... ok
[INFO] [stdout] test tokenizer::tests::test_err::case_1 ... ok
[INFO] [stdout] test tokenizer::tests::test_other::case_1 ... ok
[INFO] [stdout] test tokenizer::tests::test_other::case_3 ... ok
[INFO] [stdout] test tokenizer::tests::test_other::case_2 ... ok
[INFO] [stdout] test tokenizer::tests::test_other::case_5 ... ok
[INFO] [stdout] test tokenizer::tests::test_other::case_4 ... ok
[INFO] [stdout] test tokenizer::tests::test_reference_function::case_2 ... ok
[INFO] [stdout] test tokenizer::tests::test_reference_function::case_1 ... ok
[INFO] [stdout] test tokenizer::tests::test_number::case_1 ... ok
[INFO] [stdout] test tokenizer::tests::test_other::case_7 ... ok
[INFO] [stdout] test tokenizer::tests::test_string::case_2 ... ok
[INFO] [stdout] test tokenizer::tests::test_delim::case_6 ... ok
[INFO] [stdout] test tokenizer::tests::test_err::case_2 ... ok
[INFO] [stdout] test tokenizer::tests::test_number::case_2 ... ok
[INFO] [stdout] test tokenizer::tests::test_other::case_8 ... ok
[INFO] [stdout] test tokenizer::tests::test_other::case_6 ... ok
[INFO] [stdout] test tokenizer::tests::test_reference_function::case_3 ... ok
[INFO] [stderr]    Doc-tests expression_engine
[INFO] [stdout] test tokenizer::tests::test_string::case_1 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 187 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test src/lib.rs - register_prefix_op (line 85) ... ok
[INFO] [stdout] test src/lib.rs - register_postfix_op (line 111) ... ok
[INFO] [stdout] test src/lib.rs - execute (line 32) ... ok
[INFO] [stdout] test src/lib.rs - parse_expression (line 51) ... ok
[INFO] [stdout] test src/lib.rs - register_infix_op (line 137) ... ok
[INFO] [stdout] test src/context.rs - context::create_context (line 69) ... ok
[INFO] [stdout] test src/lib.rs - register_function (line 66) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.64s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "aa332d0671b6c2a21c58cec9a0f4847f501b962748cc2d52280a14c796836535", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa332d0671b6c2a21c58cec9a0f4847f501b962748cc2d52280a14c796836535", kill_on_drop: false }`
[INFO] [stdout] aa332d0671b6c2a21c58cec9a0f4847f501b962748cc2d52280a14c796836535
