[INFO] updating cached repository https://github.com/Jengamon/Kobold [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] dd47af29c5303ab4a099441929f6a81541cff1d8 [INFO] testing Jengamon/Kobold against beta-2020-06-03 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJengamon%2FKobold" "/workspace/builds/worker-14/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Jengamon/Kobold on toolchain beta-2020-06-03 [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/Jengamon/Kobold [INFO] finished tweaking git repo https://github.com/Jengamon/Kobold [INFO] tweaked toml for git repo https://github.com/Jengamon/Kobold written to /workspace/builds/worker-14/source/Cargo.toml [INFO] crate git repo https://github.com/Jengamon/Kobold already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /workspace/builds/worker-14/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 1b5efa0688f95c4950aa0a1a0d5e379c4e2020c381e37306158b167655a054f3 [INFO] running `"docker" "start" "-a" "1b5efa0688f95c4950aa0a1a0d5e379c4e2020c381e37306158b167655a054f3"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling argparse v0.2.2 [INFO] [stderr] Compiling kobold v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | if try!(fs::metadata(dir)).is_dir() { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:25:22 [INFO] [stderr] | [INFO] [stderr] 25 | for entry in try!(fs::read_dir(dir)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:26:25 [INFO] [stderr] | [INFO] [stderr] 26 | let entry = try!(entry); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:27:16 [INFO] [stderr] | [INFO] [stderr] 27 | if try!(fs::metadata(entry.path())).is_dir() { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:101:32 [INFO] [stderr] | [INFO] [stderr] 101 | ... 'a'...'z' => {data.push(c); state = LexerState::Identifier;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:102:32 [INFO] [stderr] | [INFO] [stderr] 102 | ... 'A'...'Z' => {data.push(c); state = LexerState::StructIdentifier;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | ... '0'...'9' => {data.push(c); state = LexerState::Integer;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:130:32 [INFO] [stderr] | [INFO] [stderr] 130 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' | '!' | '?' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:130:44 [INFO] [stderr] | [INFO] [stderr] 130 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' | '!' | '?' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:130:56 [INFO] [stderr] | [INFO] [stderr] 130 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' | '!' | '?' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:145:32 [INFO] [stderr] | [INFO] [stderr] 145 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:145:44 [INFO] [stderr] | [INFO] [stderr] 145 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:145:56 [INFO] [stderr] | [INFO] [stderr] 145 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:197:32 [INFO] [stderr] | [INFO] [stderr] 197 | ... '0'...'9' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:205:32 [INFO] [stderr] | [INFO] [stderr] 205 | ... '0'...'9' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/trie.rs:15:20 [INFO] [stderr] | [INFO] [stderr] 15 | index: Arc<&'a Fn(char) -> i32> [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> i32` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/trie.rs:38:35 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn new(hspace: usize, f: &Fn(char) -> i32) -> Trie { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> i32` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/trie.rs:50:44 [INFO] [stderr] | [INFO] [stderr] 50 | fn new_with_arc(hspace: usize, f: Arc<&Fn(char) -> i32>) -> Trie { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> i32` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:12:37 [INFO] [stderr] | [INFO] [stderr] 12 | prefixs: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:13:36 [INFO] [stderr] | [INFO] [stderr] 13 | infixs: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:140:57 [INFO] [stderr] | [INFO] [stderr] 140 | fn register_prefix(&mut self, tt: TokenType, p: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:148:56 [INFO] [stderr] | [INFO] [stderr] 148 | fn register_infix(&mut self, tt: TokenType, p: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:154:37 [INFO] [stderr] | [INFO] [stderr] 154 | let mut parslet: Option> = None; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:165:42 [INFO] [stderr] | [INFO] [stderr] 165 | let mut nparslet: Option> = None; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/literal.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | fn dup(&self) -> Box { Box::new(IntegerParslet) } [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/literal.rs:22:26 [INFO] [stderr] | [INFO] [stderr] 22 | fn dup(&self) -> Box { Box::new(FloatParslet) } [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/operator.rs:22:26 [INFO] [stderr] | [INFO] [stderr] 22 | fn dup(&self) -> Box { Box::new(PrefixOpParslet::new(self.precedence)) } [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/operator.rs:47:26 [INFO] [stderr] | [INFO] [stderr] 47 | fn dup(&self) -> Box { return Box::new(BinaryParslet::new(self.precedence, self.left_rec)) } [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/mod.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | fn dup(&self) -> Box; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/mod.rs:15:26 [INFO] [stderr] | [INFO] [stderr] 15 | fn dup(&self) -> Box; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stderr] --> src/main.rs:128:57 [INFO] [stderr] | [INFO] [stderr] 128 | let excludes: Vec<&Path> = opts.excludes.iter().map({|a| Path::new(&*a)}).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_braces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stderr] --> src/main.rs:132:59 [INFO] [stderr] | [INFO] [stderr] 132 | let classpath: Vec<&Path> = opts.classpath.iter().map({|a| Path::new(&*a)}).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/compiler/module.rs:82:31 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn find_module(&self, s: &str) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_module` [INFO] [stderr] --> src/compiler/module.rs:82:12 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn find_module(&self, s: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 34 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.00s [INFO] running `"docker" "inspect" "1b5efa0688f95c4950aa0a1a0d5e379c4e2020c381e37306158b167655a054f3"` [INFO] running `"docker" "rm" "-f" "1b5efa0688f95c4950aa0a1a0d5e379c4e2020c381e37306158b167655a054f3"` [INFO] [stdout] 1b5efa0688f95c4950aa0a1a0d5e379c4e2020c381e37306158b167655a054f3 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] bc7d9b80c4ff33e2bf168853b82feb95637b0e927f6827471ba0d16ce94bc3e3 [INFO] running `"docker" "start" "-a" "bc7d9b80c4ff33e2bf168853b82feb95637b0e927f6827471ba0d16ce94bc3e3"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling kobold v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | if try!(fs::metadata(dir)).is_dir() { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:25:22 [INFO] [stderr] | [INFO] [stderr] 25 | for entry in try!(fs::read_dir(dir)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:26:25 [INFO] [stderr] | [INFO] [stderr] 26 | let entry = try!(entry); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:27:16 [INFO] [stderr] | [INFO] [stderr] 27 | if try!(fs::metadata(entry.path())).is_dir() { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:101:32 [INFO] [stderr] | [INFO] [stderr] 101 | ... 'a'...'z' => {data.push(c); state = LexerState::Identifier;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:102:32 [INFO] [stderr] | [INFO] [stderr] 102 | ... 'A'...'Z' => {data.push(c); state = LexerState::StructIdentifier;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | ... '0'...'9' => {data.push(c); state = LexerState::Integer;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:130:32 [INFO] [stderr] | [INFO] [stderr] 130 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' | '!' | '?' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:130:44 [INFO] [stderr] | [INFO] [stderr] 130 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' | '!' | '?' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:130:56 [INFO] [stderr] | [INFO] [stderr] 130 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' | '!' | '?' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:145:32 [INFO] [stderr] | [INFO] [stderr] 145 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:145:44 [INFO] [stderr] | [INFO] [stderr] 145 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:145:56 [INFO] [stderr] | [INFO] [stderr] 145 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:197:32 [INFO] [stderr] | [INFO] [stderr] 197 | ... '0'...'9' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:205:32 [INFO] [stderr] | [INFO] [stderr] 205 | ... '0'...'9' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/trie.rs:15:20 [INFO] [stderr] | [INFO] [stderr] 15 | index: Arc<&'a Fn(char) -> i32> [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> i32` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/trie.rs:38:35 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn new(hspace: usize, f: &Fn(char) -> i32) -> Trie { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> i32` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/trie.rs:50:44 [INFO] [stderr] | [INFO] [stderr] 50 | fn new_with_arc(hspace: usize, f: Arc<&Fn(char) -> i32>) -> Trie { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> i32` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:12:37 [INFO] [stderr] | [INFO] [stderr] 12 | prefixs: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:13:36 [INFO] [stderr] | [INFO] [stderr] 13 | infixs: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:140:57 [INFO] [stderr] | [INFO] [stderr] 140 | fn register_prefix(&mut self, tt: TokenType, p: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:148:56 [INFO] [stderr] | [INFO] [stderr] 148 | fn register_infix(&mut self, tt: TokenType, p: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:154:37 [INFO] [stderr] | [INFO] [stderr] 154 | let mut parslet: Option> = None; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:165:42 [INFO] [stderr] | [INFO] [stderr] 165 | let mut nparslet: Option> = None; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/literal.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | fn dup(&self) -> Box { Box::new(IntegerParslet) } [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/literal.rs:22:26 [INFO] [stderr] | [INFO] [stderr] 22 | fn dup(&self) -> Box { Box::new(FloatParslet) } [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/operator.rs:22:26 [INFO] [stderr] | [INFO] [stderr] 22 | fn dup(&self) -> Box { Box::new(PrefixOpParslet::new(self.precedence)) } [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/operator.rs:47:26 [INFO] [stderr] | [INFO] [stderr] 47 | fn dup(&self) -> Box { return Box::new(BinaryParslet::new(self.precedence, self.left_rec)) } [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/mod.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | fn dup(&self) -> Box; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/mod.rs:15:26 [INFO] [stderr] | [INFO] [stderr] 15 | fn dup(&self) -> Box; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/tests/mod.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | e @ 'a'...'z' => e as i32 - 'a' as i32, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stderr] --> src/main.rs:128:57 [INFO] [stderr] | [INFO] [stderr] 128 | let excludes: Vec<&Path> = opts.excludes.iter().map({|a| Path::new(&*a)}).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_braces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stderr] --> src/main.rs:132:59 [INFO] [stderr] | [INFO] [stderr] 132 | let classpath: Vec<&Path> = opts.classpath.iter().map({|a| Path::new(&*a)}).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/compiler/module.rs:82:31 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn find_module(&self, s: &str) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_module` [INFO] [stderr] --> src/compiler/module.rs:82:12 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn find_module(&self, s: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 35 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.32s [INFO] running `"docker" "inspect" "bc7d9b80c4ff33e2bf168853b82feb95637b0e927f6827471ba0d16ce94bc3e3"` [INFO] running `"docker" "rm" "-f" "bc7d9b80c4ff33e2bf168853b82feb95637b0e927f6827471ba0d16ce94bc3e3"` [INFO] [stdout] bc7d9b80c4ff33e2bf168853b82feb95637b0e927f6827471ba0d16ce94bc3e3 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e871c7c90a3411785e88e016f3c9820c6fa6da306cc204fbb1c4d679cbb6d4a8 [INFO] running `"docker" "start" "-a" "e871c7c90a3411785e88e016f3c9820c6fa6da306cc204fbb1c4d679cbb6d4a8"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:24:8 [INFO] [stderr] | [INFO] [stderr] 24 | if try!(fs::metadata(dir)).is_dir() { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:25:22 [INFO] [stderr] | [INFO] [stderr] 25 | for entry in try!(fs::read_dir(dir)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:26:25 [INFO] [stderr] | [INFO] [stderr] 26 | let entry = try!(entry); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/main.rs:27:16 [INFO] [stderr] | [INFO] [stderr] 27 | if try!(fs::metadata(entry.path())).is_dir() { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:101:32 [INFO] [stderr] | [INFO] [stderr] 101 | ... 'a'...'z' => {data.push(c); state = LexerState::Identifier;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:102:32 [INFO] [stderr] | [INFO] [stderr] 102 | ... 'A'...'Z' => {data.push(c); state = LexerState::StructIdentifier;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:103:32 [INFO] [stderr] | [INFO] [stderr] 103 | ... '0'...'9' => {data.push(c); state = LexerState::Integer;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:130:32 [INFO] [stderr] | [INFO] [stderr] 130 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' | '!' | '?' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:130:44 [INFO] [stderr] | [INFO] [stderr] 130 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' | '!' | '?' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:130:56 [INFO] [stderr] | [INFO] [stderr] 130 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' | '!' | '?' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:145:32 [INFO] [stderr] | [INFO] [stderr] 145 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:145:44 [INFO] [stderr] | [INFO] [stderr] 145 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:145:56 [INFO] [stderr] | [INFO] [stderr] 145 | ... 'a'...'z' | 'A'...'Z' | '0'...'9' | '_' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:197:32 [INFO] [stderr] | [INFO] [stderr] 197 | ... '0'...'9' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/compiler/lexer.rs:205:32 [INFO] [stderr] | [INFO] [stderr] 205 | ... '0'...'9' => data.push(c), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/trie.rs:15:20 [INFO] [stderr] | [INFO] [stderr] 15 | index: Arc<&'a Fn(char) -> i32> [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> i32` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/trie.rs:38:35 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn new(hspace: usize, f: &Fn(char) -> i32) -> Trie { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> i32` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/trie.rs:50:44 [INFO] [stderr] | [INFO] [stderr] 50 | fn new_with_arc(hspace: usize, f: Arc<&Fn(char) -> i32>) -> Trie { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> i32` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:12:37 [INFO] [stderr] | [INFO] [stderr] 12 | prefixs: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:13:36 [INFO] [stderr] | [INFO] [stderr] 13 | infixs: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:140:57 [INFO] [stderr] | [INFO] [stderr] 140 | fn register_prefix(&mut self, tt: TokenType, p: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:148:56 [INFO] [stderr] | [INFO] [stderr] 148 | fn register_infix(&mut self, tt: TokenType, p: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:154:37 [INFO] [stderr] | [INFO] [stderr] 154 | let mut parslet: Option> = None; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parser.rs:165:42 [INFO] [stderr] | [INFO] [stderr] 165 | let mut nparslet: Option> = None; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/literal.rs:12:26 [INFO] [stderr] | [INFO] [stderr] 12 | fn dup(&self) -> Box { Box::new(IntegerParslet) } [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/literal.rs:22:26 [INFO] [stderr] | [INFO] [stderr] 22 | fn dup(&self) -> Box { Box::new(FloatParslet) } [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/operator.rs:22:26 [INFO] [stderr] | [INFO] [stderr] 22 | fn dup(&self) -> Box { Box::new(PrefixOpParslet::new(self.precedence)) } [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/operator.rs:47:26 [INFO] [stderr] | [INFO] [stderr] 47 | fn dup(&self) -> Box { return Box::new(BinaryParslet::new(self.precedence, self.left_rec)) } [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/mod.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | fn dup(&self) -> Box; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn PrefixParslet` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/compiler/parslets/mod.rs:15:26 [INFO] [stderr] | [INFO] [stderr] 15 | fn dup(&self) -> Box; [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn InfixParslet` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/tests/mod.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | e @ 'a'...'z' => e as i32 - 'a' as i32, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stderr] --> src/main.rs:128:57 [INFO] [stderr] | [INFO] [stderr] 128 | let excludes: Vec<&Path> = opts.excludes.iter().map({|a| Path::new(&*a)}).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_braces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around method argument [INFO] [stderr] --> src/main.rs:132:59 [INFO] [stderr] | [INFO] [stderr] 132 | let classpath: Vec<&Path> = opts.classpath.iter().map({|a| Path::new(&*a)}).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/compiler/module.rs:82:31 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn find_module(&self, s: &str) -> Option { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `find_module` [INFO] [stderr] --> src/compiler/module.rs:82:12 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn find_module(&self, s: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 35 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/kobold-bbb4eb922c649738 [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test tests::test_trie ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "e871c7c90a3411785e88e016f3c9820c6fa6da306cc204fbb1c4d679cbb6d4a8"` [INFO] running `"docker" "rm" "-f" "e871c7c90a3411785e88e016f3c9820c6fa6da306cc204fbb1c4d679cbb6d4a8"` [INFO] [stdout] e871c7c90a3411785e88e016f3c9820c6fa6da306cc204fbb1c4d679cbb6d4a8