// traits2.rs // // Your task is to implement the trait `AppendBar` for a vector of strings. To // implement this trait, consider for a moment what it means to 'append "Bar"' // to a vector of strings. // // No boiler plate code this time, you can do this! // // Execute `rustlings hint traits2` or use the `hint` watch subcommand for a hint. trait AppendBar { fn append_bar(self) -> Self; } <<<<<<< HEAD impl AppendBar for Vec { fn append_bar(mut self) -> Self { self.push(String::from("Bar")); self } } ======= // TODO: Implement trait `AppendBar` for a vector of strings. >>>>>>> 11d8aea96f2c744d970ed1ffb38785cf5b511e5e #[cfg(test)] mod tests { use super::*; #[test] fn is_vec_pop_eq_bar() { let mut foo = vec![String::from("Foo")].append_bar(); assert_eq!(foo.pop().unwrap(), String::from("Bar")); assert_eq!(foo.pop().unwrap(), String::from("Foo")); } }