[INFO] cloning repository https://github.com/gsingh93/rlex [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gsingh93/rlex" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgsingh93%2Frlex", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgsingh93%2Frlex'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f6cf4cc7f348b156fa1efd013455343623b4251c [INFO] checking gsingh93/rlex/f6cf4cc7f348b156fa1efd013455343623b4251c against master#55b9b4d1e1bb5b46c04237a2fb2f8a85f39ef97d for pr-146300 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgsingh93%2Frlex" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/gsingh93/rlex [INFO] finished tweaking git repo https://github.com/gsingh93/rlex [INFO] tweaked toml for git repo https://github.com/gsingh93/rlex written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/gsingh93/rlex on toolchain 55b9b4d1e1bb5b46c04237a2fb2f8a85f39ef97d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+55b9b4d1e1bb5b46c04237a2fb2f8a85f39ef97d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/gsingh93/rlex 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" "+55b9b4d1e1bb5b46c04237a2fb2f8a85f39ef97d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+55b9b4d1e1bb5b46c04237a2fb2f8a85f39ef97d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] efa2aff451fc5e9da56e72b384a3f8e22452a02f3fbb1cb159dbda965eb9b57f [INFO] running `Command { std: "docker" "start" "-a" "efa2aff451fc5e9da56e72b384a3f8e22452a02f3fbb1cb159dbda965eb9b57f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "efa2aff451fc5e9da56e72b384a3f8e22452a02f3fbb1cb159dbda965eb9b57f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "efa2aff451fc5e9da56e72b384a3f8e22452a02f3fbb1cb159dbda965eb9b57f", kill_on_drop: false }` [INFO] [stdout] efa2aff451fc5e9da56e72b384a3f8e22452a02f3fbb1cb159dbda965eb9b57f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+55b9b4d1e1bb5b46c04237a2fb2f8a85f39ef97d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1840ce88496edd957b81c479b66298b8998b3d84d54e72c845197a46fd582876 [INFO] running `Command { std: "docker" "start" "-a" "1840ce88496edd957b81c479b66298b8998b3d84d54e72c845197a46fd582876", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Checking rlex v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] error: expected identifier, found keyword `move` [INFO] [stdout] --> src/automata.rs:310:39 [INFO] [stdout] | [INFO] [stdout] 310 | self.cur_state = self.fsm.move(self.cur_state.get_ref(), [INFO] [stdout] | ^^^^ expected identifier, found keyword [INFO] [stdout] | [INFO] [stdout] help: escape `move` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 310 | self.cur_state = self.fsm.r#move(self.cur_state.get_ref(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/automata.rs:325:43 [INFO] [stdout] | [INFO] [stdout] 325 | ... inputs: box v.iter() }; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 325 - inputs: box v.iter() }; [INFO] [stdout] 325 + inputs: Box::new(v.iter()) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/automata.rs:98:38 [INFO] [stdout] | [INFO] [stdout] 98 | let (cur_state, input) = try!(res.unwrap()); [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/automata.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | try!(write!(f, "Initial State: {}\n", self.initial_state)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/automata.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | try!(write!(f, "Final States: ")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/automata.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | try!(write!(f, "{} ", s)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/automata.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | try!(dfa.insert_transition(&cur_state, &new_state, &input)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/automata.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(macro_rules)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/automata.rs:293:21 [INFO] [stdout] | [INFO] [stdout] 293 | inputs: Box> [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] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 293 | inputs: Box> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied [INFO] [stdout] --> src/automata.rs:293:21 [INFO] [stdout] | [INFO] [stdout] 293 | inputs: Box> [INFO] [stdout] | ^^^^^^^^ expected 0 generic arguments [INFO] [stdout] | [INFO] [stdout] help: replace the generic bound with the associated type [INFO] [stdout] | [INFO] [stdout] 293 | inputs: Box> [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0191]: the value of the associated type `Item` in `Iterator` must be specified [INFO] [stdout] --> src/automata.rs:293:21 [INFO] [stdout] | [INFO] [stdout] 293 | inputs: Box> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ associated type `Item` must be specified [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0309]: the parameter type `I` may not live long enough [INFO] [stdout] --> src/automata.rs:86:34 [INFO] [stdout] | [INFO] [stdout] 86 | fn simulate<'a, It: Iterator>(&self, inputs: Vec) -> Result<(), String> { [INFO] [stdout] | -- ^^^^^^^^^^^^ ...so that the reference type `&'a I` does not outlive the data it points at [INFO] [stdout] | | [INFO] [stdout] | the parameter type `I` must be valid for the lifetime `'a` as defined here... [INFO] [stdout] | [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 86 | fn simulate<'a, It: Iterator>(&self, inputs: Vec) -> Result<(), String> where I: 'a { [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found keyword `move` [INFO] [stdout] --> src/automata.rs:310:39 [INFO] [stdout] | [INFO] [stdout] 310 | self.cur_state = self.fsm.move(self.cur_state.get_ref(), [INFO] [stdout] | ^^^^ expected identifier, found keyword [INFO] [stdout] | [INFO] [stdout] help: escape `move` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 310 | self.cur_state = self.fsm.r#move(self.cur_state.get_ref(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/automata.rs:325:43 [INFO] [stdout] | [INFO] [stdout] 325 | ... inputs: box v.iter() }; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 325 - inputs: box v.iter() }; [INFO] [stdout] 325 + inputs: Box::new(v.iter()) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/automata.rs:98:38 [INFO] [stdout] | [INFO] [stdout] 98 | let (cur_state, input) = try!(res.unwrap()); [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/automata.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | try!(write!(f, "Initial State: {}\n", self.initial_state)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/automata.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | try!(write!(f, "Final States: ")); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/automata.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | try!(write!(f, "{} ", s)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/automata.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | try!(dfa.insert_transition(&cur_state, &new_state, &input)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/automata.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(macro_rules)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0309]: the parameter type `I` may not live long enough [INFO] [stdout] --> src/automata.rs:86:34 [INFO] [stdout] | [INFO] [stdout] 86 | fn simulate<'a, It: Iterator>(&self, inputs: Vec) -> Result<(), String> { [INFO] [stdout] | -- ^^^^^^^^^^^^ ...so that the reference type `&'a I` does not outlive the data it points at [INFO] [stdout] | | [INFO] [stdout] | the parameter type `I` must be valid for the lifetime `'a` as defined here... [INFO] [stdout] | [INFO] [stdout] help: consider adding an explicit lifetime bound [INFO] [stdout] | [INFO] [stdout] 86 | fn simulate<'a, It: Iterator>(&self, inputs: Vec) -> Result<(), String> where I: 'a { [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/automata.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | self.push_str(a.as_slice()); [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/automata.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | self.push_str(a.as_slice()); [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get` found for enum `std::collections::hash_map::Entry<'a, K, V>` in the current scope [INFO] [stdout] --> src/automata.rs:53:60 [INFO] [stdout] | [INFO] [stdout] 53 | let h = match self.trans_table.entry(from.clone()).get() { [INFO] [stdout] | ---------------- ^^^ method not found in `std::collections::hash_map::Entry<'_, S, HashMap>` [INFO] [stdout] | | [INFO] [stdout] | method `get` is available on `&mut HashMap>` [INFO] [stdout] | [INFO] [stdout] note: the method `get` exists on the type `std::collections::hash_map::OccupiedEntry<'_, S, HashMap>` [INFO] [stdout] --> /rustc/55b9b4d1e1bb5b46c04237a2fb2f8a85f39ef97d/library/std/src/collections/hash/map.rs:2571:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get` found for enum `std::collections::hash_map::Entry<'a, K, V>` in the current scope [INFO] [stdout] --> src/automata.rs:53:60 [INFO] [stdout] | [INFO] [stdout] 53 | let h = match self.trans_table.entry(from.clone()).get() { [INFO] [stdout] | ---------------- ^^^ method not found in `std::collections::hash_map::Entry<'_, S, HashMap>` [INFO] [stdout] | | [INFO] [stdout] | method `get` is available on `&mut HashMap>` [INFO] [stdout] | [INFO] [stdout] note: the method `get` exists on the type `std::collections::hash_map::OccupiedEntry<'_, S, HashMap>` [INFO] [stdout] --> /rustc/55b9b4d1e1bb5b46c04237a2fb2f8a85f39ef97d/library/std/src/collections/hash/map.rs:2571:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/automata.rs:87:65 [INFO] [stdout] | [INFO] [stdout] 86 | fn simulate<'a, It: Iterator>(&self, inputs: Vec) -> Result<(), String> { [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] 87 | let mut sim: Simulator = Simulator::new(self, inputs.iter()); [INFO] [stdout] | -------------- ^^^^^^^^^^^^^ expected type parameter `It`, found `Iter<'_, I>` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `It` [INFO] [stdout] found struct `std::slice::Iter<'_, I>` [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/automata.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | fn new(automaton: &'a Automaton, inputs_iter: It) -> Simulator<'a, S, I, It> { [INFO] [stdout] | ^^^ --------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/automata.rs:87:65 [INFO] [stdout] | [INFO] [stdout] 86 | fn simulate<'a, It: Iterator>(&self, inputs: Vec) -> Result<(), String> { [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] 87 | let mut sim: Simulator = Simulator::new(self, inputs.iter()); [INFO] [stdout] | -------------- ^^^^^^^^^^^^^ expected type parameter `It`, found `Iter<'_, I>` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `It` [INFO] [stdout] found struct `std::slice::Iter<'_, I>` [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/automata.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | fn new(automaton: &'a Automaton, inputs_iter: It) -> Simulator<'a, S, I, It> { [INFO] [stdout] | ^^^ --------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0309, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/automata.rs:214:15 [INFO] [stdout] | [INFO] [stdout] 214 | assert!(g.simulate(vec!("B")).is_err()); [INFO] [stdout] | ^^^^^^^^ cannot infer type of the type parameter `It` declared on the method `simulate` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: Iterator` [INFO] [stdout] note: required by a bound in `Automaton::::simulate` [INFO] [stdout] --> src/automata.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | fn simulate<'a, It: Iterator>(&self, inputs: Vec) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Automaton::::simulate` [INFO] [stdout] help: consider specifying the generic argument [INFO] [stdout] | [INFO] [stdout] 214 | assert!(g.simulate::(vec!("B")).is_err()); [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/automata.rs:220:15 [INFO] [stdout] | [INFO] [stdout] 220 | assert!(g.simulate(vec!("A")).is_err()); [INFO] [stdout] | ^^^^^^^^ cannot infer type of the type parameter `It` declared on the method `simulate` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: Iterator` [INFO] [stdout] note: required by a bound in `Automaton::::simulate` [INFO] [stdout] --> src/automata.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | fn simulate<'a, It: Iterator>(&self, inputs: Vec) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Automaton::::simulate` [INFO] [stdout] help: consider specifying the generic argument [INFO] [stdout] | [INFO] [stdout] 220 | assert!(g.simulate::(vec!("A")).is_err()); [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rlex` (lib) due to 6 previous errors; 6 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/automata.rs:228:7 [INFO] [stdout] | [INFO] [stdout] 228 | g.simulate(vec!("A")); [INFO] [stdout] | ^^^^^^^^ cannot infer type of the type parameter `It` declared on the method `simulate` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: Iterator` [INFO] [stdout] note: required by a bound in `Automaton::::simulate` [INFO] [stdout] --> src/automata.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | fn simulate<'a, It: Iterator>(&self, inputs: Vec) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Automaton::::simulate` [INFO] [stdout] help: consider specifying the generic argument [INFO] [stdout] | [INFO] [stdout] 228 | g.simulate::(vec!("A")); [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/automata.rs:240:7 [INFO] [stdout] | [INFO] [stdout] 240 | g.simulate(vec!("")); [INFO] [stdout] | ^^^^^^^^ cannot infer type of the type parameter `It` declared on the method `simulate` [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `_: Iterator` [INFO] [stdout] note: required by a bound in `Automaton::::simulate` [INFO] [stdout] --> src/automata.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | fn simulate<'a, It: Iterator>(&self, inputs: Vec) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Automaton::::simulate` [INFO] [stdout] help: consider specifying the generic argument [INFO] [stdout] | [INFO] [stdout] 240 | g.simulate::(vec!("")); [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/automata.rs:281:30 [INFO] [stdout] | [INFO] [stdout] 281 | match (cur_state.as_slice(), input.as_slice()) { [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for reference `&String` in the current scope [INFO] [stdout] --> src/automata.rs:281:48 [INFO] [stdout] | [INFO] [stdout] 281 | match (cur_state.as_slice(), input.as_slice()) { [INFO] [stdout] | ^^^^^^^^ method not found in `&String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `r#move` found for reference `&'a FSM` in the current scope [INFO] [stdout] --> src/automata.rs:310:39 [INFO] [stdout] | [INFO] [stdout] 310 | self.cur_state = self.fsm.move(self.cur_state.get_ref(), [INFO] [stdout] | ---------^^^^ method not found in `&'a FSM` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ref` found for enum `Option` in the current scope [INFO] [stdout] --> src/automata.rs:310:59 [INFO] [stdout] | [INFO] [stdout] 310 | self.cur_state = self.fsm.move(self.cur_state.get_ref(), [INFO] [stdout] | ^^^^^^^ method not found in `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_ref` found for enum `Option` in the current scope [INFO] [stdout] --> src/automata.rs:315:34 [INFO] [stdout] | [INFO] [stdout] 315 | Some((self.cur_state.get_ref().clone(), input.unwrap().to_string())) [INFO] [stdout] | ^^^^^^^ method not found in `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0191, E0283, E0308, E0309, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rlex` (lib test) due to 17 previous errors; 7 warnings emitted [INFO] running `Command { std: "docker" "inspect" "1840ce88496edd957b81c479b66298b8998b3d84d54e72c845197a46fd582876", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1840ce88496edd957b81c479b66298b8998b3d84d54e72c845197a46fd582876", kill_on_drop: false }` [INFO] [stdout] 1840ce88496edd957b81c479b66298b8998b3d84d54e72c845197a46fd582876