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)