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,18 +1,5 @@
 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
