Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ambiguous typename when constructing derived component #761

Closed
VeXocide opened this issue May 5, 2013 · 0 comments

Comments

Projects
None yet
2 participants
@VeXocide
Copy link
Contributor

commented May 5, 2013

As shown in the component_inheritance_simple example constructing a derived component with arguments that is not defined in the base class using hpx::components::new_ leads to an ambiguous typename.

The example as committed in b3669a2 gives the following compile error:

In file included from hpx/runtime/components/server/preprocessed/runtime_support_implementations.hpp:11:0,
                 from hpx/runtime/components/server/runtime_support_implementations.hpp:14,
                 from hpx/runtime/components/server/runtime_support.hpp:439,
                 from hpx/runtime/components/stubs/runtime_support.hpp:14,
                 from hpx/include/client.hpp:10,
                 from hpx/runtime/agas/component_namespace.hpp:11,
                 from hpx/runtime/agas/addressing_service.hpp:33,
                 from hpx/runtime/naming/resolver_client.hpp:11,
                 from hpx/runtime/components/server/destroy_component.hpp:13,
                 from hpx/runtime/components/component_factory.hpp:17,
                 from hpx/include/components.hpp:13,
                 from examples/quickstart/component_inheritance_simple.cpp:10:
hpx/runtime/components/server/preprocessed/runtime_support_implementations_5.hpp: In instantiation of 'hpx::naming::gid_type hpx::components::server::runtime_support::create_component1(A0) [with Component = B; A0 = int]':
hpx/runtime/components/server/preprocessed/runtime_support_implementations_5.hpp:88:12:   required from 'struct hpx::components::server::create_component_action1<B, int>'
hpx/runtime/components/stubs/runtime_support.hpp:108:1:   required from 'static hpx::lcos::future<hpx::naming::id_type> hpx::components::stubs::runtime_support::create_component_async(const hpx::naming::id_type&, Arg0&&) [with Component = B; Arg0 = int]'
hpx/runtime/components/stubs/stub_base.hpp:76:1:   required from 'static hpx::lcos::future<hpx::naming::id_type> hpx::components::stub_base<ServerComponent>::create_async(const hpx::naming::id_type&, Arg0&&) [with Arg0 = int; ServerComponent = B]'
hpx/runtime/components/preprocessed/new_5.hpp:18:41:   required from 'typename boost::enable_if<hpx::traits::is_component<Component>, hpx::lcos::future<hpx::naming::id_type> >::type hpx::components::new_(const hpx::naming::id_type&, Arg0&&) [with Component = B; Arg0 = int; typename boost::enable_if<hpx::traits::is_component<Component>, hpx::lcos::future<hpx::naming::id_type> >::type = hpx::lcos::future<hpx::naming::id_type>]'
examples/quickstart/component_inheritance_simple.cpp:91:53:   required from here
hpx/runtime/components/server/preprocessed/runtime_support_implementations_5.hpp:74:13: error: lookup of 'wrapping_type' in 'B' is ambiguous
In file included from hpx/include/components.hpp:34:0,
                 from examples/quickstart/component_inheritance_simple.cpp:10:
hpx/runtime/components/server/simple_component_base.hpp:45:55: error: candidates are: typedef class hpx::components::simple_component<B> hpx::components::simple_component_base<B>::wrapping_type
In file included from hpx/include/components.hpp:35:0,
                 from examples/quickstart/component_inheritance_simple.cpp:10:
hpx/runtime/components/server/abstract_component_base.hpp:25:45: error:                 typedef class hpx::components::simple_component<A> hpx::components::abstract_simple_component_base<A>::wrapping_type

@ghost ghost assigned hkaiser May 5, 2013

@hkaiser hkaiser closed this in 355df59 May 5, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.