]> git.lizzy.rs Git - rust.git/commit - src/tools/clippy
Auto merge of #52546 - nikomatsakis:issue-52050, r=pnkfelix
authorbors <bors@rust-lang.org>
Sat, 28 Jul 2018 18:41:40 +0000 (18:41 +0000)
committerbors <bors@rust-lang.org>
Sat, 28 Jul 2018 18:41:40 +0000 (18:41 +0000)
commit4234adf0d4fa56e8a8b8d790fb4992d160ab2188
tree0ea5c0f9148aed2cec8ace0b78456b90d9c20596
parentd75458200516f06455d175adc001fd993d674050
parent4fd5aed55132eb4a65464c5018c106614d8d5504
Auto merge of #52546 - nikomatsakis:issue-52050, r=pnkfelix

do not overwrite child def-id in place but rather remove/insert

When inserting a node N into the tree of impls, we sometimes find than an existing node C should be replaced with N. We used to overwrite C in place with the new def-id N -- but since the lists of def-ids are separated by simplified type, that could lead to N being inserted in the wrong place. This meant we might miss conflicts. We are now not trying to be so smart -- we remove C and then add N later.

Fixes #52050

r? @aturon -- do you still remember this code at all? :)
src/librustc/traits/specialize/specialization_graph.rs