[INFO] updating cached repository https://github.com/sacooper/SimpleShell-Rust [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] 6fbec7dab15b9119db13772c6790e0f36f5dea9a [INFO] checking sacooper/SimpleShell-Rust against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsacooper%2FSimpleShell-Rust" "/workspace/builds/worker-10/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/sacooper/SimpleShell-Rust on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/sacooper/SimpleShell-Rust [INFO] finished tweaking git repo https://github.com/sacooper/SimpleShell-Rust [INFO] tweaked toml for git repo https://github.com/sacooper/SimpleShell-Rust written to /workspace/builds/worker-10/source/Cargo.toml [INFO] crate git repo https://github.com/sacooper/SimpleShell-Rust already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=forbid" "-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" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 51ee5ec4bca8c0c8d9898471c725dde67ff529fec86d69d80480dc76acb6f38e [INFO] running `"docker" "start" "-a" "51ee5ec4bca8c0c8d9898471c725dde67ff529fec86d69d80480dc76acb6f38e"` [INFO] [stderr] Checking RustShell v0.0.1 (/opt/rustwide/workdir) [INFO] [stderr] error: invalid suffix `u` for integer literal [INFO] [stderr] --> src/main.rs:29:61 [INFO] [stderr] | [INFO] [stderr] 29 | let y : Vec<&HistoryEntry> = history.iter().rev().take(10u).collect(); [INFO] [stderr] | ^^^ invalid suffix `u` [INFO] [stderr] | [INFO] [stderr] = help: the suffix must be one of the integral types (`u32`, `isize`, etc) [INFO] [stderr] [INFO] [stderr] error: expected one of `)`, `,`, `.`, `?`, or an operator, found `{` [INFO] [stderr] --> src/main.rs:118:19 [INFO] [stderr] | [INFO] [stderr] 118 | spawn(proc() { [INFO] [stderr] | -^ expected one of `)`, `,`, `.`, `?`, or an operator [INFO] [stderr] | | [INFO] [stderr] | help: missing `,` [INFO] [stderr] [INFO] [stderr] error: invalid suffix `u` for integer literal [INFO] [stderr] --> src/main.rs:29:61 [INFO] [stderr] | [INFO] [stderr] 29 | let y : Vec<&HistoryEntry> = history.iter().rev().take(10u).collect(); [INFO] [stderr] | ^^^ invalid suffix `u` [INFO] [stderr] | [INFO] [stderr] = help: the suffix must be one of the integral types (`u32`, `isize`, etc) [INFO] [stderr] [INFO] [stderr] error: expected one of `)`, `,`, `.`, `?`, or an operator, found `{` [INFO] [stderr] --> src/main.rs:118:19 [INFO] [stderr] | [INFO] [stderr] 118 | spawn(proc() { [INFO] [stderr] | -^ expected one of `)`, `,`, `.`, `?`, or an operator [INFO] [stderr] | | [INFO] [stderr] | help: missing `,` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `std::io::process` [INFO] [stderr] --> src/main.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::process::Command; [INFO] [stderr] | ^^^^^^^ could not find `process` in `io` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `std::io::process` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::process; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ no `process` in `io` [INFO] [stderr] [INFO] [stderr] error: cannot find attribute `deriving` in this scope [INFO] [stderr] --> src/main.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | #[deriving(Clone)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `uint` in this scope [INFO] [stderr] --> src/main.rs:66:21 [INFO] [stderr] | [INFO] [stderr] 21 | fn execute(args : &Vec<&str>, background : bool, history : &mut Vec, jobs : &mut Vec) -> Result<(), ()> { [INFO] [stderr] | - help: you might be missing a type parameter: `` [INFO] [stderr] ... [INFO] [stderr] 66 | let x : Option = from_str(args[1]); [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `from_str` in this scope [INFO] [stderr] --> src/main.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | let x : Option = from_str(args[1]); [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `uint` in this scope [INFO] [stderr] --> src/main.rs:88:21 [INFO] [stderr] | [INFO] [stderr] 21 | fn execute(args : &Vec<&str>, background : bool, history : &mut Vec, jobs : &mut Vec) -> Result<(), ()> { [INFO] [stderr] | - help: you might be missing a type parameter: `` [INFO] [stderr] ... [INFO] [stderr] 88 | let x : Option = from_str(args[1]); [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `from_str` in this scope [INFO] [stderr] --> src/main.rs:88:29 [INFO] [stderr] | [INFO] [stderr] 88 | let x : Option = from_str(args[1]); [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Sender` in this scope [INFO] [stderr] --> src/main.rs:117:21 [INFO] [stderr] | [INFO] [stderr] 117 | let (tx, rx): (Sender, Receiver) = channel(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: a trait with a similar name exists [INFO] [stderr] | [INFO] [stderr] 117 | let (tx, rx): (Send, Receiver) = channel(); [INFO] [stderr] | ^^^^ [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use std::sync::mpsc::Sender; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Receiver` in this scope [INFO] [stderr] --> src/main.rs:117:47 [INFO] [stderr] | [INFO] [stderr] 117 | let (tx, rx): (Sender, Receiver) = channel(); [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Receiver; [INFO] [stderr] | [INFO] [stderr] 1 | use std::sync::mpsc::Receiver; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `channel` in this scope [INFO] [stderr] --> src/main.rs:117:77 [INFO] [stderr] | [INFO] [stderr] 117 | let (tx, rx): (Sender, Receiver) = channel(); [INFO] [stderr] | ^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use std::sync::mpsc::channel; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `spawn` in this scope [INFO] [stderr] --> src/main.rs:118:6 [INFO] [stderr] | [INFO] [stderr] 118 | spawn(proc() { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use std::thread::spawn; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `proc` in this scope [INFO] [stderr] --> src/main.rs:118:12 [INFO] [stderr] | [INFO] [stderr] 118 | spawn(proc() { [INFO] [stderr] | ^^^^ help: a local variable with a similar name exists: `prog` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stderr] --> src/main.rs:151:36 [INFO] [stderr] | [INFO] [stderr] 151 | let input : String = io::stdin().read_line().unwrap_or(String::new()); [INFO] [stderr] | ^^^^^^^^^- supplied 0 arguments [INFO] [stderr] | | [INFO] [stderr] | expected 1 argument [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `std::io::process` [INFO] [stderr] --> src/main.rs:2:14 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io::process::Command; [INFO] [stderr] | ^^^^^^^ could not find `process` in `io` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `std::io::process` [INFO] [stderr] --> src/main.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::process; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ no `process` in `io` [INFO] [stderr] [INFO] [stderr] error: cannot find attribute `deriving` in this scope [INFO] [stderr] --> src/main.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | #[deriving(Clone)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `uint` in this scope [INFO] [stderr] --> src/main.rs:66:21 [INFO] [stderr] | [INFO] [stderr] 21 | fn execute(args : &Vec<&str>, background : bool, history : &mut Vec, jobs : &mut Vec) -> Result<(), ()> { [INFO] [stderr] | - help: you might be missing a type parameter: `` [INFO] [stderr] ... [INFO] [stderr] 66 | let x : Option = from_str(args[1]); [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `from_str` in this scope [INFO] [stderr] --> src/main.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | let x : Option = from_str(args[1]); [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `uint` in this scope [INFO] [stderr] --> src/main.rs:88:21 [INFO] [stderr] | [INFO] [stderr] 21 | fn execute(args : &Vec<&str>, background : bool, history : &mut Vec, jobs : &mut Vec) -> Result<(), ()> { [INFO] [stderr] | - help: you might be missing a type parameter: `` [INFO] [stderr] ... [INFO] [stderr] 88 | let x : Option = from_str(args[1]); [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `from_str` in this scope [INFO] [stderr] --> src/main.rs:88:29 [INFO] [stderr] | [INFO] [stderr] 88 | let x : Option = from_str(args[1]); [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Sender` in this scope [INFO] [stderr] --> src/main.rs:117:21 [INFO] [stderr] | [INFO] [stderr] 117 | let (tx, rx): (Sender, Receiver) = channel(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: a trait with a similar name exists [INFO] [stderr] | [INFO] [stderr] 117 | let (tx, rx): (Send, Receiver) = channel(); [INFO] [stderr] | ^^^^ [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use std::sync::mpsc::Sender; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `Receiver` in this scope [INFO] [stderr] --> src/main.rs:117:47 [INFO] [stderr] | [INFO] [stderr] 117 | let (tx, rx): (Sender, Receiver) = channel(); [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Receiver; [INFO] [stderr] | [INFO] [stderr] 1 | use std::sync::mpsc::Receiver; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `channel` in this scope [INFO] [stderr] --> src/main.rs:117:77 [INFO] [stderr] | [INFO] [stderr] 117 | let (tx, rx): (Sender, Receiver) = channel(); [INFO] [stderr] | ^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use std::sync::mpsc::channel; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `spawn` in this scope [INFO] [stderr] --> src/main.rs:118:6 [INFO] [stderr] | [INFO] [stderr] 118 | spawn(proc() { [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use std::thread::spawn; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `proc` in this scope [INFO] [stderr] --> src/main.rs:118:12 [INFO] [stderr] | [INFO] [stderr] 118 | spawn(proc() { [INFO] [stderr] | ^^^^ help: a local variable with a similar name exists: `prog` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stderr] --> src/main.rs:151:36 [INFO] [stderr] | [INFO] [stderr] 151 | let input : String = io::stdin().read_line().unwrap_or(String::new()); [INFO] [stderr] | ^^^^^^^^^- supplied 0 arguments [INFO] [stderr] | | [INFO] [stderr] | expected 1 argument [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/main.rs:151:58 [INFO] [stderr] | [INFO] [stderr] 151 | let input : String = io::stdin().read_line().unwrap_or(String::new()); [INFO] [stderr] | ^^^^^^^^^^^^^ expected `usize`, found struct `std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/main.rs:151:24 [INFO] [stderr] | [INFO] [stderr] 151 | let input : String = io::stdin().read_line().unwrap_or(String::new()); [INFO] [stderr] | ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | expected struct `std::string::String`, found `usize` [INFO] [stderr] | | help: try using a conversion method: `io::stdin().read_line().unwrap_or(String::new()).to_string()` [INFO] [stderr] | expected due to this [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `from_str` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:154:28 [INFO] [stderr] | [INFO] [stderr] 154 | else if input == String::from_str("\n"){continue}; [INFO] [stderr] | ^^^^^^^^ function or associated item not found in `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 1 | use std::str::FromStr; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `add` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:31:65 [INFO] [stderr] | [INFO] [stderr] 31 | let name = x.args.iter().fold(String::new(), |acc, x|{acc.add(x).add(&" ")}); [INFO] [stderr] | ^^^ method not found in `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Add; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `add` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:32:52 [INFO] [stderr] | [INFO] [stderr] 32 | let name = if x.background {name} else {name.add(&"&")}; [INFO] [stderr] | ^^^ method not found in `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Add; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `clone` found for mutable reference `&mut std::vec::Vec` in the current scope [INFO] [stderr] --> src/main.rs:39:20 [INFO] [stderr] | [INFO] [stderr] 11 | struct HistoryEntry{ [INFO] [stderr] | ------------------- doesn't satisfy `HistoryEntry: std::clone::Clone` [INFO] [stderr] ... [INFO] [stderr] 39 | match history.clone().last(){ [INFO] [stderr] | ^^^^^ method not found in `&mut std::vec::Vec` [INFO] [stderr] | [INFO] [stderr] = note: the method `clone` exists but the following trait bounds were not satisfied: [INFO] [stderr] `HistoryEntry: std::clone::Clone` [INFO] [stderr] which is required by `std::vec::Vec: std::clone::Clone` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `clone` found for mutable reference `&mut std::vec::Vec` in the current scope [INFO] [stderr] --> src/main.rs:47:23 [INFO] [stderr] | [INFO] [stderr] 11 | struct HistoryEntry{ [INFO] [stderr] | ------------------- doesn't satisfy `HistoryEntry: std::clone::Clone` [INFO] [stderr] ... [INFO] [stderr] 47 | for x in history.clone().iter().rev() { [INFO] [stderr] | ^^^^^ method not found in `&mut std::vec::Vec` [INFO] [stderr] | [INFO] [stderr] = note: the method `clone` exists but the following trait bounds were not satisfied: [INFO] [stderr] `HistoryEntry: std::clone::Clone` [INFO] [stderr] which is required by `std::vec::Vec: std::clone::Clone` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `char_at` found for reference `&str` in the current scope [INFO] [stderr] --> src/main.rs:48:53 [INFO] [stderr] | [INFO] [stderr] 48 | if x.args[0].as_slice().char_at(0) == args[1].char_at(0){ [INFO] [stderr] | ^^^^^^^ method not found in `&str` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `tail` found for reference `&std::vec::Vec<&str>` in the current scope [INFO] [stderr] --> src/main.rs:110:20 [INFO] [stderr] | [INFO] [stderr] 110 | prog.args(args.tail().as_slice()); [INFO] [stderr] | ^^^^ method not found in `&std::vec::Vec<&str>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `add` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:123:90 [INFO] [stderr] | [INFO] [stderr] 123 | jobs.push(JobEntry{process : p, name : args.iter().fold(String::new(), |acc, x|{acc.add(x).add(&" ")})})} [INFO] [stderr] | ^^^ method not found in `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Add; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `from_str` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:130:66 [INFO] [stderr] | [INFO] [stderr] 130 | history.push(HistoryEntry{args : args.iter().map(|x|{String::from_str(*x)}).collect(), background : background}); [INFO] [stderr] | ^^^^^^^^ function or associated item not found in `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 1 | use std::str::FromStr; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for reference `&'r std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:141:18 [INFO] [stderr] | [INFO] [stderr] 141 | for c in input.as_slice().split(' '){ [INFO] [stderr] | ^^^^^^^^ method not found in `&'r std::string::String` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/main.rs:151:58 [INFO] [stderr] | [INFO] [stderr] 151 | let input : String = io::stdin().read_line().unwrap_or(String::new()); [INFO] [stderr] | ^^^^^^^^^^^^^ expected `usize`, found struct `std::string::String` [INFO] [stderr] [INFO] [stderr] error: aborting due to 27 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0308, E0412, E0425, E0432, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: could not compile `RustShell`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/main.rs:151:24 [INFO] [stderr] | [INFO] [stderr] 151 | let input : String = io::stdin().read_line().unwrap_or(String::new()); [INFO] [stderr] | ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | | [INFO] [stderr] | | expected struct `std::string::String`, found `usize` [INFO] [stderr] | | help: try using a conversion method: `io::stdin().read_line().unwrap_or(String::new()).to_string()` [INFO] [stderr] | expected due to this [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `from_str` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:154:28 [INFO] [stderr] | [INFO] [stderr] 154 | else if input == String::from_str("\n"){continue}; [INFO] [stderr] | ^^^^^^^^ function or associated item not found in `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 1 | use std::str::FromStr; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `add` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:31:65 [INFO] [stderr] | [INFO] [stderr] 31 | let name = x.args.iter().fold(String::new(), |acc, x|{acc.add(x).add(&" ")}); [INFO] [stderr] | ^^^ method not found in `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Add; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `add` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:32:52 [INFO] [stderr] | [INFO] [stderr] 32 | let name = if x.background {name} else {name.add(&"&")}; [INFO] [stderr] | ^^^ method not found in `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Add; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `clone` found for mutable reference `&mut std::vec::Vec` in the current scope [INFO] [stderr] --> src/main.rs:39:20 [INFO] [stderr] | [INFO] [stderr] 11 | struct HistoryEntry{ [INFO] [stderr] | ------------------- doesn't satisfy `HistoryEntry: std::clone::Clone` [INFO] [stderr] ... [INFO] [stderr] 39 | match history.clone().last(){ [INFO] [stderr] | ^^^^^ method not found in `&mut std::vec::Vec` [INFO] [stderr] | [INFO] [stderr] = note: the method `clone` exists but the following trait bounds were not satisfied: [INFO] [stderr] `HistoryEntry: std::clone::Clone` [INFO] [stderr] which is required by `std::vec::Vec: std::clone::Clone` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `clone` found for mutable reference `&mut std::vec::Vec` in the current scope [INFO] [stderr] --> src/main.rs:47:23 [INFO] [stderr] | [INFO] [stderr] 11 | struct HistoryEntry{ [INFO] [stderr] | ------------------- doesn't satisfy `HistoryEntry: std::clone::Clone` [INFO] [stderr] ... [INFO] [stderr] 47 | for x in history.clone().iter().rev() { [INFO] [stderr] | ^^^^^ method not found in `&mut std::vec::Vec` [INFO] [stderr] | [INFO] [stderr] = note: the method `clone` exists but the following trait bounds were not satisfied: [INFO] [stderr] `HistoryEntry: std::clone::Clone` [INFO] [stderr] which is required by `std::vec::Vec: std::clone::Clone` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `char_at` found for reference `&str` in the current scope [INFO] [stderr] --> src/main.rs:48:53 [INFO] [stderr] | [INFO] [stderr] 48 | if x.args[0].as_slice().char_at(0) == args[1].char_at(0){ [INFO] [stderr] | ^^^^^^^ method not found in `&str` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `tail` found for reference `&std::vec::Vec<&str>` in the current scope [INFO] [stderr] --> src/main.rs:110:20 [INFO] [stderr] | [INFO] [stderr] 110 | prog.args(args.tail().as_slice()); [INFO] [stderr] | ^^^^ method not found in `&std::vec::Vec<&str>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `add` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:123:90 [INFO] [stderr] | [INFO] [stderr] 123 | jobs.push(JobEntry{process : p, name : args.iter().fold(String::new(), |acc, x|{acc.add(x).add(&" ")})})} [INFO] [stderr] | ^^^ method not found in `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Add; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no function or associated item named `from_str` found for struct `std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:130:66 [INFO] [stderr] | [INFO] [stderr] 130 | history.push(HistoryEntry{args : args.iter().map(|x|{String::from_str(*x)}).collect(), background : background}); [INFO] [stderr] | ^^^^^^^^ function or associated item not found in `std::string::String` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 1 | use std::str::FromStr; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_slice` found for reference `&'r std::string::String` in the current scope [INFO] [stderr] --> src/main.rs:141:18 [INFO] [stderr] | [INFO] [stderr] 141 | for c in input.as_slice().split(' '){ [INFO] [stderr] | ^^^^^^^^ method not found in `&'r std::string::String` [INFO] [stderr] [INFO] [stderr] error: aborting due to 27 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0308, E0412, E0425, E0432, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: could not compile `RustShell`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "51ee5ec4bca8c0c8d9898471c725dde67ff529fec86d69d80480dc76acb6f38e"` [INFO] running `"docker" "rm" "-f" "51ee5ec4bca8c0c8d9898471c725dde67ff529fec86d69d80480dc76acb6f38e"` [INFO] [stdout] 51ee5ec4bca8c0c8d9898471c725dde67ff529fec86d69d80480dc76acb6f38e