You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

957 B

easy_traits

Instructions

Your task is to implement the trait AppendStr for the type String, and AppendVec for a vector of strings.

The trait AppendStr has only one function, which is appending "world" to any object implementing this trait. And AppendVec will append "three" to a vector of strings.

Expected Function

trait AppendStr {
    fn append_str(self) -> Self;
}

trait AppendVec {
    fn append_vec(&mut self) -> Self;
}

impl AppendStr for String {}

impl AppendVec for Vec<String> {}

Usage

Here is a program to test your function.

use easy_traits::easy_traits;

fn main() {
    let s = String::from("hello ").append_str();
    println!("{}", s);

    let l = vec![String::from("one"), String::from("two")].append_vec();
    println!("{:?}", l);
}

And its output

student@ubuntu:~/[[ROOT]]/test$ cargo run
hello world
["one", "two", "three"]
student@ubuntu:~/[[ROOT]]/test$