aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/fruit/impl/component_functors.defn.h2
-rwxr-xr-xtests/test_install.py6
2 files changed, 5 insertions, 3 deletions
diff --git a/include/fruit/impl/component_functors.defn.h b/include/fruit/impl/component_functors.defn.h
index 841dae9..dd62939 100644
--- a/include/fruit/impl/component_functors.defn.h
+++ b/include/fruit/impl/component_functors.defn.h
@@ -1028,7 +1028,7 @@ struct AutoRegisterFactoryHelper {
std::size_t numEntries() {
#ifdef FRUIT_EXTRA_DEBUG
auto provider = [](const UnwrapType<Eval<CFunctor>>& fun) {
- return UnwrapType<Eval<CUniquePtrFunctor>>([=](UnwrapType<Args>... args) {
+ return UnwrapType<Eval<CUniquePtrFunctor>>([=](typename TypeUnwrapper<Args>::type... args) {
NakedC* c = new NakedC(fun(args...));
return std::unique_ptr<NakedC>(c);
});
diff --git a/tests/test_install.py b/tests/test_install.py
index aa29d0c..2901da1 100755
--- a/tests/test_install.py
+++ b/tests/test_install.py
@@ -757,7 +757,8 @@ def test_install_with_args_error_not_hashable():
+ '|error: call to implicitly-deleted default constructor of .std::hash<Arg>.'
+ '|error: invalid use of incomplete type .struct std::hash<Arg>.'
+ '|error: implicit instantiation of undefined template .std::(__1::)?hash<Arg>.'
- + '|error C2338: The C\+\+ Standard doesn.t provide a hash for this type.',
+ + '|error C2338: The C\+\+ Standard doesn.t provide a hash for this type.'
+ + '|error C2064: term does not evaluate to a function taking 1 arguments',
COMMON_DEFINITIONS,
source)
@@ -786,7 +787,8 @@ def test_install_with_args_error_not_hashable_with_conversion():
+ '|error: call to implicitly-deleted default constructor of .std::hash<Arg>.'
+ '|error: invalid use of incomplete type .struct std::hash<Arg>.'
+ '|error: implicit instantiation of undefined template .std::(__1::)?hash<Arg>.'
- + '|error C2338: The C\+\+ Standard doesn.t provide a hash for this type.',
+ + '|error C2338: The C\+\+ Standard doesn.t provide a hash for this type.'
+ + '|error C2064: term does not evaluate to a function taking 1 arguments',
COMMON_DEFINITIONS,
source)