#include <list>
int main()
{
class MemberType
{
public:
MemberType() {}
MemberType(MemberType&& copy)
{
}
};
struct ListItemType
{
MemberType x;
~ListItemType() {}
};
std::list<ListItemType> myList;
myList.push_back({MemberType()});
return 0;
}
CiNpbmNsdWRlIDxsaXN0PgppbnQgbWFpbigpCnsKCWNsYXNzIE1lbWJlclR5cGUKCXsKCXB1YmxpYzoKCQlNZW1iZXJUeXBlKCkgIHt9CgkJTWVtYmVyVHlwZShNZW1iZXJUeXBlJiYgY29weSkKCQl7CgoJCX0KCgl9OwoKCXN0cnVjdCBMaXN0SXRlbVR5cGUKCXsKCQlNZW1iZXJUeXBlIHg7CgoJCX5MaXN0SXRlbVR5cGUoKSB7fQoJfTsKCglzdGQ6Omxpc3Q8TGlzdEl0ZW1UeXBlPiBteUxpc3Q7CglteUxpc3QucHVzaF9iYWNrKHtNZW1iZXJUeXBlKCl9KTsKCXJldHVybiAwOwp9
In file included from /usr/include/c++/5/list:63:0,
from prog.cpp:2:
/usr/include/c++/5/bits/stl_list.h: In instantiation of 'std::_List_node<_Tp>::_List_node(_Args&& ...) [with _Args = {main()::ListItemType}; _Tp = main()::ListItemType]':
/usr/include/c++/5/ext/new_allocator.h:120:4: required from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::_List_node<main()::ListItemType>; _Args = {main()::ListItemType}; _Tp = std::_List_node<main()::ListItemType>]'
/usr/include/c++/5/bits/stl_list.h:574:8: required from 'std::list<_Tp, _Alloc>::_Node* std::list<_Tp, _Alloc>::_M_create_node(_Args&& ...) [with _Args = {main()::ListItemType}; _Tp = main()::ListItemType; _Alloc = std::allocator<main()::ListItemType>; std::list<_Tp, _Alloc>::_Node = std::_List_node<main()::ListItemType>]'
/usr/include/c++/5/bits/stl_list.h:1763:32: required from 'void std::list<_Tp, _Alloc>::_M_insert(std::list<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {main()::ListItemType}; _Tp = main()::ListItemType; _Alloc = std::allocator<main()::ListItemType>; std::list<_Tp, _Alloc>::iterator = std::_List_iterator<main()::ListItemType>]'
/usr/include/c++/5/bits/stl_list.h:1094:9: required from 'void std::list<_Tp, _Alloc>::push_back(std::list<_Tp, _Alloc>::value_type&&) [with _Tp = main()::ListItemType; _Alloc = std::allocator<main()::ListItemType>; std::list<_Tp, _Alloc>::value_type = main()::ListItemType]'
prog.cpp:24:33: required from here
/usr/include/c++/5/bits/stl_list.h:114:71: error: use of deleted function 'main()::ListItemType::ListItemType(const main()::ListItemType&)'
: __detail::_List_node_base(), _M_data(std::forward<_Args>(__args)...)
^
prog.cpp:16:9: note: 'main()::ListItemType::ListItemType(const main()::ListItemType&)' is implicitly deleted because the default definition would be ill-formed:
struct ListItemType
^
prog.cpp:16:9: error: use of deleted function 'constexpr main()::MemberType::MemberType(const main()::MemberType&)'
prog.cpp:5:8: note: 'constexpr main()::MemberType::MemberType(const main()::MemberType&)' is implicitly declared as deleted because 'main()::MemberType' declares a move constructor or move assignment operator
class MemberType
^