message: disable public dependency checks with renamed and 'cfg({})'
diff: @@ -601,6 +601,12 @@ fn activate(
  )
  // and associate dep with that edge
  .push(dep.clone());
  + // For now the interaction of public dependency conflicts with renamed and
  + // 'cfg({})' dependencies is not clear. So we disable public checks if the
  + // other functionality is used.
  + // TODO: this disable is not a long term solution.
  + // This needs to be removed before public dependencies are stabilized!
  + if dep.platform().is_none() && dep.explicit_name_in_toml().is_none() {
  let cs: Vec<PackageId> = cx
  .public_dependency
  .get(&candidate_pid)
  @@ -635,6 +641,7 @@ fn activate(
  }
  }
  }
  + }
  let activated = cx.flag_activated(&candidate.summary, method)?;
  @@ -774,6 +781,13 @@ impl RemainingCandidates {
  // we have to reject this candidate. Additionally this candidate may already have been
  // activated and have public dependants of its own,
  // all of witch also need to be checked the same way.
  +
  + // For now the interaction of public dependency conflicts with renamed and
  + // 'cfg({})' dependencies is not clear. So we disable public checks if the
  + // other functionality is used.
  + // TODO: this disable is not a long term solution.
  + // This needs to be removed before public dependencies are stabilized!
  + if dep.platform().is_none() && dep.explicit_name_in_toml().is_none() {
  for &t in cx
  .public_dependency
  .get(&b.summary.package_id())
  @@ -785,7 +799,8 @@ impl RemainingCandidates {
  let mut stack = vec![(parent, dep.is_public())];
  while let Some((p, public)) = stack.pop() {
  // TODO: dont look at the same thing more then once
  - if let Some(o) = cx.public_dependency.get(&p).and_then(|x| x.get(&t.name())) {
  + if let Some(o) = cx.public_dependency.get(&p).and_then(|x| x.get(&t.name()))
  + {
  if o.0 != t {
  conflicting_prev_active.insert(p, ConflictReason::PublicDependency);
  continue 'main;
  @@ -798,6 +813,7 @@ impl RemainingCandidates {
  }
  }
  }
  + }
  // Well if we made it this far then we've got a valid dependency. We
  // want this iterator to be inherently "peekable" so we don't
  