Skip to content

Instantly share code, notes, and snippets.

@eggrobin
Created March 27, 2015 19:36
Show Gist options
  • Save eggrobin/a29a3666573115e215b5 to your computer and use it in GitHub Desktop.
Save eggrobin/a29a3666573115e215b5 to your computer and use it in GitHub Desktop.
Norgg's errors with unique_ptr in Trajectory
clang++ -c -std=c++1y -stdlib=libc++ -O3 -g -ggdb -m64 -fPIC -fexceptions -ferror-limit=0 -I. -I../glog/src -I../protobuf-2.6.1/src -I../benchmark/include -I../gmock-1.7.0/gtest/include -I../gmock-1.7.0/include physics/n_body_system_test.cpp -o physics/n_body_system_test.o
In file included from physics/n_body_system_test.cpp:1:
In file included from ./physics/n_body_system.hpp:3:
In file included from /usr/include/c++/v1/memory:602:
/usr/include/c++/v1/utility:254:9: error: field has incomplete type
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > >'
_T2 second;
^
/usr/include/c++/v1/map:588:16: note: in instantiation of template class 'std::__1::pair<const
principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0, 0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >' requested here
value_type __cc;
^
/usr/include/c++/v1/__tree:603:16: note: in instantiation of template class
'std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0, 0, 1, 0,
0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >' requested here
value_type __value_;
^
/usr/include/c++/v1/__tree:694:22: note: in instantiation of template class
'std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >, void *>' requested here
typedef typename __node::base __node_base;
^
/usr/include/c++/v1/map:715:19: note: in instantiation of template class
'std::__1::__tree_const_iterator<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >,
std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >, void *> *, long>' requested here
_TreeIterator __i_;
^
./physics/trajectory.hpp:40:39: note: in instantiation of template class
'std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >,
std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >, void *> *, long> >' requested here
typename Children::const_iterator children;
^
/usr/include/c++/v1/type_traits:1490:55: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
typename __select_2nd<decltype((_VSTD::declval<_Tp>() = _VSTD::declval<_Arg>())), true_type>::type
^
/usr/include/c++/v1/type_traits:1520:14: note: in instantiation of template class
'std::__1::__is_assignable_imp<std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork> &,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork> &&, false>' requested here
: public __is_assignable_imp<_Tp, _Arg> {};
^
/usr/include/c++/v1/memory:2557:17: note: in instantiation of template class
'std::__1::is_assignable<std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork> &,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork> &&>' requested here
is_assignable<deleter_type&, _Ep&&>::value,
^
/usr/include/c++/v1/memory:2459:29: note: while substituting deduced template arguments into function template 'operator=' [with _Up =
principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag, 1, true> >::Fork, _Ep
=
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork>]
class _LIBCPP_TYPE_VIS_ONLY unique_ptr
^
./base/not_null.hpp:126:40: note: in instantiation of template class
'principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag, 1, true> >' requested
here
std::remove_reference_t<decltype(*std::declval<pointer>())>;
^
./testing_utilities/solar_system_body.hpp:104:25: note: in instantiation of template class
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > >' requested here
auto sun_trajectory = make_not_null_unique<Trajectory<ICRFJ2000Ecliptic>>(
^
./base/not_null.hpp:252:16: note: definition of
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > >' is not complete until the closing '}'
friend class not_null;
^
In file included from physics/n_body_system_test.cpp:1:
In file included from ./physics/n_body_system.hpp:3:
In file included from /usr/include/c++/v1/memory:602:
/usr/include/c++/v1/utility:254:9: error: field has incomplete type
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > >'
_T2 second;
^
/usr/include/c++/v1/map:589:21: note: in instantiation of template class
'std::__1::pair<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0, 0, 1, 0, 0, 0,
0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >' requested here
__nc_value_type __nc;
^
/usr/include/c++/v1/__tree:603:16: note: in instantiation of template class
'std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0, 0, 1, 0,
0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >' requested here
value_type __value_;
^
/usr/include/c++/v1/__tree:694:22: note: in instantiation of template class
'std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >, void *>' requested here
typedef typename __node::base __node_base;
^
/usr/include/c++/v1/map:715:19: note: in instantiation of template class
'std::__1::__tree_const_iterator<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >,
std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >, void *> *, long>' requested here
_TreeIterator __i_;
^
./physics/trajectory.hpp:40:39: note: in instantiation of template class
'std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >,
std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > > >, void *> *, long> >' requested here
typename Children::const_iterator children;
^
/usr/include/c++/v1/type_traits:1490:55: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
typename __select_2nd<decltype((_VSTD::declval<_Tp>() = _VSTD::declval<_Arg>())), true_type>::type
^
/usr/include/c++/v1/type_traits:1520:14: note: in instantiation of template class
'std::__1::__is_assignable_imp<std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork> &,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork> &&, false>' requested here
: public __is_assignable_imp<_Tp, _Arg> {};
^
/usr/include/c++/v1/memory:2557:17: note: in instantiation of template class
'std::__1::is_assignable<std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork> &,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork> &&>' requested here
is_assignable<deleter_type&, _Ep&&>::value,
^
/usr/include/c++/v1/memory:2459:29: note: while substituting deduced template arguments into function template 'operator=' [with _Up =
principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag, 1, true> >::Fork, _Ep
=
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork>]
class _LIBCPP_TYPE_VIS_ONLY unique_ptr
^
./base/not_null.hpp:126:40: note: in instantiation of template class
'principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag, 1, true> >' requested
here
std::remove_reference_t<decltype(*std::declval<pointer>())>;
^
./testing_utilities/solar_system_body.hpp:104:25: note: in instantiation of template class
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > >' requested here
auto sun_trajectory = make_not_null_unique<Trajectory<ICRFJ2000Ecliptic>>(
^
./base/not_null.hpp:252:16: note: definition of
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> > > > >' is not complete until the closing '}'
friend class not_null;
^
In file included from physics/n_body_system_test.cpp:1:
In file included from ./physics/n_body_system.hpp:3:
In file included from /usr/include/c++/v1/memory:602:
/usr/include/c++/v1/utility:254:9: error: field has incomplete type
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > >'
_T2 second;
^
/usr/include/c++/v1/map:588:16: note: in instantiation of template class 'std::__1::pair<const
principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0, 0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >' requested here
value_type __cc;
^
/usr/include/c++/v1/__tree:603:16: note: in instantiation of template class
'std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0, 0, 1, 0,
0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >' requested here
value_type __value_;
^
/usr/include/c++/v1/__tree:694:22: note: in instantiation of template class
'std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >, void *>' requested here
typedef typename __node::base __node_base;
^
/usr/include/c++/v1/map:715:19: note: in instantiation of template class
'std::__1::__tree_const_iterator<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >,
std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >, void *> *, long>' requested here
_TreeIterator __i_;
^
./physics/trajectory.hpp:40:39: note: in instantiation of template class
'std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >,
std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >, void *> *, long> >' requested here
typename Children::const_iterator children;
^
/usr/include/c++/v1/type_traits:1490:55: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
typename __select_2nd<decltype((_VSTD::declval<_Tp>() = _VSTD::declval<_Arg>())), true_type>::type
^
/usr/include/c++/v1/type_traits:1520:14: note: in instantiation of template class
'std::__1::__is_assignable_imp<std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >::Fork> &,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> >::Fork> &&, false>' requested here
: public __is_assignable_imp<_Tp, _Arg> {};
^
/usr/include/c++/v1/memory:2557:17: note: in instantiation of template class
'std::__1::is_assignable<std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >::Fork> &,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> >::Fork> &&>' requested here
is_assignable<deleter_type&, _Ep&&>::value,
^
/usr/include/c++/v1/memory:2459:29: note: while substituting deduced template arguments into function template 'operator=' [with _Up =
principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1, true> >::Fork, _Ep =
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> >::Fork>]
class _LIBCPP_TYPE_VIS_ONLY unique_ptr
^
./base/not_null.hpp:126:40: note: in instantiation of template class
'principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1, true> >' requested here
std::remove_reference_t<decltype(*std::declval<pointer>())>;
^
physics/n_body_system_test.cpp:145:62: note: in instantiation of template class
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > >' requested here
not_null<std::unique_ptr<Trajectory<EarthMoonOrbitPlane>>> trajectory1_;
^
./base/not_null.hpp:118:7: note: definition of
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > >' is not complete until the closing '}'
class not_null {
^
In file included from physics/n_body_system_test.cpp:1:
In file included from ./physics/n_body_system.hpp:3:
In file included from /usr/include/c++/v1/memory:602:
/usr/include/c++/v1/utility:254:9: error: field has incomplete type
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > >'
_T2 second;
^
/usr/include/c++/v1/map:589:21: note: in instantiation of template class
'std::__1::pair<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0, 0, 1, 0, 0, 0,
0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >' requested here
__nc_value_type __nc;
^
/usr/include/c++/v1/__tree:603:16: note: in instantiation of template class
'std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0, 0, 1, 0,
0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >' requested here
value_type __value_;
^
/usr/include/c++/v1/__tree:694:22: note: in instantiation of template class
'std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >, void *>' requested here
typedef typename __node::base __node_base;
^
/usr/include/c++/v1/map:715:19: note: in instantiation of template class
'std::__1::__tree_const_iterator<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >,
std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >, void *> *, long>' requested here
_TreeIterator __i_;
^
./physics/trajectory.hpp:40:39: note: in instantiation of template class
'std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >,
std::__1::__tree_node<std::__1::__value_type<principia::geometry::Point<principia::quantities::Quantity<principia::quantities::Dimensions<0,
0, 1, 0, 0, 0, 0, 0, 0, 0> > >,
principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > > >, void *> *, long> >' requested here
typename Children::const_iterator children;
^
/usr/include/c++/v1/type_traits:1490:55: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
typename __select_2nd<decltype((_VSTD::declval<_Tp>() = _VSTD::declval<_Arg>())), true_type>::type
^
/usr/include/c++/v1/type_traits:1520:14: note: in instantiation of template class
'std::__1::__is_assignable_imp<std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >::Fork> &,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> >::Fork> &&, false>' requested here
: public __is_assignable_imp<_Tp, _Arg> {};
^
/usr/include/c++/v1/memory:2557:17: note: in instantiation of template class
'std::__1::is_assignable<std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >::Fork> &,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> >::Fork> &&>' requested here
is_assignable<deleter_type&, _Ep&&>::value,
^
/usr/include/c++/v1/memory:2459:29: note: while substituting deduced template arguments into function template 'operator=' [with _Up =
principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1, true> >::Fork, _Ep =
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> >::Fork>]
class _LIBCPP_TYPE_VIS_ONLY unique_ptr
^
./base/not_null.hpp:126:40: note: in instantiation of template class
'principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1, true> >' requested here
std::remove_reference_t<decltype(*std::declval<pointer>())>;
^
physics/n_body_system_test.cpp:145:62: note: in instantiation of template class
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > >' requested here
not_null<std::unique_ptr<Trajectory<EarthMoonOrbitPlane>>> trajectory1_;
^
./base/not_null.hpp:118:7: note: definition of
'principia::base::not_null<std::__1::unique_ptr<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >,
std::__1::default_delete<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> > > > >' is not complete until the closing '}'
class not_null {
^
In file included from physics/n_body_system_test.cpp:1:
In file included from ./physics/n_body_system.hpp:12:
In file included from ./physics/trajectory.hpp:4:
/usr/include/c++/v1/list:218:19: error: static_cast from 'pointer' (aka
'std::__1::__list_node_base<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork, void *> *') to 'pointer' (aka
'std::__1::__list_node<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork, void *> *') is not allowed
: __prev_(static_cast<pointer>(pointer_traits<__base_pointer>::pointer_to(*this))),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/list:559:5: note: in instantiation of member function
'std::__1::__list_node_base<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork, void *>::__list_node_base' requested here
__list_imp()
^
/usr/include/c++/v1/list:838:5: note: in instantiation of member function
'std::__1::__list_imp<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag,
1, true> >::Fork,
std::__1::allocator<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag, 1,
true> >::Fork> >::__list_imp' requested here
list()
^
./physics/trajectory.hpp:214:5: note: in instantiation of member function
'std::__1::list<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag, 1,
true> >::Fork,
std::__1::allocator<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag, 1,
true> >::Fork> >::list' requested here
Iterator() = default;
^
physics/trajectory_body.hpp:104:28: note: in instantiation of member function
'principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag, 1, true> >::first'
requested here
for (NativeIterator it = first(); !it.at_end(); ++it) {
^
physics/trajectory_body.hpp:117:51: note: in instantiation of member function
'principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag, 1, true> >::Times'
requested here
<< ", time range = [" << Times().front() << ", "
^
./testing_utilities/solar_system_body.hpp:106:19: note: in instantiation of member function
'principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_SolarSystemTag, 1, true> >::Append'
requested here
sun_trajectory->Append(
^
In file included from physics/n_body_system_test.cpp:1:
In file included from ./physics/n_body_system.hpp:12:
In file included from ./physics/trajectory.hpp:4:
/usr/include/c++/v1/list:218:19: error: static_cast from 'pointer' (aka
'std::__1::__list_node_base<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >::Fork, void *> *') to 'pointer' (aka
'std::__1::__list_node<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> >::Fork, void *> *') is not allowed
: __prev_(static_cast<pointer>(pointer_traits<__base_pointer>::pointer_to(*this))),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/list:559:5: note: in instantiation of member function
'std::__1::__list_node_base<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >::Fork, void *>::__list_node_base' requested here
__list_imp()
^
/usr/include/c++/v1/list:838:5: note: in instantiation of member function
'std::__1::__list_imp<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1,
true> >::Fork,
std::__1::allocator<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1, true>
>::Fork> >::__list_imp' requested here
list()
^
./physics/trajectory.hpp:214:5: note: in instantiation of member function
'std::__1::list<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1, true>
>::Fork, std::__1::allocator<principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag,
1, true> >::Fork> >::list' requested here
Iterator() = default;
^
physics/trajectory_body.hpp:104:28: note: in instantiation of member function
'principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1, true> >::first' requested
here
for (NativeIterator it = first(); !it.at_end(); ++it) {
^
physics/trajectory_body.hpp:117:51: note: in instantiation of member function
'principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1, true> >::Times' requested
here
<< ", time range = [" << Times().front() << ", "
^
physics/n_body_system_test.cpp:96:19: note: in instantiation of member function
'principia::physics::Trajectory<principia::geometry::Frame<principia::serialization::Frame_TestTag, 1, true> >::Append'
requested here
trajectory1_->Append(Instant(0 * SIUnit<Time>()), {q1, v1});
^
6 errors generated.
Makefile:35: recipe for target 'physics/n_body_system_test.o' failed
make: *** [physics/n_body_system_test.o] Error 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment