From 66be4b34a198f575076634ff85e8f2682f09c349 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 26 Mar 2021 14:42:52 -0700 Subject: [PATCH] [vcpkg] Improve error when accessing missing feature --- src/vcpkg/dependencies.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/vcpkg/dependencies.cpp b/src/vcpkg/dependencies.cpp index 4fd89d1e08..cd9fba3d5c 100644 --- a/src/vcpkg/dependencies.cpp +++ b/src/vcpkg/dependencies.cpp @@ -106,9 +106,14 @@ namespace vcpkg::Dependencies return; } auto maybe_vars = var_provider.get_dep_info_vars(m_spec); - const std::vector* qualified_deps = - &get_scfl_or_exit().source_control_file->find_dependencies_for_feature(feature).value_or_exit( - VCPKG_LINE_INFO); + Optional&> maybe_qualified_deps = + get_scfl_or_exit().source_control_file->find_dependencies_for_feature(feature); + if (!maybe_qualified_deps.has_value()) + { + Checks::exit_with_message( + VCPKG_LINE_INFO, "Error: could not find feature '%s' in port '%s'", feature, m_spec.name()); + } + const std::vector* qualified_deps = &maybe_qualified_deps.value_or_exit(VCPKG_LINE_INFO); std::vector dep_list; if (auto vars = maybe_vars.get())