// run-pass use std::string::String; fn test_stack_assign() { let s: String = "a".to_string(); println!("{}", s.clone()); let t: String = "a".to_string(); assert_eq!(s, t); let u: String = "b".to_string(); assert!((s != u)); } fn test_heap_lit() { "a big string".to_string(); } fn test_heap_assign() { let s: String = "a big ol' string".to_string(); let t: String = "a big ol' string".to_string(); assert_eq!(s, t); let u: String = "a bad ol' string".to_string(); assert!((s != u)); } fn test_heap_log() { let s = "a big ol' string".to_string(); println!("{}", s); } fn test_append() { let mut s = String::new(); s.push_str("a"); assert_eq!(s, "a"); let mut s = String::from("a"); s.push_str("b"); println!("{}", s.clone()); assert_eq!(s, "ab"); let mut s = String::from("c"); s.push_str("offee"); assert_eq!(s, "coffee"); s.push_str("&tea"); assert_eq!(s, "coffee&tea"); } pub fn main() { test_stack_assign(); test_heap_lit(); test_heap_assign(); test_heap_log(); test_append(); }