From 80cf422170392a55f24b41e0c3d20dfd3179b836 Mon Sep 17 00:00:00 2001 From: nicole mazzuca Date: Thu, 15 Apr 2021 15:43:22 -0700 Subject: [PATCH] hopefully fix crash in constraints (#60) 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 0e13a51f30836b..7d486f43cbe948 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)