[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 against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJellonator%2FEmailang" "/workspace/builds/worker-106/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-106/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Jellonator/Emailang on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "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-106/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: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d8a2e06fd3cfa54815c0dc15f8d96080c768e406f2d2da4560de1b5dada8e3ef [INFO] running `Command { std: "docker" "start" "-a" "d8a2e06fd3cfa54815c0dc15f8d96080c768e406f2d2da4560de1b5dada8e3ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d8a2e06fd3cfa54815c0dc15f8d96080c768e406f2d2da4560de1b5dada8e3ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8a2e06fd3cfa54815c0dc15f8d96080c768e406f2d2da4560de1b5dada8e3ef", kill_on_drop: false }` [INFO] [stdout] d8a2e06fd3cfa54815c0dc15f8d96080c768e406f2d2da4560de1b5dada8e3ef [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4656cafbace4866c4eb64ce2ec11eae93405977fb17a6ad56b737acf89c709fb [INFO] running `Command { std: "docker" "start" "-a" "4656cafbace4866c4eb64ce2ec11eae93405977fb17a6ad56b737acf89c709fb", kill_on_drop: false }` [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 utf8-ranges v0.1.3 [INFO] [stderr] Compiling regex-syntax v0.3.5 [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 aho-corasick v0.5.3 [INFO] [stderr] Compiling thread_local v0.2.7 [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; [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 ~ pub type ModifierFunc = dyn Fn(&Type, &mut Interpreter, &UserPath, [INFO] [stdout] 8 ~ &mut Environment, &[Type]) -> Option; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 124 - pub type UserExtFunc = Fn(&User, &mut Interpreter, &Mail); [INFO] [stdout] 124 + pub type UserExtFunc = dyn Fn(&User, &mut Interpreter, &Mail); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::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] | ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `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 associated function `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 associated function `core::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] | ^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start` [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] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 29.29s [INFO] running `Command { std: "docker" "inspect" "4656cafbace4866c4eb64ce2ec11eae93405977fb17a6ad56b737acf89c709fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4656cafbace4866c4eb64ce2ec11eae93405977fb17a6ad56b737acf89c709fb", kill_on_drop: false }` [INFO] [stdout] 4656cafbace4866c4eb64ce2ec11eae93405977fb17a6ad56b737acf89c709fb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ea4fa9290dfb7e00a038fd940cdd38f227ff49947be30bfc7136255149ac7503 [INFO] running `Command { std: "docker" "start" "-a" "ea4fa9290dfb7e00a038fd940cdd38f227ff49947be30bfc7136255149ac7503", kill_on_drop: false }` [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; [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 ~ pub type ModifierFunc = dyn Fn(&Type, &mut Interpreter, &UserPath, [INFO] [stdout] 8 ~ &mut Environment, &[Type]) -> Option; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 124 - pub type UserExtFunc = Fn(&User, &mut Interpreter, &Mail); [INFO] [stdout] 124 + pub type UserExtFunc = dyn Fn(&User, &mut Interpreter, &Mail); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::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] | ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `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 associated function `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 associated function `core::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] | ^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start` [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] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 8.23s [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/emailang-0b16d8b7aa269589) [INFO] running `Command { std: "docker" "inspect" "ea4fa9290dfb7e00a038fd940cdd38f227ff49947be30bfc7136255149ac7503", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ea4fa9290dfb7e00a038fd940cdd38f227ff49947be30bfc7136255149ac7503", kill_on_drop: false }` [INFO] [stdout] ea4fa9290dfb7e00a038fd940cdd38f227ff49947be30bfc7136255149ac7503 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-106/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f6bb84e8d8dbb976f1f73372b3b1fb6867d173a0d4a564899707662760d13e9f [INFO] running `Command { std: "docker" "start" "-a" "f6bb84e8d8dbb976f1f73372b3b1fb6867d173a0d4a564899707662760d13e9f", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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; [INFO] [stderr] | |_____________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 7 ~ pub type ModifierFunc = dyn Fn(&Type, &mut Interpreter, &UserPath, [INFO] [stderr] 8 ~ &mut Environment, &[Type]) -> Option; [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 [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 124 - pub type UserExtFunc = Fn(&User, &mut Interpreter, &Mail); [INFO] [stderr] 124 + pub type UserExtFunc = dyn Fn(&User, &mut Interpreter, &Mail); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `core::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] | ^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_end` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `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 associated function `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 associated function `core::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] | ^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start` [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 [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/emailang-0b16d8b7aa269589) [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" "f6bb84e8d8dbb976f1f73372b3b1fb6867d173a0d4a564899707662760d13e9f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6bb84e8d8dbb976f1f73372b3b1fb6867d173a0d4a564899707662760d13e9f", kill_on_drop: false }` [INFO] [stdout] f6bb84e8d8dbb976f1f73372b3b1fb6867d173a0d4a564899707662760d13e9f