Auto merge of #4583 - alexcrichton:unstable, r=matklad
authorbors <bors@rust-lang.org>
Thu, 5 Oct 2017 22:54:59 +0000 (22:54 +0000)
committerbors <bors@rust-lang.org>
Thu, 5 Oct 2017 22:54:59 +0000 (22:54 +0000)
Fix [patch] causing updates with a virtual manifest

This commit fixes the [patch] implementation to avoid causing spurious updates
of the registry when specified inside of a virtual manifest via a path
dependency that was otherwise outside of the workspace.

Cargo previously attempted to learn about path dependencies through the
configuration of the workspace by looking at members, their path dependencies,
and their replace sections. The replace/patch sections, however, only matter at
the root of the workspace and those weren't looked at! This commit fixes this
problem by explicitly looking at the workspace's replace/patch sections and
avoiding looking at other manifest replace/patch which shouldn't matter.

Closes #4552


Trivial merge