[INFO] fetching crate rsc 2.0.0...
[INFO] testing rsc-2.0.0 against 1.54.0 for beta-1.55-1
[INFO] extracting crate rsc 2.0.0 into /workspace/builds/worker-1/source
[INFO] validating manifest of crates.io crate rsc 2.0.0 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rsc 2.0.0
[INFO] finished tweaking crates.io crate rsc 2.0.0
[INFO] tweaked toml for crates.io crate rsc 2.0.0 written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 01c119058ca0360c60e47ff024279d97da6ab563d54178d0af67badc940815ff
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "01c119058ca0360c60e47ff024279d97da6ab563d54178d0af67badc940815ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "01c119058ca0360c60e47ff024279d97da6ab563d54178d0af67badc940815ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "01c119058ca0360c60e47ff024279d97da6ab563d54178d0af67badc940815ff", kill_on_drop: false }`
[INFO] [stdout] 01c119058ca0360c60e47ff024279d97da6ab563d54178d0af67badc940815ff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 51d8a837dda09f0cc12314f6f2a33a76c73ae7705639fdd96a3da87a742001d3
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "51d8a837dda09f0cc12314f6f2a33a76c73ae7705639fdd96a3da87a742001d3", kill_on_drop: false }`
[INFO] [stderr]    Compiling rsc v2.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/computer.rs:70:40
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub functions: HashMap<String, &'a Fn(T) -> T>,
[INFO] [stdout]    |                                        ^^^^^^^^^^ help: use `dyn`: `dyn Fn(T) -> T`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/computer.rs:83:53
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 let mut map = HashMap::<String, &'a Fn(f64) -> f64>::new();
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.21s
[INFO] running `Command { std: "docker" "inspect" "51d8a837dda09f0cc12314f6f2a33a76c73ae7705639fdd96a3da87a742001d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51d8a837dda09f0cc12314f6f2a33a76c73ae7705639fdd96a3da87a742001d3", kill_on_drop: false }`
[INFO] [stdout] 51d8a837dda09f0cc12314f6f2a33a76c73ae7705639fdd96a3da87a742001d3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ef6d2529c10251591571cf24eb87a8ab531bb6f8fa82d4e8b1107f15c88dcb3d
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ef6d2529c10251591571cf24eb87a8ab531bb6f8fa82d4e8b1107f15c88dcb3d", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/computer.rs:70:40
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub functions: HashMap<String, &'a Fn(T) -> T>,
[INFO] [stdout]    |                                        ^^^^^^^^^^ help: use `dyn`: `dyn Fn(T) -> T`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rsc v2.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/computer.rs:83:53
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 let mut map = HashMap::<String, &'a Fn(f64) -> f64>::new();
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/computer.rs:70:40
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub functions: HashMap<String, &'a Fn(T) -> T>,
[INFO] [stdout]    |                                        ^^^^^^^^^^ help: use `dyn`: `dyn Fn(T) -> T`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/computer.rs:83:53
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 let mut map = HashMap::<String, &'a Fn(f64) -> f64>::new();
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.74s
[INFO] running `Command { std: "docker" "inspect" "ef6d2529c10251591571cf24eb87a8ab531bb6f8fa82d4e8b1107f15c88dcb3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef6d2529c10251591571cf24eb87a8ab531bb6f8fa82d4e8b1107f15c88dcb3d", kill_on_drop: false }`
[INFO] [stdout] ef6d2529c10251591571cf24eb87a8ab531bb6f8fa82d4e8b1107f15c88dcb3d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 571aa624ca798479e0bd4a428a569202a27fa9c4e4ede9acb057ee518f897dda
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "571aa624ca798479e0bd4a428a569202a27fa9c4e4ede9acb057ee518f897dda", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/computer.rs:70:40
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub functions: HashMap<String, &'a Fn(T) -> T>,
[INFO] [stderr]    |                                        ^^^^^^^^^^ help: use `dyn`: `dyn Fn(T) -> T`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/computer.rs:83:53
[INFO] [stderr]    |
[INFO] [stderr] 83 |                 let mut map = HashMap::<String, &'a Fn(f64) -> f64>::new();
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/computer.rs:70:40
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub functions: HashMap<String, &'a Fn(T) -> T>,
[INFO] [stderr]    |                                        ^^^^^^^^^^ help: use `dyn`: `dyn Fn(T) -> T`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/computer.rs:83:53
[INFO] [stderr]    |
[INFO] [stderr] 83 |                 let mut map = HashMap::<String, &'a Fn(f64) -> f64>::new();
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(f64) -> f64`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/rsc-b8676a169e572b14)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rsc
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test src/lib.rs - (line 65) ... FAILED
[INFO] [stdout] test src/lib.rs - eval (line 110) ... FAILED
[INFO] [stdout] test src/lexer.rs - lexer::tokenize (line 40) ... FAILED
[INFO] [stdout] test src/computer.rs - computer::Computer (line 54) ... FAILED
[INFO] [stdout] test src/computer.rs - computer::Computer::compute (line 177) ... FAILED
[INFO] [stdout] test src/parser.rs - parser::Expr<T>::replace (line 30) ... FAILED
[INFO] [stdout] test src/lib.rs - eval (line 116) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 29) ... ok
[INFO] [stdout] test src/lib.rs - (line 10) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - (line 65) stdout ----
[INFO] [stdout] error[E0585]: found a documentation comment that doesn't document anything
[INFO] [stdout]  --> src/lib.rs:67:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | /// ... using the computer
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: doc comments must come before what they document, maybe a comment was intended with `//`?
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Computer`
[INFO] [stdout]  --> src/lib.rs:66:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | let mut c = Computer::new();
[INFO] [stdout]   |             ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rsc::computer::Computer;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0585.
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - eval (line 110) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Computer`
[INFO] [stdout]  --> src/lib.rs:111:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | let mut computer = Computer::<f64>::default();
[INFO] [stdout]   |                    ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rsc::computer::Computer;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lexer.rs - lexer::tokenize (line 40) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `rsc::tokenize`
[INFO] [stdout]  --> src/lexer.rs:41:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rsc::tokenize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^ no `tokenize` in the root
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Operator`
[INFO] [stdout]  --> src/lexer.rs:43:69
[INFO] [stdout]   |
[INFO] [stdout] 6 | assert_eq!(tokens.as_slice(), &[Token::Number(2.0), Token::Operator(Operator::Plus), Token::Number(2.0)]);
[INFO] [stdout]   |                                                                     ^^^^^^^^ use of undeclared type `Operator`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Token`
[INFO] [stdout]  --> src/lexer.rs:43:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | assert_eq!(tokens.as_slice(), &[Token::Number(2.0), Token::Operator(Operator::Plus), Token::Number(2.0)]);
[INFO] [stdout]   |                                 ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rsc::lexer::Token;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Token`
[INFO] [stdout]  --> src/lexer.rs:43:53
[INFO] [stdout]   |
[INFO] [stdout] 6 | assert_eq!(tokens.as_slice(), &[Token::Number(2.0), Token::Operator(Operator::Plus), Token::Number(2.0)]);
[INFO] [stdout]   |                                                     ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rsc::lexer::Token;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Token`
[INFO] [stdout]  --> src/lexer.rs:43:86
[INFO] [stdout]   |
[INFO] [stdout] 6 | assert_eq!(tokens.as_slice(), &[Token::Number(2.0), Token::Operator(Operator::Plus), Token::Number(2.0)]);
[INFO] [stdout]   |                                                                                      ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rsc::lexer::Token;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/computer.rs - computer::Computer (line 54) stdout ----
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied
[INFO] [stdout]   --> src/computer.rs:60:20
[INFO] [stdout]    |
[INFO] [stdout] 9  | let mut computer = Computer::new(std::f64::consts::PI, std::f64::consts::E);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^ --------------------  ------------------- supplied 2 arguments
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected 0 arguments
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/computer.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn new() -> Computer<'a, T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 2 arguments were supplied
[INFO] [stdout]   --> src/computer.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | Computer::new(std::f64::consts::PI, std::f64::consts::E).eval("a");
[INFO] [stdout]    | ^^^^^^^^^^^^^ --------------------  ------------------- supplied 2 arguments
[INFO] [stdout]    | |
[INFO] [stdout]    | expected 0 arguments
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/computer.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn new() -> Computer<'a, T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/computer.rs - computer::Computer::compute (line 177) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `parse` in this scope
[INFO] [stdout]  --> src/computer.rs:178:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | let ast = parse(/*...*/);
[INFO] [stdout]   |           ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rsc::parser::parse;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Computer`
[INFO] [stdout]  --> src/computer.rs:179:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | let mut computer = Computer::<f64>::default();
[INFO] [stdout]   |                    ^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rsc::computer::Computer;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser.rs - parser::Expr<T>::replace (line 30) stdout ----
[INFO] [stdout] error: mismatched closing delimiter: `}`
[INFO] [stdout]   --> src/parser.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_parser_rs_30_0() {
[INFO] [stdout]    |                                                                            - closing delimiter possibly meant for this
[INFO] [stdout] ...
[INFO] [stdout] 13 | assert_eq!(Computer::new(std::f64::consts::PI, std::f64::consts::E).compute(&ast), Ok(1600.0);
[INFO] [stdout]    |           - unclosed delimiter
[INFO] [stdout] 14 | } _doctest_main_src_parser_rs_30_0() }
[INFO] [stdout]    | ^ mismatched closing delimiter
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `;`
[INFO] [stdout]   --> src/parser.rs:40:94
[INFO] [stdout]    |
[INFO] [stdout] 13 | assert_eq!(Computer::new(std::f64::consts::PI, std::f64::consts::E).compute(&ast), Ok(1600.0);
[INFO] [stdout]    |                                                                                              ^
[INFO] [stdout]    |                                                                                              |
[INFO] [stdout]    |                                                                                              no rules expected this token in macro call
[INFO] [stdout]    |                                                                                              help: missing comma here
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `lexer`
[INFO] [stdout]  --> src/parser.rs:36:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | let tokens = lexer::tokenize("x^2 * 4").unwrap();
[INFO] [stdout]   |              ^^^^^ use of undeclared crate or module `lexer`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `parser`
[INFO] [stdout]   --> src/parser.rs:38:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | let mut ast = parser::parse(&tokens).unwrap();
[INFO] [stdout]    |               ^^^^^^ use of undeclared crate or module `parser`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `parser`
[INFO] [stdout]   --> src/parser.rs:37:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | let replacement = parser::Expr::Constant(20.);
[INFO] [stdout]    |                           ^^^^ not found in `parser`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 3  | use rsc::parser::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `parser`
[INFO] [stdout]   --> src/parser.rs:39:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | ast.replace(&parser::Expr::Identifier(String::from("x")), &replacement, false);
[INFO] [stdout]    |                      ^^^^ not found in `parser`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 3  | use rsc::parser::Expr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - eval (line 116) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 5   | assert!(eval("3.1 + 2.2").unwrap() == 5.3);
[INFO] [stdout]     |         ^^^^----------------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this method call resolves to `T`
[INFO] [stdout]     |         cannot infer type for type parameter `T` declared on the function `eval`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/workdir/src/lib.rs:120:16
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn eval<T: std::fmt::Debug>(input: &str) -> Result<T, EvalError<T>> where T: Num + std::str::FromStr + Clone + PartialOrd + Neg<Outpu...
[INFO] [stdout]     |                --------------- required by this bound in `eval`
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: Debug`
[INFO] [stdout] help: consider specifying the type argument in the function call
[INFO] [stdout]     |
[INFO] [stdout] 5   | assert!(eval::<T>("3.1 + 2.2").unwrap() == 5.3);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/computer.rs - computer::Computer (line 54)
[INFO] [stdout]     src/computer.rs - computer::Computer::compute (line 177)
[INFO] [stdout]     src/lexer.rs - lexer::tokenize (line 40)
[INFO] [stdout]     src/lib.rs - (line 65)
[INFO] [stdout]     src/lib.rs - eval (line 110)
[INFO] [stdout]     src/lib.rs - eval (line 116)
[INFO] [stdout]     src/parser.rs - parser::Expr<T>::replace (line 30)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 7 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.40s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--doc'
[INFO] running `Command { std: "docker" "inspect" "571aa624ca798479e0bd4a428a569202a27fa9c4e4ede9acb057ee518f897dda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "571aa624ca798479e0bd4a428a569202a27fa9c4e4ede9acb057ee518f897dda", kill_on_drop: false }`
[INFO] [stdout] 571aa624ca798479e0bd4a428a569202a27fa9c4e4ede9acb057ee518f897dda
