forked from enlightenment/efl
eolian-cxx: Fix instantiate constructor with lambda after disambiguation patch
This commit is contained in:
parent
761e6a304c
commit
44c0199f42
|
@ -73,7 +73,7 @@ struct class_definition_generator
|
|||
<< scope_tab << "{\n"
|
||||
<< scope_tab << scope_tab << "::efl::eolian::do_eo_add( ::efl::eo::concrete::_eo_raw, ::efl::eo::concrete{nullptr}, _eo_class(), f);\n"
|
||||
<< scope_tab << "}\n"
|
||||
<< scope_tab << "template <typename F> " << string << "( ::efl::eo::instantiate_t, ::efl::eo::concrete parent, F f, typename ::std::enable_if< ::efl::eolian::is_callable<F>::value>::type* = 0)\n"
|
||||
<< scope_tab << "template <typename T, typename F> " << string << "( ::efl::eo::instantiate_t, T&& parent, F f, typename ::std::enable_if< ::efl::eolian::is_callable<F>::value && ::efl::eo::is_eolian_object<T>::value>::type* = 0)\n"
|
||||
<< scope_tab << "{\n"
|
||||
<< scope_tab << scope_tab << "::efl::eolian::do_eo_add( ::efl::eo::concrete::_eo_raw, parent, _eo_class(), f);\n"
|
||||
<< scope_tab << "}\n"
|
||||
|
|
|
@ -44,6 +44,17 @@ START_TEST(eolian_cxx_test_binding_constructor_all_optionals)
|
|||
}
|
||||
);
|
||||
|
||||
nonamespace::Generic g2
|
||||
(efl::eo::instantiate, g,
|
||||
[&]
|
||||
{
|
||||
g.required_ctor_a(2);
|
||||
g.required_ctor_b(4);
|
||||
g.optional_ctor_a(3);
|
||||
g.optional_ctor_b(5);
|
||||
}
|
||||
);
|
||||
|
||||
fail_if(2 != g.req_ctor_a_value_get());
|
||||
fail_if(3 != g.opt_ctor_a_value_get());
|
||||
fail_if(4 != g.req_ctor_b_value_get());
|
||||
|
|
Loading…
Reference in New Issue