[INFO] cloning repository https://github.com/Jellonator/Emailang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jellonator/Emailang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJellonator%2FEmailang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJellonator%2FEmailang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 374f1f91e1fdf4cd13a8ef4dd243e52709a7650a
[INFO] testing Jellonator/Emailang/374f1f91e1fdf4cd13a8ef4dd243e52709a7650a against nightly-2024-10-28+rustflags=-Zrandomize-layout for randomize-layout
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJellonator%2FEmailang" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Jellonator/Emailang on toolchain nightly-2024-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Jellonator/Emailang
[INFO] finished tweaking git repo https://github.com/Jellonator/Emailang
[INFO] tweaked toml for git repo https://github.com/Jellonator/Emailang written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Jellonator/Emailang 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" "+nightly-2024-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libc v0.2.16
[INFO] [stderr]   Downloaded regex-syntax v0.3.5
[INFO] [stderr]   Downloaded regex v0.1.77
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6750f4007385638850b55157eac15faea6cee420f002812fedaf5e3fa49fff22
[INFO] running `Command { std: "docker" "start" "-a" "6750f4007385638850b55157eac15faea6cee420f002812fedaf5e3fa49fff22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6750f4007385638850b55157eac15faea6cee420f002812fedaf5e3fa49fff22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6750f4007385638850b55157eac15faea6cee420f002812fedaf5e3fa49fff22", kill_on_drop: false }`
[INFO] [stdout] 6750f4007385638850b55157eac15faea6cee420f002812fedaf5e3fa49fff22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Zrandomize-layout" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0cded482d6473d24b9b898fda220d9f310c3f743279fbec5905b5a1a8c98626a
[INFO] running `Command { std: "docker" "start" "-a" "0cded482d6473d24b9b898fda220d9f310c3f743279fbec5905b5a1a8c98626a", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling libc v0.2.16
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling regex-syntax v0.3.5
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling regex v0.1.77
[INFO] [stderr]    Compiling emailang v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:136:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     Box::new(try!(symbolparser::parse_type(&a.0))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     Box::new(try!(symbolparser::parse_type(&b.0)))
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...                   Box::new(try!(symbolparser::parse_expression(&v,
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:150:20
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   tuple.push(try!(symdef.get_type()));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:157:36
[INFO] [stdout]     |
[INFO] [stdout] 157 |                         Ok(Type::Expression(Box::new(try!(symbolparser::parse_expression(&val.0,
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:161:10
[INFO] [stdout]     |
[INFO] [stdout] 161 |                         Ok(try!(try!(val.0.get(0)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:161:15
[INFO] [stdout]     |
[INFO] [stdout] 161 |                         Ok(try!(try!(val.0.get(0)
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/symbolparser.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |     for chunk in try!(split_semicolon(block)) {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/symbolparser.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |         ret.push((name.clone(), try!(parse_symbols(&block.0))));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout] 108 |                         cond: Some(try!(parse_type(&exp))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         block: try!(parse_symbols(&curlybracket)),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:115:18
[INFO] [stdout]     |
[INFO] [stdout] 115 |                         cond: Some(try!(parse_type(&exp))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:116:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |                         block: try!(parse_symbols(&curlybracket)),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |                     block: try!(parse_symbols(&curlybracket)),
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 |             try!(parse_expression(symbols, SyntaxErrorFactory::from_symbols(symbols)))))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:148:3
[INFO] [stdout]     |
[INFO] [stdout] 148 |         try!(symbols[0].get_type())
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let (pre, mid, post) = try!(split_expression(symbols, errfact.clone()));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:156:15
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let preval = try!(parse_type(pre));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:157:16
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let postval = try!(parse_type(post));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:170:59
[INFO] [stdout]     |
[INFO] [stdout] 170 |         Symbol::Index(ref pos) => Ok(Instruction::Index(preval, try!(parse_type(&pos.0)))),
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     Some(ref val) => Some(try!(parse_type(&val.0))),
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:178:28
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     Some(ref val) => Some(try!(parse_type(&val.0))),
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:189:15
[INFO] [stdout]     |
[INFO] [stdout] 189 |     for chunk in try!(split_semicolon(symbols)) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 | ...                   try!(parse_user_block(&block.0))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:215:7
[INFO] [stdout]     |
[INFO] [stdout] 215 |                         try!(parse_type(&name.0)),
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:216:7
[INFO] [stdout]     |
[INFO] [stdout] 216 |                         try!(parse_type(&server.0)),
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:220:32
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     Instruction::CreateServer(try!(parse_type(&chunk)))
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 |             try!(parse_ifblock(&chunk))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 |             try!(parse_expression(&chunk, SyntaxErrorFactory::from_symbols(&chunk)))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:152:15
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let pos = try!(codechars_find(&path, '@').ok_or(SyntaxError::new(
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     symbols::Block(try!(parse_code(&a))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:159:21
[INFO] [stdout]     |
[INFO] [stdout] 159 |                     symbols::Block(try!(parse_code(&b[1..])))
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:164:40
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 Symbol::CurlyBraced(symbols::Block(try!(parse_code(&block))))
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:168:40
[INFO] [stdout]     |
[INFO] [stdout] 168 |                 Symbol::Parenthesis(symbols::Block(try!(parse_code(&block))))
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...                   try!(parse_code(&indexcontents))))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:184:33
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...                   _ => Some(symbols::Block(try!(parse_code(val1))))
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 | ...                   _ => Some(symbols::Block(try!(parse_code(val2))))
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]  --> src/parser/mod.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 |     symbolparser::parse_symbols(&try!(textparser::parse_text(&code)))
[INFO] [stdout]   |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/modifier.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 |   pub type ModifierFunc = Fn(&Type, &mut Interpreter, &UserPath,
[INFO] [stdout]   |  _________________________^
[INFO] [stdout] 8 | |                            &mut Environment, &[Type]) -> Option<Type>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type ModifierFunc = dyn Fn(&Type, &mut Interpreter, &UserPath,
[INFO] [stdout]   |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/user.rs:124:24
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub type UserExtFunc = Fn(&User, &mut Interpreter, &Mail);
[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/nightly/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] 124 | pub type UserExtFunc = dyn Fn(&User, &mut Interpreter, &Mail);
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/interpreter/std/stdio.rs:26:48
[INFO] [stdout]    |
[INFO] [stdout] 26 |             mail.return_mail(inter, &mail.message, line.trim_right(), Vec::new());
[INFO] [stdout]    |                                                         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 26 |             mail.return_mail(inter, &mail.message, line.trim_end(), Vec::new());
[INFO] [stdout]    |                                                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:26:59
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Err(err) => panic!("couldn't open {}: {}", display, err.description())
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:31:59
[INFO] [stdout]    |
[INFO] [stdout] 31 |         Err(why) => panic!("couldn't read {}: {}", display, why.description()),
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
[INFO] [stdout]   --> src/main.rs:42:20
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     let ltrim = s.trim_left();
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     let ltrim = s.trim_start();
[INFO] [stdout]    |                                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interpreter/mod.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut serv = match self.get_server(&tserver) {
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interpreter/mod.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut user = match serv.get_user_mut(&tuser) {
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interpreter/mod.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let mut serv = self.get_server(&def.1).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.52s
[INFO] running `Command { std: "docker" "inspect" "0cded482d6473d24b9b898fda220d9f310c3f743279fbec5905b5a1a8c98626a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0cded482d6473d24b9b898fda220d9f310c3f743279fbec5905b5a1a8c98626a", kill_on_drop: false }`
[INFO] [stdout] 0cded482d6473d24b9b898fda220d9f310c3f743279fbec5905b5a1a8c98626a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Zrandomize-layout" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1b772d0f7368550955023454dcd6c990a554d24f4135a6d500f3f5ae5bee128f
[INFO] running `Command { std: "docker" "start" "-a" "1b772d0f7368550955023454dcd6c990a554d24f4135a6d500f3f5ae5bee128f", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]    Compiling emailang v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:136:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |                     Box::new(try!(symbolparser::parse_type(&a.0))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     Box::new(try!(symbolparser::parse_type(&b.0)))
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...                   Box::new(try!(symbolparser::parse_expression(&v,
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:150:20
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   tuple.push(try!(symdef.get_type()));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:157:36
[INFO] [stdout]     |
[INFO] [stdout] 157 |                         Ok(Type::Expression(Box::new(try!(symbolparser::parse_expression(&val.0,
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:161:10
[INFO] [stdout]     |
[INFO] [stdout] 161 |                         Ok(try!(try!(val.0.get(0)
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/symbols.rs:161:15
[INFO] [stdout]     |
[INFO] [stdout] 161 |                         Ok(try!(try!(val.0.get(0)
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/symbolparser.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |     for chunk in try!(split_semicolon(block)) {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser/symbolparser.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |         ret.push((name.clone(), try!(parse_symbols(&block.0))));
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout] 108 |                         cond: Some(try!(parse_type(&exp))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         block: try!(parse_symbols(&curlybracket)),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:115:18
[INFO] [stdout]     |
[INFO] [stdout] 115 |                         cond: Some(try!(parse_type(&exp))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:116:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |                         block: try!(parse_symbols(&curlybracket)),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |                     block: try!(parse_symbols(&curlybracket)),
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 |             try!(parse_expression(symbols, SyntaxErrorFactory::from_symbols(symbols)))))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:148:3
[INFO] [stdout]     |
[INFO] [stdout] 148 |         try!(symbols[0].get_type())
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let (pre, mid, post) = try!(split_expression(symbols, errfact.clone()));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:156:15
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let preval = try!(parse_type(pre));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:157:16
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let postval = try!(parse_type(post));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:170:59
[INFO] [stdout]     |
[INFO] [stdout] 170 |         Symbol::Index(ref pos) => Ok(Instruction::Index(preval, try!(parse_type(&pos.0)))),
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     Some(ref val) => Some(try!(parse_type(&val.0))),
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:178:28
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     Some(ref val) => Some(try!(parse_type(&val.0))),
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:189:15
[INFO] [stdout]     |
[INFO] [stdout] 189 |     for chunk in try!(split_semicolon(symbols)) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 | ...                   try!(parse_user_block(&block.0))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:215:7
[INFO] [stdout]     |
[INFO] [stdout] 215 |                         try!(parse_type(&name.0)),
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:216:7
[INFO] [stdout]     |
[INFO] [stdout] 216 |                         try!(parse_type(&server.0)),
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:220:32
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     Instruction::CreateServer(try!(parse_type(&chunk)))
[INFO] [stdout]     |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 |             try!(parse_ifblock(&chunk))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/symbolparser.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 |             try!(parse_expression(&chunk, SyntaxErrorFactory::from_symbols(&chunk)))
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:152:15
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let pos = try!(codechars_find(&path, '@').ok_or(SyntaxError::new(
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     symbols::Block(try!(parse_code(&a))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:159:21
[INFO] [stdout]     |
[INFO] [stdout] 159 |                     symbols::Block(try!(parse_code(&b[1..])))
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:164:40
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 Symbol::CurlyBraced(symbols::Block(try!(parse_code(&block))))
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:168:40
[INFO] [stdout]     |
[INFO] [stdout] 168 |                 Symbol::Parenthesis(symbols::Block(try!(parse_code(&block))))
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...                   try!(parse_code(&indexcontents))))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:184:33
[INFO] [stdout]     |
[INFO] [stdout] 184 | ...                   _ => Some(symbols::Block(try!(parse_code(val1))))
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/parser/textparser.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 | ...                   _ => Some(symbols::Block(try!(parse_code(val2))))
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]  --> src/parser/mod.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 |     symbolparser::parse_symbols(&try!(textparser::parse_text(&code)))
[INFO] [stdout]   |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/modifier.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 |   pub type ModifierFunc = Fn(&Type, &mut Interpreter, &UserPath,
[INFO] [stdout]   |  _________________________^
[INFO] [stdout] 8 | |                            &mut Environment, &[Type]) -> Option<Type>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type ModifierFunc = dyn Fn(&Type, &mut Interpreter, &UserPath,
[INFO] [stdout]   |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/user.rs:124:24
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub type UserExtFunc = Fn(&User, &mut Interpreter, &Mail);
[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/nightly/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] 124 | pub type UserExtFunc = dyn Fn(&User, &mut Interpreter, &Mail);
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/interpreter/std/stdio.rs:26:48
[INFO] [stdout]    |
[INFO] [stdout] 26 |             mail.return_mail(inter, &mail.message, line.trim_right(), Vec::new());
[INFO] [stdout]    |                                                         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 26 |             mail.return_mail(inter, &mail.message, line.trim_end(), Vec::new());
[INFO] [stdout]    |                                                         ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:26:59
[INFO] [stdout]    |
[INFO] [stdout] 26 |         Err(err) => panic!("couldn't open {}: {}", display, err.description())
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:31:59
[INFO] [stdout]    |
[INFO] [stdout] 31 |         Err(why) => panic!("couldn't read {}: {}", display, why.description()),
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
[INFO] [stdout]   --> src/main.rs:42:20
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     let ltrim = s.trim_left();
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     let ltrim = s.trim_start();
[INFO] [stdout]    |                                   ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interpreter/mod.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut serv = match self.get_server(&tserver) {
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interpreter/mod.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut user = match serv.get_user_mut(&tuser) {
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interpreter/mod.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let mut serv = self.get_server(&def.1).unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.40s
[INFO] running `Command { std: "docker" "inspect" "1b772d0f7368550955023454dcd6c990a554d24f4135a6d500f3f5ae5bee128f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b772d0f7368550955023454dcd6c990a554d24f4135a6d500f3f5ae5bee128f", kill_on_drop: false }`
[INFO] [stdout] 1b772d0f7368550955023454dcd6c990a554d24f4135a6d500f3f5ae5bee128f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Zrandomize-layout" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6d0040a332745c7775415aa1dca4bdfb9489df5872bccf8dbf344934aa28a6c0
[INFO] running `Command { std: "docker" "start" "-a" "6d0040a332745c7775415aa1dca4bdfb9489df5872bccf8dbf344934aa28a6c0", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/symbols.rs:136:15
[INFO] [stderr]     |
[INFO] [stderr] 136 |                     Box::new(try!(symbolparser::parse_type(&a.0))),
[INFO] [stderr]     |                              ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/symbols.rs:137:15
[INFO] [stderr]     |
[INFO] [stderr] 137 |                     Box::new(try!(symbolparser::parse_type(&b.0)))
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/symbols.rs:146:18
[INFO] [stderr]     |
[INFO] [stderr] 146 | ...                   Box::new(try!(symbolparser::parse_expression(&v,
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/symbols.rs:150:20
[INFO] [stderr]     |
[INFO] [stderr] 150 | ...                   tuple.push(try!(symdef.get_type()));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/symbols.rs:157:36
[INFO] [stderr]     |
[INFO] [stderr] 157 |                         Ok(Type::Expression(Box::new(try!(symbolparser::parse_expression(&val.0,
[INFO] [stderr]     |                                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/symbols.rs:161:10
[INFO] [stderr]     |
[INFO] [stderr] 161 |                         Ok(try!(try!(val.0.get(0)
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/symbols.rs:161:15
[INFO] [stderr]     |
[INFO] [stderr] 161 |                         Ok(try!(try!(val.0.get(0)
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parser/symbolparser.rs:57:15
[INFO] [stderr]    |
[INFO] [stderr] 57 |     for chunk in try!(split_semicolon(block)) {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/parser/symbolparser.rs:74:27
[INFO] [stderr]    |
[INFO] [stderr] 74 |         ret.push((name.clone(), try!(parse_symbols(&block.0))));
[INFO] [stderr]    |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:108:18
[INFO] [stderr]     |
[INFO] [stderr] 108 |                         cond: Some(try!(parse_type(&exp))),
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:109:14
[INFO] [stderr]     |
[INFO] [stderr] 109 |                         block: try!(parse_symbols(&curlybracket)),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:115:18
[INFO] [stderr]     |
[INFO] [stderr] 115 |                         cond: Some(try!(parse_type(&exp))),
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:116:14
[INFO] [stderr]     |
[INFO] [stderr] 116 |                         block: try!(parse_symbols(&curlybracket)),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:131:13
[INFO] [stderr]     |
[INFO] [stderr] 131 |                     block: try!(parse_symbols(&curlybracket)),
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:146:4
[INFO] [stderr]     |
[INFO] [stderr] 146 |             try!(parse_expression(symbols, SyntaxErrorFactory::from_symbols(symbols)))))
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:148:3
[INFO] [stderr]     |
[INFO] [stderr] 148 |         try!(symbols[0].get_type())
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:155:25
[INFO] [stderr]     |
[INFO] [stderr] 155 |     let (pre, mid, post) = try!(split_expression(symbols, errfact.clone()));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:156:15
[INFO] [stderr]     |
[INFO] [stderr] 156 |     let preval = try!(parse_type(pre));
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:157:16
[INFO] [stderr]     |
[INFO] [stderr] 157 |     let postval = try!(parse_type(post));
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:170:59
[INFO] [stderr]     |
[INFO] [stderr] 170 |         Symbol::Index(ref pos) => Ok(Instruction::Index(preval, try!(parse_type(&pos.0)))),
[INFO] [stderr]     |                                                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:174:28
[INFO] [stderr]     |
[INFO] [stderr] 174 |                     Some(ref val) => Some(try!(parse_type(&val.0))),
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:178:28
[INFO] [stderr]     |
[INFO] [stderr] 178 |                     Some(ref val) => Some(try!(parse_type(&val.0))),
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:189:15
[INFO] [stderr]     |
[INFO] [stderr] 189 |     for chunk in try!(split_semicolon(symbols)) {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:204:9
[INFO] [stderr]     |
[INFO] [stderr] 204 | ...                   try!(parse_user_block(&block.0))
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:215:7
[INFO] [stderr]     |
[INFO] [stderr] 215 |                         try!(parse_type(&name.0)),
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:216:7
[INFO] [stderr]     |
[INFO] [stderr] 216 |                         try!(parse_type(&server.0)),
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:220:32
[INFO] [stderr]     |
[INFO] [stderr] 220 |                     Instruction::CreateServer(try!(parse_type(&chunk)))
[INFO] [stderr]     |                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:224:4
[INFO] [stderr]     |
[INFO] [stderr] 224 |             try!(parse_ifblock(&chunk))
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/symbolparser.rs:227:4
[INFO] [stderr]     |
[INFO] [stderr] 227 |             try!(parse_expression(&chunk, SyntaxErrorFactory::from_symbols(&chunk)))
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/textparser.rs:152:15
[INFO] [stderr]     |
[INFO] [stderr] 152 |                 let pos = try!(codechars_find(&path, '@').ok_or(SyntaxError::new(
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/textparser.rs:158:21
[INFO] [stderr]     |
[INFO] [stderr] 158 |                     symbols::Block(try!(parse_code(&a))),
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/textparser.rs:159:21
[INFO] [stderr]     |
[INFO] [stderr] 159 |                     symbols::Block(try!(parse_code(&b[1..])))
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/textparser.rs:164:40
[INFO] [stderr]     |
[INFO] [stderr] 164 |                 Symbol::CurlyBraced(symbols::Block(try!(parse_code(&block))))
[INFO] [stderr]     |                                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/textparser.rs:168:40
[INFO] [stderr]     |
[INFO] [stderr] 168 |                 Symbol::Parenthesis(symbols::Block(try!(parse_code(&block))))
[INFO] [stderr]     |                                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/textparser.rs:178:8
[INFO] [stderr]     |
[INFO] [stderr] 178 | ...                   try!(parse_code(&indexcontents))))
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/textparser.rs:184:33
[INFO] [stderr]     |
[INFO] [stderr] 184 | ...                   _ => Some(symbols::Block(try!(parse_code(val1))))
[INFO] [stderr]     |                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/parser/textparser.rs:189:33
[INFO] [stderr]     |
[INFO] [stderr] 189 | ...                   _ => Some(symbols::Block(try!(parse_code(val2))))
[INFO] [stderr]     |                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]  --> src/parser/mod.rs:8:31
[INFO] [stderr]   |
[INFO] [stderr] 8 |     symbolparser::parse_symbols(&try!(textparser::parse_text(&code)))
[INFO] [stderr]   |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/modifier.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 |   pub type ModifierFunc = Fn(&Type, &mut Interpreter, &UserPath,
[INFO] [stderr]   |  _________________________^
[INFO] [stderr] 8 | |                            &mut Environment, &[Type]) -> Option<Type>;
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub type ModifierFunc = dyn Fn(&Type, &mut Interpreter, &UserPath,
[INFO] [stderr]   |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/user.rs:124:24
[INFO] [stderr]     |
[INFO] [stderr] 124 | pub type UserExtFunc = Fn(&User, &mut Interpreter, &Mail);
[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/nightly/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] 124 | pub type UserExtFunc = dyn Fn(&User, &mut Interpreter, &Mail);
[INFO] [stderr]     |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stderr]   --> src/interpreter/std/stdio.rs:26:48
[INFO] [stderr]    |
[INFO] [stderr] 26 |             mail.return_mail(inter, &mail.message, line.trim_right(), Vec::new());
[INFO] [stderr]    |                                                         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]    |
[INFO] [stderr] 26 |             mail.return_mail(inter, &mail.message, line.trim_end(), Vec::new());
[INFO] [stderr]    |                                                         ~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/main.rs:26:59
[INFO] [stderr]    |
[INFO] [stderr] 26 |         Err(err) => panic!("couldn't open {}: {}", display, err.description())
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/main.rs:31:59
[INFO] [stderr]    |
[INFO] [stderr] 31 |         Err(why) => panic!("couldn't read {}: {}", display, why.description()),
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_left`: superseded by `trim_start`
[INFO] [stderr]   --> src/main.rs:42:20
[INFO] [stderr]    |
[INFO] [stderr] 42 |                     let ltrim = s.trim_left();
[INFO] [stderr]    |                                   ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]    |
[INFO] [stderr] 42 |                     let ltrim = s.trim_start();
[INFO] [stderr]    |                                   ~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/interpreter/mod.rs:58:7
[INFO] [stderr]    |
[INFO] [stderr] 58 |         let mut serv = match self.get_server(&tserver) {
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/interpreter/mod.rs:63:7
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let mut user = match serv.get_user_mut(&tuser) {
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/interpreter/mod.rs:86:8
[INFO] [stderr]    |
[INFO] [stderr] 86 |             let mut serv = self.get_server(&def.1).unwrap();
[INFO] [stderr]    |                 ----^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `emailang` (bin "emailang" test) generated 47 warnings (run `cargo fix --bin "emailang" --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/emailang-b744a7f2c809c6a7)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6d0040a332745c7775415aa1dca4bdfb9489df5872bccf8dbf344934aa28a6c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d0040a332745c7775415aa1dca4bdfb9489df5872bccf8dbf344934aa28a6c0", kill_on_drop: false }`
[INFO] [stdout] 6d0040a332745c7775415aa1dca4bdfb9489df5872bccf8dbf344934aa28a6c0
