From 2fcf1ca1934bf7f07f0a1af1eddf99456a953669 Mon Sep 17 00:00:00 2001 From: Nicole Mazzuca Date: Thu, 15 Apr 2021 11:54:04 -0700 Subject: [PATCH] hopefully fix crash in constraints fixes microsoft/vcpkg#17269 --- src/vcpkg/dependencies.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/vcpkg/dependencies.cpp b/src/vcpkg/dependencies.cpp index 0e13a51f30..7d486f43cb 100644 --- a/src/vcpkg/dependencies.cpp +++ b/src/vcpkg/dependencies.cpp @@ -1481,7 +1481,18 @@ namespace vcpkg::Dependencies } auto& dep_node = emplace_package(dep_spec); - add_constraint(dep_node, dep, ref.first.name()); + if (dep_spec == ref.first) + { + // this is a feature dependency for oneself + for (auto&& f : dep.features) + { + add_constraint(ref, f, ref.first.name()); + } + } + else + { + add_constraint(dep_node, dep, ref.first.name()); + } p.first->second.emplace_back(dep_spec, "core"); for (auto&& f : dep.features)