message: File local mods now parsed.
  Previous mod rules didn't account for nested modules, only modules in their own files. Parsing rules remedied to address this.
diff: @@ -18,11 +18,7 @@ struct IgnoredLines<'a> {
  config: &'a Config,
  started: bool,
  }
  -/*
  - * MetaItem contains #[test] etc use it to filter those lines and test functions!
  - *
  - * Need to use walk to traverse DEEPER. is fn under attr?
  - */
  +
  /// Returns a list of files and line numbers to ignore (not indexes!)
  pub fn get_lines_to_ignore(project: &Workspace, config: &Config) -> Vec<(PathBuf, usize)> {
  @@ -38,6 +34,7 @@ pub fn get_lines_to_ignore(project: &Workspace, config: &Config) -> Vec<(PathBuf
  let parse_session = ParseSess::with_span_handler(handler, codemap.clone());
  for file in src.list_files(&pkg).unwrap().iter() {
  + if !(config.ignore_tests && file.starts_with(project.root().join("tests"))) {
  if file.extension() == Some(OsStr::new("rs")) {
  // Rust source file
  let mut parser = parse::new_parser_from_file(&parse_session, &file);
  @@ -50,6 +47,7 @@ pub fn get_lines_to_ignore(project: &Workspace, config: &Config) -> Vec<(PathBuf
  }
  }
  }
  + }
  result
  }
  @@ -93,9 +91,19 @@ impl<'v, 'a> Visitor<'v> for IgnoredLines<'a> {
  self.started = true;
  visit::walk_mod(self, m);
  } else {
  + // Needs to be more advanced - cope with mod { .. } in file.
  + // Also if mod is cfg(test) and --ignore-tests ignore contents!
  + if let Ok(fl) = self.codemap.span_to_lines(s) {
  + if fl.lines.len() > 1 {
  + visit::walk_mod(self, m);
  + } else {
  + // one line mod, so either referencing another file or something
  + // not worth covering.
  self.ignore_lines(s);
  }
  }
  + }
  + }
  fn visit_fn(&mut self, fk: FnKind<'v>, fd: &'v FnDecl, s: Span, _: NodeId) {
  visit::walk_fn(self, fk, fd, s);
  