[INFO] cloning repository algon-320/msh [INFO] running `"git" "clone" "--bare" "git://github.com/algon-320/msh.git" "work/cache/sources/gh/algon-320/msh"` [INFO] [stderr] Cloning into bare repository 'work/cache/sources/gh/algon-320/msh'... [INFO] running `"git" "clone" "work/cache/sources/gh/algon-320/msh" "work/ex/pr-62133/sources/master#5f9c0448dde167128d668da4555879f64e56af1d/gh/algon-320/msh"` [INFO] [stderr] Cloning into 'work/ex/pr-62133/sources/master#5f9c0448dde167128d668da4555879f64e56af1d/gh/algon-320/msh'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/algon-320/msh" "work/ex/pr-62133/sources/try#8ec8125bea94852768b56958f05da47666c21ab0/gh/algon-320/msh"` [INFO] [stderr] Cloning into 'work/ex/pr-62133/sources/try#8ec8125bea94852768b56958f05da47666c21ab0/gh/algon-320/msh'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d43c1b0f7ced6f993262e6566c498afff2c413c4 [INFO] sha for GitHub repo algon-320/msh: d43c1b0f7ced6f993262e6566c498afff2c413c4 [INFO] validating manifest of algon-320/msh on toolchain master#5f9c0448dde167128d668da4555879f64e56af1d [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+5f9c0448dde167128d668da4555879f64e56af1d-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of algon-320/msh on toolchain try#8ec8125bea94852768b56958f05da47666c21ab0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+8ec8125bea94852768b56958f05da47666c21ab0-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing algon-320/msh [INFO] finished frobbing algon-320/msh [INFO] frobbed toml for algon-320/msh written to work/ex/pr-62133/sources/master#5f9c0448dde167128d668da4555879f64e56af1d/gh/algon-320/msh/Cargo.toml [INFO] started frobbing algon-320/msh [INFO] finished frobbing algon-320/msh [INFO] frobbed toml for algon-320/msh written to work/ex/pr-62133/sources/try#8ec8125bea94852768b56958f05da47666c21ab0/gh/algon-320/msh/Cargo.toml [INFO] crate algon-320/msh already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+5f9c0448dde167128d668da4555879f64e56af1d-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+8ec8125bea94852768b56958f05da47666c21ab0-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking algon-320/msh against master#5f9c0448dde167128d668da4555879f64e56af1d for pr-62133 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-62133/worker-2/master#5f9c0448dde167128d668da4555879f64e56af1d:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-62133/sources/master#5f9c0448dde167128d668da4555879f64e56af1d/gh/algon-320/msh:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+5f9c0448dde167128d668da4555879f64e56af1d-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] d35ba48b43cb083a697a5bdcc17926c89fc315bc7f10aa25f72f1f16378db616 [INFO] running `"docker" "start" "-a" "d35ba48b43cb083a697a5bdcc17926c89fc315bc7f10aa25f72f1f16378db616"` [INFO] [stderr] Compiling msh v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `nix::sys::signal` [INFO] [stderr] --> src/execute.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use nix::sys::signal; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/execute.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/msh-fa0ff2f1f4c3a6bf/out/msh_grammar.rs:129:314 [INFO] [stderr] | [INFO] [stderr] 129 | fn __parse_char_varname < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < () > { # ! [ allow ( non_snake_case , unused ) ] { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { 'a' ... 'z' | 'A' ... 'Z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , } } else { __state . mark_failure ( __pos , "[0-9]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '_' | '-' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[_-]" ) , } } else { __state . mark_failure ( __pos , "[_-]" ) } } } } } } [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] --> /opt/crater/target/debug/build/msh-fa0ff2f1f4c3a6bf/out/msh_grammar.rs:129:328 [INFO] [stderr] | [INFO] [stderr] 129 | fn __parse_char_varname < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < () > { # ! [ allow ( non_snake_case , unused ) ] { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { 'a' ... 'z' | 'A' ... 'Z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , } } else { __state . mark_failure ( __pos , "[0-9]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '_' | '-' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[_-]" ) , } } else { __state . mark_failure ( __pos , "[_-]" ) } } } } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/msh-fa0ff2f1f4c3a6bf/out/msh_grammar.rs:129:701 [INFO] [stderr] | [INFO] [stderr] 129 | fn __parse_char_varname < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < () > { # ! [ allow ( non_snake_case , unused ) ] { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { 'a' ... 'z' | 'A' ... 'Z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , } } else { __state . mark_failure ( __pos , "[0-9]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '_' | '-' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[_-]" ) , } } else { __state . mark_failure ( __pos , "[_-]" ) } } } } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: unused import: `nix::sys::signal` [INFO] [stderr] --> src/execute.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use nix::sys::signal; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/execute.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/msh-fa0ff2f1f4c3a6bf/out/msh_grammar.rs:129:314 [INFO] [stderr] | [INFO] [stderr] 129 | fn __parse_char_varname < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < () > { # ! [ allow ( non_snake_case , unused ) ] { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { 'a' ... 'z' | 'A' ... 'Z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , } } else { __state . mark_failure ( __pos , "[0-9]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '_' | '-' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[_-]" ) , } } else { __state . mark_failure ( __pos , "[_-]" ) } } } } } } [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] --> /opt/crater/target/debug/build/msh-fa0ff2f1f4c3a6bf/out/msh_grammar.rs:129:328 [INFO] [stderr] | [INFO] [stderr] 129 | fn __parse_char_varname < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < () > { # ! [ allow ( non_snake_case , unused ) ] { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { 'a' ... 'z' | 'A' ... 'Z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , } } else { __state . mark_failure ( __pos , "[0-9]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '_' | '-' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[_-]" ) , } } else { __state . mark_failure ( __pos , "[_-]" ) } } } } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/msh-fa0ff2f1f4c3a6bf/out/msh_grammar.rs:129:701 [INFO] [stderr] | [INFO] [stderr] 129 | fn __parse_char_varname < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < () > { # ! [ allow ( non_snake_case , unused ) ] { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { 'a' ... 'z' | 'A' ... 'Z' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let __choice_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , } } else { __state . mark_failure ( __pos , "[0-9]" ) } ; match __choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '_' | '-' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[_-]" ) , } } else { __state . mark_failure ( __pos , "[_-]" ) } } } } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: unused variable: `argv` [INFO] [stderr] --> src/builtin_commands.rs:113:40 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn exit(_: &mut structures::Shell, argv: Vec) -> execute::ExitCode { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_argv` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `end_of_string` [INFO] [stderr] --> src/execute.rs:168:33 [INFO] [stderr] | [INFO] [stderr] 168 | RedirectIn::Heredoc(end_of_string) => unimplemented!(), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_end_of_string` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `child` [INFO] [stderr] --> src/execute.rs:261:61 [INFO] [stderr] | [INFO] [stderr] 261 | Ok(unistd::ForkResult::Parent { child, .. }) => {} [INFO] [stderr] | ^^^^^ help: try ignoring the field: `child: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `child` [INFO] [stderr] --> src/execute.rs:322:53 [INFO] [stderr] | [INFO] [stderr] 322 | Ok(unistd::ForkResult::Parent { child, .. }) => {} [INFO] [stderr] | ^^^^^ help: try ignoring the field: `child: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `argv` [INFO] [stderr] --> src/builtin_commands.rs:113:40 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn exit(_: &mut structures::Shell, argv: Vec) -> execute::ExitCode { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_argv` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `end_of_string` [INFO] [stderr] --> src/execute.rs:168:33 [INFO] [stderr] | [INFO] [stderr] 168 | RedirectIn::Heredoc(end_of_string) => unimplemented!(), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_end_of_string` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `child` [INFO] [stderr] --> src/execute.rs:261:61 [INFO] [stderr] | [INFO] [stderr] 261 | Ok(unistd::ForkResult::Parent { child, .. }) => {} [INFO] [stderr] | ^^^^^ help: try ignoring the field: `child: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `child` [INFO] [stderr] --> src/execute.rs:322:53 [INFO] [stderr] | [INFO] [stderr] 322 | Ok(unistd::ForkResult::Parent { child, .. }) => {} [INFO] [stderr] | ^^^^^ help: try ignoring the field: `child: _` [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `INDENT_WIDTH` [INFO] [stderr] --> src/structures.rs:87:1 [INFO] [stderr] | [INFO] [stderr] 87 | static INDENT_WIDTH: usize = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gen_indent` [INFO] [stderr] --> src/structures.rs:88:1 [INFO] [stderr] | [INFO] [stderr] 88 | fn gen_indent(d: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:149:5 [INFO] [stderr] | [INFO] [stderr] 149 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:173:5 [INFO] [stderr] | [INFO] [stderr] 173 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `fromParent` should have a snake case name [INFO] [stderr] --> src/execute.rs:52:12 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn fromParent(parent: &'a Shell<'a>) -> Shell<'a> { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `from_parent` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | cmds.exec(&mut subsehll, 0, 1, 2, Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:328:25 [INFO] [stderr] | [INFO] [stderr] 328 | unistd::dup2(stdin, 0).map_err(error_then_exit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:329:25 [INFO] [stderr] | [INFO] [stderr] 329 | unistd::dup2(stdout, 1).map_err(error_then_exit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:330:25 [INFO] [stderr] | [INFO] [stderr] 330 | unistd::dup2(stderr, 2).map_err(error_then_exit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:331:25 [INFO] [stderr] | [INFO] [stderr] 331 | child_shell.exec(cmds).map_err(error_then_exit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:393:25 [INFO] [stderr] | [INFO] [stderr] 393 | unistd::dup2(pfd.1, 1).map_err(error_then_exit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `INDENT_WIDTH` [INFO] [stderr] --> src/structures.rs:87:1 [INFO] [stderr] | [INFO] [stderr] 87 | static INDENT_WIDTH: usize = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gen_indent` [INFO] [stderr] --> src/structures.rs:88:1 [INFO] [stderr] | [INFO] [stderr] 88 | fn gen_indent(d: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:149:5 [INFO] [stderr] | [INFO] [stderr] 149 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:173:5 [INFO] [stderr] | [INFO] [stderr] 173 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print` [INFO] [stderr] --> src/structures.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | pub fn print(&self, indent: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `fromParent` should have a snake case name [INFO] [stderr] --> src/execute.rs:52:12 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn fromParent(parent: &'a Shell<'a>) -> Shell<'a> { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `from_parent` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | cmds.exec(&mut subsehll, 0, 1, 2, Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:328:25 [INFO] [stderr] | [INFO] [stderr] 328 | unistd::dup2(stdin, 0).map_err(error_then_exit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:329:25 [INFO] [stderr] | [INFO] [stderr] 329 | unistd::dup2(stdout, 1).map_err(error_then_exit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:330:25 [INFO] [stderr] | [INFO] [stderr] 330 | unistd::dup2(stderr, 2).map_err(error_then_exit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:331:25 [INFO] [stderr] | [INFO] [stderr] 331 | child_shell.exec(cmds).map_err(error_then_exit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/execute.rs:393:25 [INFO] [stderr] | [INFO] [stderr] 393 | unistd::dup2(pfd.1, 1).map_err(error_then_exit); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.46s [INFO] running `"docker" "inspect" "d35ba48b43cb083a697a5bdcc17926c89fc315bc7f10aa25f72f1f16378db616"` [INFO] running `"docker" "rm" "-f" "d35ba48b43cb083a697a5bdcc17926c89fc315bc7f10aa25f72f1f16378db616"` [INFO] [stdout] d35ba48b43cb083a697a5bdcc17926c89fc315bc7f10aa25f72f1f16378db616