message: Collect library/binary names when documenting even if a spec was given
  This seems more consistent and generally should work better.
diff: @@ -34,7 +34,6 @@ pub fn doc(ws: &Workspace, options: &DocOptions) -> CargoResult<()> {
  let mut lib_names = HashSet::new();
  let mut bin_names = HashSet::new();
  - if specs.is_empty() {
  for package in &pkgs {
  for target in package.targets().iter().filter(|t| t.documented()) {
  if target.is_lib() {
  @@ -51,7 +50,6 @@ pub fn doc(ws: &Workspace, options: &DocOptions) -> CargoResult<()> {
  }
  }
  }
  - }
  ops::compile(ws, &options.compile_opts)?;
  