pub trait Summarizable {
    fn summary(&self) -> String;
}

pub struct NewsArticle {
    pub headline: String,
    pub location: String,
    pub author: String,
    pub content: String,
}

impl Summarizable for NewsArticle {
    fn summary(&self) -> String {
        format!("{}, by {} ({})", self.headline, self.author, self.location)
    }
}

#[cfg(test)]
mod tests {
    #[test]
    fn it_works() {
    }
}

pub trait Summarizable {
    fn summary(&self) -> String;
}

#[cfg(test)]
mod tests {
    #[test]
    fn it_works() {
    }
}

--- 
+++ 
@@ -1,5 +1,18 @@
 pub trait Summarizable {
     fn summary(&self) -> String;
+}
+
+pub struct NewsArticle {
+    pub headline: String,
+    pub location: String,
+    pub author: String,
+    pub content: String,
+}
+
+impl Summarizable for NewsArticle {
+    fn summary(&self) -> String {
+        format!("{}, by {} ({})", self.headline, self.author, self.location)
+    }
 }
 
 #[cfg(test)]
Add struct NewsArticle and implement Summarizable trait for it
