You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benno Evers (JIRA)" <ji...@apache.org> on 2018/11/15 11:58:00 UTC
[jira] [Created] (MESOS-9390) Warnings in AdaptedOperation prevent
clang build
Benno Evers created MESOS-9390:
----------------------------------
Summary: Warnings in AdaptedOperation prevent clang build
Key: MESOS-9390
URL: https://issues.apache.org/jira/browse/MESOS-9390
Project: Mesos
Issue Type: Bug
Environment: Fedora 28
Reporter: Benno Evers
Trying to build the latest mesos master using clang-8 as a compiler, the following warnings can be observed:
{noformat}
../../src/resource_provider/registrar.cpp:387:5: error: explicitly defaulted move constructor is implicitly deleted [-Werror,-Wdefaulted-function-deleted]
AdaptedOperation(AdaptedOperation&&) = default;
^
../../src/resource_provider/registrar.cpp:374:28: note: move constructor of 'AdaptedOperation' is implicitly deleted because base class 'master::RegistryOperation' has a deleted move constructor
class AdaptedOperation : public master::RegistryOperation
^
../../src/master/registrar.hpp:45:27: note: copy constructor of 'RegistryOperation' is implicitly deleted because base class 'process::Promise<bool>' has an inaccessible copy constructor
class RegistryOperation : public process::Promise<bool>
^
../../src/resource_provider/registrar.cpp:389:23: error: explicitly defaulted move assignment operator is implicitly deleted [-Werror,-Wdefaulted-function-deleted]
AdaptedOperation& operator=(AdaptedOperation&&) = default;
^
../../src/resource_provider/registrar.cpp:374:28: note: move assignment operator of 'AdaptedOperation' is implicitly deleted because base class 'master::RegistryOperation' has a deleted move assignment operator
class AdaptedOperation : public master::RegistryOperation
^
../../src/master/registrar.hpp:45:27: note: copy assignment operator of 'RegistryOperation' is implicitly deleted because base class 'process::Promise<bool>' has an inaccessible copy assignment operator
class RegistryOperation : public process::Promise<bool>
^
2 errors generated.
{noformat}
I tried looking into this, but I can't make sense of the warnings, the required move constructor and move assignment operator seem to be correctly declared in `Promise`:
{noformat}
// 3rdparty/libprocess/include/process/future.hpp
template <typename T>
class Promise
{
public:
Promise();
virtual ~Promise();
explicit Promise(const T& t);
Promise(Promise&& that) = default;
Promise& operator=(Promise&&) = default;
[...]
};
{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)