Bug #39561
common: Clang requires a default constructor, but it can be empty #27844
0%
Description
Error from Clang:
In file included from /home/jenkins/workspace/ceph-master/src/cls/rbd/cls_rbd.cc:28:
In file included from /home/jenkins/workspace/ceph-master/src/objclass/../include/types.h:21:
In file included from /home/jenkins/workspace/ceph-master/src/include/uuid.h:9:
In file included from /home/jenkins/workspace/ceph-master/src/include/encoding.h:17:
In file included from /usr/include/c++/v1/set:426:
In file included from /usr/include/c++/v1/__tree:16:
/usr/include/c++/v1/memory:2241:41: error: call to implicitly-deleted default constructor of '__compressed_pair_elem<ceph::BitVector<'\x02'>::NoInitAllocator, 1>'
: Base1(std::forward<_Tp>(_t)), Base2() {}
^
/usr/include/c++/v1/vector:437:7: note: in instantiation of function template specialization 'std::_1::__compressed_pair<unsigned int *, ceph::BitVector<'\x02'>::NoInitAllocator>::__compressed_pair<nullptr_t, true>' requested here
_end_cap(nullptr)
^
/usr/include/c++/v1/vector:496:5: note: in instantiation of member function 'std::__1::__vector_base<unsigned int, ceph::BitVector<'\x02'>::NoInitAllocator>::__vector_base' requested here
vector() NOEXCEPT(is_nothrow_default_constructible<allocator_type>::value)
^
/home/jenkins/workspace/ceph-master/src/common/bit_vector.hpp:163:3: note: in instantiation of member function 'std::__1::vector<unsigned int, ceph::BitVector<'\x02'>::NoInitAllocator>::vector' requested here
BitVector();
^
/home/jenkins/workspace/ceph-master/src/cls/rbd/cls_rbd.cc:3289:16: note: in instantiation of member function 'ceph::BitVector<'\x02'>::BitVector' requested here
BitVector<2> object_map;
^
/usr/include/c++/v1/memory:2179:39: note: explicitly defaulted function was implicitly deleted here
LIBCPP_INLINE_VISIBILITY constexpr __compressed_pair_elem() = default;
^
/usr/include/c++/v1/memory:2172:50: note: default constructor of '_compressed_pair_elem<ceph::BitVector<'\x02'>::NoInitAllocator, 1, true>' is implicitly deleted because base class 'ceph::BitVector<'\x02'>::NoInitAllocator' has no default constructor
struct __compressed_pair_elem<_Tp, _Idx, true> : private _Tp {
^
1 error generated.
Related issues
History
#1 Updated by Jason Dillaman almost 5 years ago
- Project changed from Ceph to rbd
- Category deleted (
common)
#2 Updated by Jason Dillaman almost 5 years ago
- Status changed from New to Pending Backport
#3 Updated by Nathan Cutler almost 5 years ago
- Copied to Backport #39573: nautilus: common: Clang requires a default constructor, but it can be empty #27844 added
#4 Updated by Nathan Cutler almost 5 years ago
- Status changed from Pending Backport to Resolved
#5 Updated by Nathan Cutler over 4 years ago
- Duplicated by Bug #39557: common: Clang requires a default constructor, but it can be empty added