From f1820e361bc78a6765cf79fbfaa6f0f81985be60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Roland=20Kov=C3=A1cs?= <zen3ger@gmail.com>
Date: Sun, 24 Feb 2019 01:34:27 +0000
Subject: [PATCH] Remove deprecated trim_left, trim_right

---
 examples/run_examples.sh                      |  2 ++
 members/lexers/src/assignments/mod.rs         |  2 +-
 .../shell_expand/words/methods/strings.rs     |  4 +--
 src/lib/parser/statement/parse.rs             | 32 +++++++++----------
 src/lib/shell/binary/mod.rs                   |  2 +-
 src/lib/shell/directory_stack.rs              |  2 +-
 src/lib/shell/signals.rs                      |  4 +--
 7 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/examples/run_examples.sh b/examples/run_examples.sh
index d2ad664c..79b5b10d 100755
--- a/examples/run_examples.sh
+++ b/examples/run_examples.sh
@@ -11,6 +11,8 @@ TAGPASS=$GREEN'[PASS]'$NC
 EXAMPLES_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 PROJECT_DIR=$(dirname $(cargo locate-project | awk -F\" '{print $4}'))
 
+TOOLCHAIN=$(rustc --version | sed 's/rustc [0-9\.\-]*\(.*\) (.*)/\1/')
+
 EXIT_VAL=0
 
 # Some of the examples assume that the working directory is the project root
diff --git a/members/lexers/src/assignments/mod.rs b/members/lexers/src/assignments/mod.rs
index 0d18025b..b9d201b3 100644
--- a/members/lexers/src/assignments/mod.rs
+++ b/members/lexers/src/assignments/mod.rs
@@ -54,7 +54,7 @@ pub fn assignment_lexer(statement: &str) -> (Option<&str>, Option<Operator>, Opt
         return (Some(statement.trim()), None, None);
     }
 
-    let keys = statement[..start].trim_right();
+    let keys = statement[..start].trim_end();
 
     let values = &statement[read..];
     (Some(keys), operator, Some(values.trim()))
diff --git a/src/lib/parser/shell_expand/words/methods/strings.rs b/src/lib/parser/shell_expand/words/methods/strings.rs
index 986f5e92..d4779219 100644
--- a/src/lib/parser/shell_expand/words/methods/strings.rs
+++ b/src/lib/parser/shell_expand/words/methods/strings.rs
@@ -172,11 +172,11 @@ impl<'a> StringMethod<'a> {
             }
             "trim_right" => {
                 let word = get_var!();
-                output.push_str(word.trim_right());
+                output.push_str(word.trim_end());
             }
             "trim_left" => {
                 let word = get_var!();
-                output.push_str(word.trim_left());
+                output.push_str(word.trim_start());
             }
             "repeat" => match pattern.join(" ").parse::<usize>() {
                 Ok(repeat) => output.push_str(&get_var!().repeat(repeat)),
diff --git a/src/lib/parser/statement/parse.rs b/src/lib/parser/statement/parse.rs
index 1cdff600..9ef22f65 100644
--- a/src/lib/parser/statement/parse.rs
+++ b/src/lib/parser/statement/parse.rs
@@ -43,7 +43,7 @@ pub(crate) fn parse(code: &str) -> Statement {
         }
         _ if cmd.starts_with("let ") => {
             // Split the let expression and ensure that the statement is valid.
-            let (keys, op, vals) = assignment_lexer(cmd[4..].trim_left());
+            let (keys, op, vals) = assignment_lexer(cmd[4..].trim_start());
             let (keys, op, values) = match vals {
                 Some(vals) => {
                     // If the values exist, then the keys and operator also exists.
@@ -66,7 +66,7 @@ pub(crate) fn parse(code: &str) -> Statement {
         }
         _ if cmd.starts_with("export ") => {
             // Split the let expression and ensure that the statement is valid.
-            let (keys, op, vals) = assignment_lexer(cmd[7..].trim_left());
+            let (keys, op, vals) = assignment_lexer(cmd[7..].trim_start());
             let (keys, op, values) = match vals {
                 Some(vals) => {
                     // If the values exist, then the keys and operator also exists.
@@ -88,7 +88,7 @@ pub(crate) fn parse(code: &str) -> Statement {
         }
         _ if cmd.starts_with("if ") => {
             return Statement::If {
-                expression: vec![parse(cmd[3..].trim_left())],
+                expression: vec![parse(cmd[3..].trim_start())],
                 success:    Vec::new(),
                 else_if:    Vec::new(),
                 failure:    Vec::new(),
@@ -97,24 +97,24 @@ pub(crate) fn parse(code: &str) -> Statement {
         }
         "else" => return Statement::Else,
         _ if cmd.starts_with("else") => {
-            let cmd = cmd[4..].trim_left();
+            let cmd = cmd[4..].trim_start();
             if cmd.is_empty() {
                 return Statement::Else;
             } else if cmd.starts_with("if ") {
                 return Statement::ElseIf(ElseIf {
-                    expression: vec![parse(cmd[3..].trim_left())],
+                    expression: vec![parse(cmd[3..].trim_start())],
                     success:    Vec::new(),
                 });
             }
         }
         _ if cmd.starts_with("while ") => {
-            return collect(cmd[6..].trim_left(), |pipeline| Statement::While {
+            return collect(cmd[6..].trim_start(), |pipeline| Statement::While {
                 expression: vec![Statement::Pipeline(pipeline)],
                 statements: Vec::new(),
             });
         }
         _ if cmd.starts_with("for ") => {
-            let mut cmd = cmd[4..].trim_left();
+            let mut cmd = cmd[4..].trim_start();
             let mut variables = None;
 
             if cmd.len() > 5 {
@@ -143,7 +143,7 @@ pub(crate) fn parse(code: &str) -> Statement {
             };
         }
         _ if cmd.starts_with("case ") => {
-            let (value, binding, conditional) = match cmd[5..].trim_left() {
+            let (value, binding, conditional) = match cmd[5..].trim_start() {
                 "_" => (None, None, None),
                 value => {
                     let (value, binding, conditional) = match case::parse_case(value) {
@@ -166,12 +166,12 @@ pub(crate) fn parse(code: &str) -> Statement {
         }
         _ if cmd.starts_with("match ") => {
             return Statement::Match {
-                expression: cmd[6..].trim_left().into(),
+                expression: cmd[6..].trim_start().into(),
                 cases:      Vec::new(),
             };
         }
         _ if cmd.starts_with("fn ") => {
-            let cmd = cmd[3..].trim_left();
+            let cmd = cmd[3..].trim_start();
             let pos = cmd.find(char::is_whitespace).unwrap_or_else(|| cmd.len());
             let name = &cmd[..pos];
             if !is_valid_name(name) {
@@ -201,10 +201,10 @@ pub(crate) fn parse(code: &str) -> Statement {
         }
         _ if cmd.starts_with("time ") => {
             // Ignore embedded time calls
-            let mut timed = cmd[4..].trim_left();
+            let mut timed = cmd[4..].trim_start();
             loop {
                 if timed.starts_with("time ") {
-                    timed = timed[4..].trim_left();
+                    timed = timed[4..].trim_start();
                     continue;
                 }
                 break;
@@ -213,15 +213,15 @@ pub(crate) fn parse(code: &str) -> Statement {
         }
         _ if cmd.eq("time") => return Statement::Time(Box::new(Statement::Default)),
         _ if cmd.starts_with("and ") => {
-            return Statement::And(Box::new(parse(cmd[3..].trim_left())));
+            return Statement::And(Box::new(parse(cmd[3..].trim_start())));
         }
         _ if cmd.eq("and") => return Statement::And(Box::new(Statement::Default)),
-        _ if cmd.starts_with("or ") => return Statement::Or(Box::new(parse(cmd[2..].trim_left()))),
+        _ if cmd.starts_with("or ") => return Statement::Or(Box::new(parse(cmd[2..].trim_start()))),
         _ if cmd.eq("or") => return Statement::Or(Box::new(Statement::Default)),
         _ if cmd.starts_with("not ") => {
-            return Statement::Not(Box::new(parse(cmd[3..].trim_left())));
+            return Statement::Not(Box::new(parse(cmd[3..].trim_start())));
         }
-        _ if cmd.starts_with("! ") => return Statement::Not(Box::new(parse(cmd[1..].trim_left()))),
+        _ if cmd.starts_with("! ") => return Statement::Not(Box::new(parse(cmd[1..].trim_start()))),
         _ if cmd.eq("not") | cmd.eq("!") => return Statement::Not(Box::new(Statement::Default)),
         _ => (),
     }
diff --git a/src/lib/shell/binary/mod.rs b/src/lib/shell/binary/mod.rs
index 23e59e7f..42153e85 100644
--- a/src/lib/shell/binary/mod.rs
+++ b/src/lib/shell/binary/mod.rs
@@ -114,7 +114,7 @@ impl Binary for Shell {
                 if !command.is_empty() {
                     if let Ok(command) = self.terminate_quotes(command.replace("\\\n", "")) {
                         let cmd: &str =
-                            &designators::expand_designators(&self, command.trim_right());
+                            &designators::expand_designators(&self, command.trim_end());
                         self.on_command(&cmd);
                         self.save_command(&cmd);
                     } else {
diff --git a/src/lib/shell/directory_stack.rs b/src/lib/shell/directory_stack.rs
index e74e4eb8..097fccb6 100644
--- a/src/lib/shell/directory_stack.rs
+++ b/src/lib/shell/directory_stack.rs
@@ -86,7 +86,7 @@ impl DirectoryStack {
         let dir = self.dirs.iter().fold(String::new(), |acc, dir| {
             acc + " " + dir.to_str().unwrap_or("ion: no directory found")
         });
-        println!("{}", dir.trim_left());
+        println!("{}", dir.trim_start());
     }
 
     pub(crate) fn dir_from_bottom(&self, num: usize) -> Option<&PathBuf> {
diff --git a/src/lib/shell/signals.rs b/src/lib/shell/signals.rs
index 76fde144..e6bca493 100644
--- a/src/lib/shell/signals.rs
+++ b/src/lib/shell/signals.rs
@@ -4,13 +4,13 @@
 //! children of the shell.
 
 // use std::sync::atomic::{ATOMIC_U8_INIT, AtomicU8};
-use std::sync::atomic::{AtomicUsize, ATOMIC_USIZE_INIT};
+use std::sync::atomic::{AtomicUsize};
 
 use crate::sys;
 
 pub(crate) use crate::sys::signals::{block, unblock};
 
-pub static PENDING: AtomicUsize = ATOMIC_USIZE_INIT;
+pub static PENDING: AtomicUsize = AtomicUsize::new(0);
 pub const SIGINT: u8 = 1;
 pub const SIGHUP: u8 = 2;
 pub const SIGTERM: u8 = 4;
-- 
GitLab