<div dir="ltr">Hi, <div><br></div><div>I get those errors when compiling this simple code:</div><div><br></div><div><div>#include<vector></div><div>#include<string></div><div>struct Bar</div><div>{</div><div>   Bar(Bar&&) noexcept = default;</div>
<div>   Bar& operator=(Bar&&) noexcept = default;</div><div>   std::string name;</div><div><br></div><div>};</div><div><br></div><div>class Foo</div><div>{</div><div>public:</div><div><br></div><div>protected:</div>
<div>   Foo(Foo&&) noexcept = default;</div><div>   Foo& operator=(Foo&&) noexcept = default;</div><div><br></div><div>   Foo()</div><div>   {</div><div>   }</div><div><br></div><div>private:</div><div>
<br></div><div>   std::vector<Bar> vectorFoo_;</div><div>};</div></div><div><br></div><div>This is the errors I get, I understand it is in the instantiation of the exception specification, but I doubt the std::string is not nothrow move constructible,.. the first error make me think there is a bug. I synched yesterday so I am pretty much up to date. </div>
<div><br></div><div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:5:</div>
<div>/usr/local/bin/../lib/c++/v1/string:1196:67: error: no member named 'value' in 'std::__1::is_nothrow_move_constructible<std::__1::allocator<char> >'</div><div>        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);</div>
<div>                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:264:</div><div>/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro '_NOEXCEPT_'</div><div>#  define _NOEXCEPT_(x) noexcept(x)</div>
<div>                                 ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:11:16: note: in instantiation of exception specification for 'basic_string' requested here</div>
<div>   std::string name;</div><div>               ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:265:</div><div>In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:</div><div>In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:</div>
<div>/usr/local/bin/../lib/c++/v1/type_traits:2676:53: note: in instantiation of template class 'std::__1::add_rvalue_reference<std::__1::allocator<char> >' requested here</div><div>    : public is_nothrow_constructible<_Tp, typename add_rvalue_reference<_Tp>::type></div>
<div>                                                    ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:5:</div>
<div>/usr/local/bin/../lib/c++/v1/string:1196:20: note: in instantiation of template class 'std::__1::is_nothrow_move_constructible<std::__1::allocator<char> >' requested here</div><div>        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);</div>
<div>                   ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:264:</div><div>/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro '_NOEXCEPT_'</div><div>#  define _NOEXCEPT_(x) noexcept(x)</div>
<div>                                 ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:11:16: note: in instantiation of exception specification for 'basic_string' requested here</div>
<div>   std::string name;</div><div>               ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:5:</div>
<div>/usr/local/bin/../lib/c++/v1/string:1233:64: error: no member named 'value' in 'std::__1::is_nothrow_move_assignable<std::__1::allocator<char> >'</div><div>                   is_nothrow_move_assignable<allocator_type>::value);</div>
<div>                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:264:</div><div>/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro '_NOEXCEPT_'</div><div>#  define _NOEXCEPT_(x) noexcept(x)</div>
<div>                                 ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:11:16: note: in instantiation of exception specification for 'operator=' requested here</div>
<div>   std::string name;</div><div>               ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:265:</div><div>In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:</div><div>In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:</div>
<div>/usr/local/bin/../lib/c++/v1/type_traits:2760:45: note: in instantiation of template class 'std::__1::add_lvalue_reference<std::__1::allocator<char> >' requested here</div><div>    : public is_nothrow_assignable<typename add_lvalue_reference<_Tp>::type,</div>
<div>                                            ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:5:</div>
<div>/usr/local/bin/../lib/c++/v1/string:1233:20: note: in instantiation of template class 'std::__1::is_nothrow_move_assignable<std::__1::allocator<char> >' requested here</div><div>                   is_nothrow_move_assignable<allocator_type>::value);</div>
<div>                   ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:264:</div><div>/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro '_NOEXCEPT_'</div><div>#  define _NOEXCEPT_(x) noexcept(x)</div>
<div>                                 ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:11:16: note: in instantiation of exception specification for 'operator=' requested here</div>
<div>   std::string name;</div><div>               ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:265:</div><div>In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:</div><div>In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:</div>
<div>/usr/local/bin/../lib/c++/v1/type_traits:2676:53: note: in instantiation of template class 'std::__1::add_rvalue_reference<std::__1::allocator<char> >' requested here</div><div>    : public is_nothrow_constructible<_Tp, typename add_rvalue_reference<_Tp>::type></div>
<div>                                                    ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:5:</div>
<div>/usr/local/bin/../lib/c++/v1/string:1196:20: note: in instantiation of template class 'std::__1::is_nothrow_move_constructible<std::__1::allocator<char> >' requested here</div><div>        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);</div>
<div>                   ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:264:</div><div>/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro '_NOEXCEPT_'</div><div>#  define _NOEXCEPT_(x) noexcept(x)</div>
<div>                                 ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:11:16: note: in instantiation of exception specification for 'basic_string' requested here</div>
<div>   std::string name;</div><div>               ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>/usr/local/bin/../lib/c++/v1/vector:573:67: error: no member named 'value' in 'std::__1::is_nothrow_move_constructible<std::__1::allocator<Bar> >'</div><div>        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);</div>
<div>                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:264:</div><div>/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro '_NOEXCEPT_'</div><div>#  define _NOEXCEPT_(x) noexcept(x)</div>
<div>                                 ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:29:21: note: in instantiation of exception specification for 'vector' requested here</div>
<div>   std::vector<Bar> vectorFoo_;</div><div>                    ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:265:</div><div>In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:</div><div>In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:</div>
<div>/usr/local/bin/../lib/c++/v1/type_traits:2676:53: note: in instantiation of template class 'std::__1::add_rvalue_reference<std::__1::allocator<Bar> >' requested here</div><div>    : public is_nothrow_constructible<_Tp, typename add_rvalue_reference<_Tp>::type></div>
<div>                                                    ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>/usr/local/bin/../lib/c++/v1/vector:573:20: note: in instantiation of template class 'std::__1::is_nothrow_move_constructible<std::__1::allocator<Bar> >' requested here</div><div>        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);</div>
<div>                   ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:264:</div><div>/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro '_NOEXCEPT_'</div><div>#  define _NOEXCEPT_(x) noexcept(x)</div>
<div>                                 ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:29:21: note: in instantiation of exception specification for 'vector' requested here</div>
<div>   std::vector<Bar> vectorFoo_;</div><div>                    ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>/usr/local/bin/../lib/c++/v1/vector:580:58: error: no member named 'value' in 'std::__1::is_nothrow_move_assignable<std::__1::allocator<Bar> >'</div><div>             is_nothrow_move_assignable<allocator_type>::value);</div>
<div>             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:264:</div><div>/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro '_NOEXCEPT_'</div><div>#  define _NOEXCEPT_(x) noexcept(x)</div>
<div>                                 ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:29:21: note: in instantiation of exception specification for 'operator=' requested here</div>
<div>   std::vector<Bar> vectorFoo_;</div><div>                    ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:265:</div><div>In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:</div><div>In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:</div>
<div>/usr/local/bin/../lib/c++/v1/type_traits:2760:45: note: in instantiation of template class 'std::__1::add_lvalue_reference<std::__1::allocator<Bar> >' requested here</div><div>    : public is_nothrow_assignable<typename add_lvalue_reference<_Tp>::type,</div>
<div>                                            ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>/usr/local/bin/../lib/c++/v1/vector:580:14: note: in instantiation of template class 'std::__1::is_nothrow_move_assignable<std::__1::allocator<Bar> >' requested here</div><div>             is_nothrow_move_assignable<allocator_type>::value);</div>
<div>             ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:264:</div><div>/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro '_NOEXCEPT_'</div><div>#  define _NOEXCEPT_(x) noexcept(x)</div>
<div>                                 ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:29:21: note: in instantiation of exception specification for 'operator=' requested here</div>
<div>   std::vector<Bar> vectorFoo_;</div><div>                    ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:265:</div><div>In file included from /usr/local/bin/../lib/c++/v1/__bit_reference:15:</div><div>In file included from /usr/local/bin/../lib/c++/v1/algorithm:624:</div>
<div>/usr/local/bin/../lib/c++/v1/type_traits:2676:53: note: in instantiation of template class 'std::__1::add_rvalue_reference<std::__1::allocator<Bar> >' requested here</div><div>    : public is_nothrow_constructible<_Tp, typename add_rvalue_reference<_Tp>::type></div>
<div>                                                    ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>/usr/local/bin/../lib/c++/v1/vector:573:20: note: in instantiation of template class 'std::__1::is_nothrow_move_constructible<std::__1::allocator<Bar> >' requested here</div><div>        _NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value);</div>
<div>                   ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:4:</div>
<div>In file included from /usr/local/bin/../lib/c++/v1/vector:264:</div><div>/usr/local/bin/../lib/c++/v1/__config:325:34: note: expanded from macro '_NOEXCEPT_'</div><div>#  define _NOEXCEPT_(x) noexcept(x)</div>
<div>                                 ^</div><div>In file included from /Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.cpp:1:</div><div>/Users/Mani/Development/Projects/flowOfLife/Graphics/Graphics/TestCompileError.h:29:21: note: in instantiation of exception specification for 'vector' requested here</div>
<div>   std::vector<Bar> vectorFoo_;</div></div><div><br></div><div>Thanks</div><div>Emmanuel</div></div>