diff options
| -rw-r--r-- | src/ast.rs | 8 | ||||
| -rw-r--r-- | src/builtins.rs | 4 | ||||
| -rw-r--r-- | src/runtime.rs | 4 | ||||
| -rw-r--r-- | src/test.rs | 30 |
4 files changed, 23 insertions, 23 deletions
@@ -43,7 +43,7 @@ impl Statement { while let Some(p) = inner.next() { match p.as_rule() { - Rule::symbol => parameters.push(String::from(p.as_span().as_str())), + Rule::symbol => parameters.push(p.as_span().as_str().to_owned()), Rule::expression => { let expression_inners: Vec<ExpressionInner> = p.into_inner().map(ExpressionInner::from_pair).collect(); @@ -60,7 +60,7 @@ impl Statement { expression_opt.expect("[ast] no expression found as child of definition"); Statement::Definition { - symbol: String::from(symbol), + symbol: symbol.to_owned(), parameters: parameters, expression: expression, } @@ -99,7 +99,7 @@ impl ExpressionInner { chars.next(); chars.next_back(); let s = chars.as_str(); - ExpressionInner::StringLiteral(String::from(s)) + ExpressionInner::StringLiteral(s.to_owned()) } Rule::expression => { let expression_inners: Vec<ExpressionInner> = @@ -145,7 +145,7 @@ fn integer_from_pair(pair: pest::iterators::Pair<Rule>) -> i64 { pub type StringLiteral = String; fn string_from_pair(pair: pest::iterators::Pair<Rule>) -> String { - String::from(pair.as_span().as_str()) + pair.as_span().as_str().to_owned() } pub type Symbol = String; diff --git a/src/builtins.rs b/src/builtins.rs index 3063d10..d0f5788 100644 --- a/src/builtins.rs +++ b/src/builtins.rs @@ -151,8 +151,8 @@ pub fn evaluate_builtin(builtin: &Builtin, rhs: Rc<Term>) -> Result<(Rc<Term>, u _ => return Ok((Rc::new(Term::Builtin(builtin.clone())), 0)), }, B_BOOL_TO_STRING => { - let true_str_rc = Rc::new(Term::Primitive(Value::String(String::from("true")))); - let false_str_rc = Rc::new(Term::Primitive(Value::String(String::from("false")))); + let true_str_rc = Rc::new(Term::Primitive(Value::String("true".to_owned()))); + let false_str_rc = Rc::new(Term::Primitive(Value::String("false".to_owned()))); let inner = Rc::new(Term::Application(rhs, true_str_rc)); Term::Application(inner, false_str_rc) } diff --git a/src/runtime.rs b/src/runtime.rs index 0dc4789..9e903cd 100644 --- a/src/runtime.rs +++ b/src/runtime.rs @@ -71,7 +71,7 @@ pub fn advance_v() -> usize { fn _bound_variable_opt_to_string(bound_variable_opt: &Option<(usize, Rc<Term>)>) -> String { match bound_variable_opt { Some((v, term_rc)) => format!("({}, {})", v, term_rc), - None => String::from("None"), + None => "None".to_owned(), } } @@ -202,7 +202,7 @@ pub fn repeatedly_reduce_term( loop { i += 1; if i >= MAX_REDUCTION_ITERATIONS { - return Err(String::from("MAX_REDUCTION_ITERATIONS reached")); + return Err("MAX_REDUCTION_ITERATIONS reached".to_owned()); } let (result_term, substitution_n) = reduce_term( diff --git a/src/test.rs b/src/test.rs index 0600798..728e2e5 100644 --- a/src/test.rs +++ b/src/test.rs @@ -43,7 +43,7 @@ fn reduce_integer_primitive() -> Result<(), String> { #[serial] fn reduce_string_primitive() -> Result<(), String> { initialize_before_test(); - let term = Term::Primitive(Value::String(String::from("foobar"))); + let term = Term::Primitive(Value::String("foobar".to_owned())); let (result_term, _) = reduce_term(&HashMap::new(), Rc::new(term.clone()), &None, false)?; assert_eq!(*result_term, term); Ok(()) @@ -56,7 +56,7 @@ fn reduce_id_call() -> Result<(), String> { let source = " id 1; "; - let (terms, symbol_table) = evaluate_from_source(String::from(source), None)?; + let (terms, symbol_table) = evaluate_from_source(source.to_owned(), None)?; assert_eq!(terms.len(), 1); let term = &terms[0]; @@ -74,7 +74,7 @@ fn reduce_id_call_negative() -> Result<(), String> { let source = " id 1; "; - let (terms, symbol_table) = evaluate_from_source(String::from(source), None)?; + let (terms, symbol_table) = evaluate_from_source(source.to_owned(), None)?; assert_eq!(terms.len(), 1); let term = &terms[0]; @@ -92,7 +92,7 @@ fn define_parameterized_func() -> Result<(), String> { let source = " f a b = b a; "; - let (terms, symbol_table) = evaluate_from_source(String::from(source), None)?; + let (terms, symbol_table) = evaluate_from_source(source.to_owned(), None)?; assert_eq!(terms.len(), 0); let term = symbol_table.get("f").ok_or("f not in symbol table")?; @@ -133,10 +133,10 @@ fn reduce_parameterized_func() -> Result<(), String> { )); let mut initial_symbol_table: HashMap<String, Rc<Term>> = HashMap::new(); - initial_symbol_table.insert(String::from("f"), Rc::clone(&predefined_f)); + initial_symbol_table.insert("f".to_owned(), Rc::clone(&predefined_f)); let (terms, symbol_table) = - evaluate_from_source(String::from(source), Some(initial_symbol_table))?; + evaluate_from_source(source.to_owned(), Some(initial_symbol_table))?; assert_eq!(terms.len(), 1); let term = &terms[0]; @@ -157,7 +157,7 @@ fn reduce_builtin_int_add() -> Result<(), String> { int.add 10 20; "; - let (terms, symbol_table) = evaluate_from_source(String::from(source), None)?; + let (terms, symbol_table) = evaluate_from_source(source.to_owned(), None)?; assert_eq!(terms.len(), 3); let term1 = &terms[0]; let term2 = &terms[1]; @@ -209,14 +209,14 @@ fn reduce_builtin_int_eq() -> Result<(), String> { \"false\"; "; - let (terms, symbol_table) = evaluate_from_source(String::from(source), None)?; + let (terms, symbol_table) = evaluate_from_source(source.to_owned(), None)?; assert_eq!(terms.len(), 2); let term1 = &terms[0]; let term2 = &terms[1]; // First expression let (result_term1, _) = repeatedly_reduce_term(&symbol_table, Rc::clone(term1), &None, false)?; - let expected1_string = Value::String(String::from("false")); + let expected1_string = Value::String("false".to_owned()); let result_builtin1 = match &*result_term1 { Term::Primitive(p) => p, _ => return Err(format!("{} is not a primitive", result_term1)), @@ -226,7 +226,7 @@ fn reduce_builtin_int_eq() -> Result<(), String> { // Second expression let (result_term2, _) = repeatedly_reduce_term(&symbol_table, Rc::clone(term2), &None, false)?; - let expected2_string = Value::String(String::from("true")); + let expected2_string = Value::String("true".to_owned()); let result_builtin2 = match &*result_term2 { Term::Primitive(p) => p, _ => return Err(format!("{} is not a primitive", result_term2)), @@ -250,14 +250,14 @@ fn reduce_builtin_str_eq() -> Result<(), String> { \"false\"; "; - let (terms, symbol_table) = evaluate_from_source(String::from(source), None)?; + let (terms, symbol_table) = evaluate_from_source(source.to_owned(), None)?; assert_eq!(terms.len(), 2); let term1 = &terms[0]; let term2 = &terms[1]; // First expression let (result_term1, _) = repeatedly_reduce_term(&symbol_table, Rc::clone(term1), &None, false)?; - let expected1_string = Value::String(String::from("false")); + let expected1_string = Value::String("false".to_owned()); let result_builtin1 = match &*result_term1 { Term::Primitive(p) => p, _ => return Err(format!("{} is not a primitive", result_term1)), @@ -267,7 +267,7 @@ fn reduce_builtin_str_eq() -> Result<(), String> { // Second expression let (result_term2, _) = repeatedly_reduce_term(&symbol_table, Rc::clone(term2), &None, false)?; - let expected2_string = Value::String(String::from("true")); + let expected2_string = Value::String("true".to_owned()); let result_builtin2 = match &*result_term2 { Term::Primitive(p) => p, _ => return Err(format!("{} is not a primitive", result_term2)), @@ -288,7 +288,7 @@ fn reduce_nontrivial_terminates1() -> Result<(), String> { true); "; - let (terms, symbol_table) = evaluate_from_source(String::from(source), None)?; + let (terms, symbol_table) = evaluate_from_source(source.to_owned(), None)?; assert_eq!(terms.len(), 1); let term1 = &terms[0]; @@ -310,7 +310,7 @@ fn reduce_nontrivial_terminates2() -> Result<(), String> { string.eq? result \"true\"; "; - let (terms, symbol_table) = evaluate_from_source(String::from(source), None)?; + let (terms, symbol_table) = evaluate_from_source(source.to_owned(), None)?; assert_eq!(terms.len(), 1); let term1 = &terms[0]; |
