[INFO] cloning repository https://github.com/EthanLuisMcDonough/calculator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/EthanLuisMcDonough/calculator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEthanLuisMcDonough%2Fcalculator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEthanLuisMcDonough%2Fcalculator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e7bc8b8f4bef97166353598922d88224212a204e
[INFO] testing EthanLuisMcDonough/calculator against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEthanLuisMcDonough%2Fcalculator" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/EthanLuisMcDonough/calculator
[INFO] finished tweaking git repo https://github.com/EthanLuisMcDonough/calculator
[INFO] tweaked toml for git repo https://github.com/EthanLuisMcDonough/calculator written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/EthanLuisMcDonough/calculator on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/EthanLuisMcDonough/calculator already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 22f06e4aec95d9fb4b7f085dcffc5f1a918e0d1fd13ce2d24203993a3df10f92
[INFO] running `Command { std: "docker" "start" "-a" "22f06e4aec95d9fb4b7f085dcffc5f1a918e0d1fd13ce2d24203993a3df10f92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22f06e4aec95d9fb4b7f085dcffc5f1a918e0d1fd13ce2d24203993a3df10f92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22f06e4aec95d9fb4b7f085dcffc5f1a918e0d1fd13ce2d24203993a3df10f92", kill_on_drop: false }`
[INFO] [stdout] 22f06e4aec95d9fb4b7f085dcffc5f1a918e0d1fd13ce2d24203993a3df10f92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e294d537d252630d394e3daf76f15185fbeb6aba99e01c6c07932d780ddc0792
[INFO] running `Command { std: "docker" "start" "-a" "e294d537d252630d394e3daf76f15185fbeb6aba99e01c6c07932d780ddc0792", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling pkg-config v0.3.14
[INFO] [stderr]    Compiling libc v0.2.43
[INFO] [stderr]    Compiling version_check v0.1.4
[INFO] [stderr]    Compiling bitflags v1.0.4
[INFO] [stderr]    Compiling gio v0.5.0
[INFO] [stderr]    Compiling gdk-pixbuf v0.5.0
[INFO] [stderr]    Compiling fragile v0.3.0
[INFO] [stderr]    Compiling cairo-rs v0.5.0
[INFO] [stderr]    Compiling gdk v0.9.0
[INFO] [stderr]    Compiling gtk v0.5.0
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]    Compiling glib-sys v0.7.0
[INFO] [stderr]    Compiling gobject-sys v0.7.0
[INFO] [stderr]    Compiling gio-sys v0.7.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.7.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.7.0
[INFO] [stderr]    Compiling pango-sys v0.7.0
[INFO] [stderr]    Compiling gdk-sys v0.7.0
[INFO] [stderr]    Compiling atk-sys v0.7.0
[INFO] [stderr]    Compiling gtk-sys v0.7.0
[INFO] [stderr]    Compiling glib v0.6.0
[INFO] [stderr]    Compiling pango v0.5.0
[INFO] [stderr]    Compiling calculator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lex.rs:262:16
[INFO] [stdout]     |
[INFO] [stdout] 262 |             '0'...'9' => self.parts[self.ind].push(c),
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lex.rs:403:16
[INFO] [stdout]     |
[INFO] [stdout] 403 |             'a'...'z' | '_' => self.inner.push(c),
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lex.rs:440:20
[INFO] [stdout]     |
[INFO] [stdout] 440 |                 '0'...'9' if !last_is_num => Some(Box::new(NumberBuilder::new())),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lex.rs:445:20
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 'a'...'z' | '_' => Some(Box::new(VariableBuilder::new())),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/mod.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Function(Box<Fn(f64, AngleMode) -> f64 + Send + Sync>),
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Function(Box<dyn Fn(f64, AngleMode) -> f64 + Send + Sync>),
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/lex.rs:422:37
[INFO] [stdout]     |
[INFO] [stdout] 422 |     let mut pending_num: Option<Box<TokenBuilder>> = None;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 422 |     let mut pending_num: Option<Box<dyn TokenBuilder>> = None;
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.08s
[INFO] running `Command { std: "docker" "inspect" "e294d537d252630d394e3daf76f15185fbeb6aba99e01c6c07932d780ddc0792", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e294d537d252630d394e3daf76f15185fbeb6aba99e01c6c07932d780ddc0792", kill_on_drop: false }`
[INFO] [stdout] e294d537d252630d394e3daf76f15185fbeb6aba99e01c6c07932d780ddc0792
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8043ef68b6c432e255b940dc87cd8637e0f39f84f0c0c928faf2c416f61464a4
[INFO] running `Command { std: "docker" "start" "-a" "8043ef68b6c432e255b940dc87cd8637e0f39f84f0c0c928faf2c416f61464a4", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling calculator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lex.rs:262:16
[INFO] [stdout]     |
[INFO] [stdout] 262 |             '0'...'9' => self.parts[self.ind].push(c),
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lex.rs:403:16
[INFO] [stdout]     |
[INFO] [stdout] 403 |             'a'...'z' | '_' => self.inner.push(c),
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lex.rs:440:20
[INFO] [stdout]     |
[INFO] [stdout] 440 |                 '0'...'9' if !last_is_num => Some(Box::new(NumberBuilder::new())),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser/lex.rs:445:20
[INFO] [stdout]     |
[INFO] [stdout] 445 |                 'a'...'z' | '_' => Some(Box::new(VariableBuilder::new())),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/mod.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Function(Box<Fn(f64, AngleMode) -> f64 + Send + Sync>),
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Function(Box<dyn Fn(f64, AngleMode) -> f64 + Send + Sync>),
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/lex.rs:422:37
[INFO] [stdout]     |
[INFO] [stdout] 422 |     let mut pending_num: Option<Box<TokenBuilder>> = None;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 422 |     let mut pending_num: Option<Box<dyn TokenBuilder>> = None;
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.38s
[INFO] running `Command { std: "docker" "inspect" "8043ef68b6c432e255b940dc87cd8637e0f39f84f0c0c928faf2c416f61464a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8043ef68b6c432e255b940dc87cd8637e0f39f84f0c0c928faf2c416f61464a4", kill_on_drop: false }`
[INFO] [stdout] 8043ef68b6c432e255b940dc87cd8637e0f39f84f0c0c928faf2c416f61464a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d85bf2108dab83be957d0f44d7f5e1e657b54d4d03c641c476a8b71748edd841
[INFO] running `Command { std: "docker" "start" "-a" "d85bf2108dab83be957d0f44d7f5e1e657b54d4d03c641c476a8b71748edd841", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/parser/lex.rs:262:16
[INFO] [stderr]     |
[INFO] [stderr] 262 |             '0'...'9' => self.parts[self.ind].push(c),
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/parser/lex.rs:403:16
[INFO] [stderr]     |
[INFO] [stderr] 403 |             'a'...'z' | '_' => self.inner.push(c),
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/parser/lex.rs:440:20
[INFO] [stderr]     |
[INFO] [stderr] 440 |                 '0'...'9' if !last_is_num => Some(Box::new(NumberBuilder::new())),
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/parser/lex.rs:445:20
[INFO] [stderr]     |
[INFO] [stderr] 445 |                 'a'...'z' | '_' => Some(Box::new(VariableBuilder::new())),
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/parser/mod.rs:95:18
[INFO] [stderr]    |
[INFO] [stderr] 95 |     Function(Box<Fn(f64, AngleMode) -> f64 + Send + Sync>),
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 95 |     Function(Box<dyn Fn(f64, AngleMode) -> f64 + Send + Sync>),
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/parser/lex.rs:422:37
[INFO] [stderr]     |
[INFO] [stderr] 422 |     let mut pending_num: Option<Box<TokenBuilder>> = None;
[INFO] [stderr]     |                                     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 422 |     let mut pending_num: Option<Box<dyn TokenBuilder>> = None;
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: `calculator` (bin "calculator" test) generated 6 warnings (run `cargo fix --bin "calculator" -p calculator --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/calculator-ae85b42357122917)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test parser::tests::eval_radian_mode ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d85bf2108dab83be957d0f44d7f5e1e657b54d4d03c641c476a8b71748edd841", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d85bf2108dab83be957d0f44d7f5e1e657b54d4d03c641c476a8b71748edd841", kill_on_drop: false }`
[INFO] [stdout] d85bf2108dab83be957d0f44d7f5e1e657b54d4d03c641c476a8b71748edd841
