Compile [2024-11-18 03:01:29 UTC]: fail
"g++-13" -fvisibility-inlines-hidden -std=c++20 -Wall -Wextra -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -I".." -I"/var/boost/run/boost_root/libs/assert/include" -I"/var/boost/run/boost_root/libs/container_hash/include" -I"/var/boost/run/boost_root/libs/core/include" -I"/var/boost/run/boost_root/libs/describe/include" -I"/var/boost/run/boost_root/libs/mp11/include" -I"/var/boost/run/boost_root/libs/throw_exception/include" -I"/var/boost/run/boost_root/libs/type_index/include" -I"/var/boost/run/boost_root/libs/yap/include" -c -o "/var/boost/run/results/boost/bin.v2/libs/yap/test/user_expression_transform_1.test/gcc-13~c++20~warn/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/user_expression_transform_1.o" "../libs/yap/test/user_expression_transform_1.cpp"
../libs/yap/test/user_expression_transform_1.cpp: In function 'int main()':
../libs/yap/test/user_expression_transform_1.cpp:460:35: error: call of overloaded 'expression(<brace-enclosed initializer list>)' is ambiguous
460 | term<user::number> a{{1.0}};
| ^
In file included from ../libs/yap/test/user_expression_transform_1.cpp:6:
../boost/yap/expression.hpp:142:19: note: candidate: 'constexpr boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<T> >::expression(boost::hana::tuple<T>&&) [with T = user::number]'
142 | constexpr expression(hana::tuple<T> && rhs) : elements(std::move(rhs))
| ^~~~~~~~~~
../boost/yap/expression.hpp:139:19: note: candidate: 'constexpr boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<T> >::expression(const boost::hana::tuple<T>&) [with T = user::number]'
139 | constexpr expression(hana::tuple<T> const & rhs) : elements(rhs) {}
| ^~~~~~~~~~
../boost/yap/expression.hpp:136:19: note: candidate: 'constexpr boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<T> >::expression(T&&) [with T = user::number]'
136 | constexpr expression(T && t) : elements(static_cast<T &&>(t)) {}
| ^~~~~~~~~~
../libs/yap/test/user_expression_transform_1.cpp:461:36: error: call of overloaded 'expression(<brace-enclosed initializer list>)' is ambiguous
461 | term<user::number> x{{42.0}};
| ^
../boost/yap/expression.hpp:142:19: note: candidate: 'constexpr boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<T> >::expression(boost::hana::tuple<T>&&) [with T = user::number]'
142 | constexpr expression(hana::tuple<T> && rhs) : elements(std::move(rhs))
| ^~~~~~~~~~
../boost/yap/expression.hpp:139:19: note: candidate: 'constexpr boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<T> >::expression(const boost::hana::tuple<T>&) [with T = user::number]'
139 | constexpr expression(hana::tuple<T> const & rhs) : elements(rhs) {}
| ^~~~~~~~~~
../boost/yap/expression.hpp:136:19: note: candidate: 'constexpr boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<T> >::expression(T&&) [with T = user::number]'
136 | constexpr expression(T && t) : elements(static_cast<T &&>(t)) {}
| ^~~~~~~~~~
../libs/yap/test/user_expression_transform_1.cpp:462:35: error: call of overloaded 'expression(<brace-enclosed initializer list>)' is ambiguous
462 | term<user::number> y{{3.0}};
| ^
../boost/yap/expression.hpp:142:19: note: candidate: 'constexpr boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<T> >::expression(boost::hana::tuple<T>&&) [with T = user::number]'
142 | constexpr expression(hana::tuple<T> && rhs) : elements(std::move(rhs))
| ^~~~~~~~~~
../boost/yap/expression.hpp:139:19: note: candidate: 'constexpr boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<T> >::expression(const boost::hana::tuple<T>&) [with T = user::number]'
139 | constexpr expression(hana::tuple<T> const & rhs) : elements(rhs) {}
| ^~~~~~~~~~
../boost/yap/expression.hpp:136:19: note: candidate: 'constexpr boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<T> >::expression(T&&) [with T = user::number]'
136 | constexpr expression(T && t) : elements(static_cast<T &&>(t)) {}
| ^~~~~~~~~~
In file included from ../boost/yap/algorithm.hpp:614,
from ../boost/yap/expression.hpp:9:
../boost/yap/detail/transform.hpp: In instantiation of 'constexpr decltype(auto) boost::yap::detail::default_transform<IsLvalueRef, IsTerminal, Strict>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<user::empty_xform*>; bool IsLvalueRef = true; bool IsTerminal = true; bool Strict = false]':
../boost/yap/detail/transform.hpp:373:26: required from 'constexpr decltype(auto) boost::yap::detail::next_or_default_transform<Strict, Expr, TransformTuple, I, false>::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<user::empty_xform*>; int I = 0]'
../boost/yap/detail/transform.hpp:396:71: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_expr<Strict, Expr, TransformTuple, I, <template-parameter-1-5> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<user::empty_xform*>; int I = 0; <template-parameter-1-5> = void]'
../boost/yap/detail/transform.hpp:431:80: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_tag<Strict, Expr, TransformTuple, I, Arity, <template-parameter-1-6> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<user::empty_xform*>; int I = 0; boost::yap::detail::expr_arity Arity = boost::yap::detail::expr_arity::one; <template-parameter-1-6> = void]'
../boost/yap/detail/transform.hpp:573:44: required from 'constexpr decltype(auto) boost::yap::detail::transform_impl<Strict, I, IsExprRef>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<user::empty_xform*>; bool Strict = false; int I = 0; bool IsExprRef = false]'
../boost/yap/algorithm.hpp:689:77: required from 'constexpr decltype(auto) boost::yap::detail::transform_<Strict>::operator()(Expr&&, Transform&, Transforms& ...) const [with Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; Transform = user::empty_xform; Transforms = {}; bool Strict = false]'
../boost/yap/algorithm.hpp:710:43: required from 'constexpr decltype(auto) boost::yap::transform(Expr&&, Transform&&, Transforms&& ...) [with Expr = expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; Transform = user::empty_xform; Transforms = {}]'
../libs/yap/test/user_expression_transform_1.cpp:472:50: required from here
../boost/yap/detail/transform.hpp:267:74: warning: unused parameter 'transforms' [-Wunused-parameter]
267 | constexpr decltype(auto) operator()(Expr && expr, TransformTuple transforms) const
| ~~~~~~~~~~~~~~~^~~~~~~~~~
../boost/yap/detail/transform.hpp: In instantiation of 'constexpr auto boost::yap::detail::make_expr_from_tuple(const ExprTemplate<Kind, OldTuple>&, NewTuple&&) [with boost::yap::expr_kind Kind = boost::yap::expr_kind::plus; ExprTemplate = boost::yap::expression; OldTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > >; NewTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::minus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > > >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > >]':
../boost/yap/detail/transform.hpp:317:42: required from 'constexpr decltype(auto) boost::yap::detail::transform_nonterminal(const Expr&, Tuple&&, TransformTuple) [with Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > > >; Tuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > >&; TransformTuple = boost::hana::tuple<user::term_nonterm_xform_tag*>]'
../boost/yap/detail/transform.hpp:326:41: required from 'constexpr decltype(auto) boost::yap::detail::default_transform<true, false, false>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > > >&; TransformTuple = boost::hana::tuple<user::term_nonterm_xform_tag*>]'
../boost/yap/detail/transform.hpp:373:26: required from 'constexpr decltype(auto) boost::yap::detail::next_or_default_transform<Strict, Expr, TransformTuple, I, false>::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > > >&; TransformTuple = boost::hana::tuple<user::term_nonterm_xform_tag*>; int I = 0]'
../boost/yap/detail/transform.hpp:396:71: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_expr<Strict, Expr, TransformTuple, I, <template-parameter-1-5> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > > >&; TransformTuple = boost::hana::tuple<user::term_nonterm_xform_tag*>; int I = 0; <template-parameter-1-5> = void]'
../boost/yap/detail/transform.hpp:431:80: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_tag<Strict, Expr, TransformTuple, I, Arity, <template-parameter-1-6> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > > >&; TransformTuple = boost::hana::tuple<user::term_nonterm_xform_tag*>; int I = 0; boost::yap::detail::expr_arity Arity = boost::yap::detail::expr_arity::two; <template-parameter-1-6> = void]'
../boost/yap/detail/transform.hpp:573:44: required from 'constexpr decltype(auto) boost::yap::detail::transform_impl<Strict, I, IsExprRef>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > > >&; TransformTuple = boost::hana::tuple<user::term_nonterm_xform_tag*>; bool Strict = false; int I = 0; bool IsExprRef = false]'
../boost/yap/algorithm.hpp:689:77: required from 'constexpr decltype(auto) boost::yap::detail::transform_<Strict>::operator()(Expr&&, Transform&, Transforms& ...) const [with Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > > >&; Transform = user::term_nonterm_xform_tag; Transforms = {}; bool Strict = false]'
../boost/yap/algorithm.hpp:710:43: required from 'constexpr decltype(auto) boost::yap::transform(Expr&&, Transform&&, Transforms&& ...) [with Expr = expression<boost::yap::expr_kind::plus, boost::hana::tuple<expression<boost::yap::expr_kind::plus, boost::hana::tuple<expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > > >&; Transform = user::term_nonterm_xform_tag; Transforms = {}]'
../libs/yap/test/user_expression_transform_1.cpp:593:30: required from here
../boost/yap/detail/transform.hpp:292:46: warning: unused parameter 'expr' [-Wunused-parameter]
292 | ExprTemplate<Kind, OldTuple> const & expr, NewTuple && tuple)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../boost/yap/detail/transform.hpp: In instantiation of 'constexpr decltype(auto) boost::yap::detail::default_transform<IsLvalueRef, IsTerminal, Strict>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; bool IsLvalueRef = true; bool IsTerminal = true; bool Strict = false]':
../boost/yap/detail/transform.hpp:373:26: required from 'constexpr decltype(auto) boost::yap::detail::next_or_default_transform<Strict, Expr, TransformTuple, I, false>::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0]'
../boost/yap/detail/transform.hpp:396:71: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_expr<Strict, Expr, TransformTuple, I, <template-parameter-1-5> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0; <template-parameter-1-5> = void]'
../boost/yap/detail/transform.hpp:431:80: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_tag<Strict, Expr, TransformTuple, I, Arity, <template-parameter-1-6> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0; boost::yap::detail::expr_arity Arity = boost::yap::detail::expr_arity::one; <template-parameter-1-6> = void]'
../boost/yap/detail/transform.hpp:573:44: required from 'constexpr decltype(auto) boost::yap::detail::transform_impl<Strict, I, IsExprRef>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; bool Strict = false; int I = 0; bool IsExprRef = false]'
../boost/yap/detail/transform.hpp:584:62: required from 'constexpr decltype(auto) boost::yap::detail::transform_impl<Strict, I, true>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; bool Strict = false; int I = 0]'
../boost/yap/detail/transform.hpp:314:29: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../boost/yap/detail/transform.hpp:396:71: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_expr<Strict, Expr, TransformTuple, I, <template-parameter-1-5> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0; <template-parameter-1-5> = void]'
../boost/yap/detail/transform.hpp:431:80: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_tag<Strict, Expr, TransformTuple, I, Arity, <template-parameter-1-6> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0; boost::yap::detail::expr_arity Arity = boost::yap::detail::expr_arity::two; <template-parameter-1-6> = void]'
../boost/yap/detail/transform.hpp:573:44: required from 'constexpr decltype(auto) boost::yap::detail::transform_impl<Strict, I, IsExprRef>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; bool Strict = false; int I = 0; bool IsExprRef = false]'
../boost/yap/algorithm.hpp:689:77: required from 'constexpr decltype(auto) boost::yap::detail::transform_<Strict>::operator()(Expr&&, Transform&, Transforms& ...) const [with Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; Transform = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&); Transforms = {}; bool Strict = false]'
../boost/yap/algorithm.hpp:710:43: required from 'constexpr decltype(auto) boost::yap::transform(Expr&&, Transform&&, Transforms&& ...) [with Expr = expression<boost::yap::expr_kind::plus, boost::hana::tuple<expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, expression<boost::yap::expr_kind::plus, boost::hana::tuple<expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; Transform = expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (&)(const expression<boost::yap::expr_kind::plus, boost::hana::tuple<expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&); Transforms = {}]'
../libs/yap/test/user_expression_transform_1.cpp:714:26: required from here
../boost/yap/detail/transform.hpp:267:74: warning: unused parameter 'transforms' [-Wunused-parameter]
267 | constexpr decltype(auto) operator()(Expr && expr, TransformTuple transforms) const
| ~~~~~~~~~~~~~~~^~~~~~~~~~
../boost/yap/detail/transform.hpp: In instantiation of 'constexpr auto boost::yap::detail::make_expr_from_tuple(const ExprTemplate<Kind, OldTuple>&, NewTuple&&) [with boost::yap::expr_kind Kind = boost::yap::expr_kind::plus; ExprTemplate = boost::yap::expression; OldTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > >; NewTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > >]':
../boost/yap/detail/transform.hpp:317:42: required from 'constexpr decltype(auto) boost::yap::detail::transform_nonterminal(const Expr&, Tuple&&, TransformTuple) [with Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >; Tuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>]'
../boost/yap/detail/transform.hpp:326:41: required from 'constexpr decltype(auto) boost::yap::detail::default_transform<true, false, false>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>]'
../boost/yap/detail/transform.hpp:373:26: required from 'constexpr decltype(auto) boost::yap::detail::next_or_default_transform<Strict, Expr, TransformTuple, I, false>::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0]'
../boost/yap/detail/transform.hpp:396:71: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_expr<Strict, Expr, TransformTuple, I, <template-parameter-1-5> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0; <template-parameter-1-5> = void]'
../boost/yap/detail/transform.hpp:431:80: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_tag<Strict, Expr, TransformTuple, I, Arity, <template-parameter-1-6> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0; boost::yap::detail::expr_arity Arity = boost::yap::detail::expr_arity::two; <template-parameter-1-6> = void]'
../boost/yap/detail/transform.hpp:573:44: required from 'constexpr decltype(auto) boost::yap::detail::transform_impl<Strict, I, IsExprRef>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; bool Strict = false; int I = 0; bool IsExprRef = false]'
../boost/yap/algorithm.hpp:689:77: required from 'constexpr decltype(auto) boost::yap::detail::transform_<Strict>::operator()(Expr&&, Transform&, Transforms& ...) const [with Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; Transform = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&); Transforms = {}; bool Strict = false]'
../boost/yap/algorithm.hpp:710:43: required from 'constexpr decltype(auto) boost::yap::transform(Expr&&, Transform&&, Transforms&& ...) [with Expr = expression<boost::yap::expr_kind::plus, boost::hana::tuple<expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, expression<boost::yap::expr_kind::plus, boost::hana::tuple<expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; Transform = expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> > (&)(const expression<boost::yap::expr_kind::plus, boost::hana::tuple<expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&); Transforms = {}]'
../libs/yap/test/user_expression_transform_1.cpp:714:26: required from here
../boost/yap/detail/transform.hpp:292:46: warning: unused parameter 'expr' [-Wunused-parameter]
292 | ExprTemplate<Kind, OldTuple> const & expr, NewTuple && tuple)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../boost/yap/detail/transform.hpp: In instantiation of 'constexpr decltype(auto) boost::yap::detail::default_transform<IsLvalueRef, IsTerminal, Strict>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::call, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number (*)(user::number, user::number, user::number)> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> > > > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; bool IsLvalueRef = true; bool IsTerminal = true; bool Strict = false]':
../boost/yap/detail/transform.hpp:373:26: required from 'constexpr decltype(auto) boost::yap::detail::next_or_default_transform<Strict, Expr, TransformTuple, I, false>::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::call, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number (*)(user::number, user::number, user::number)> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> > > > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0]'
../boost/yap/detail/transform.hpp:396:71: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_expr<Strict, Expr, TransformTuple, I, <template-parameter-1-5> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::call, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number (*)(user::number, user::number, user::number)> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> > > > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0; <template-parameter-1-5> = void]'
../boost/yap/detail/transform.hpp:431:80: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_tag<Strict, Expr, TransformTuple, I, Arity, <template-parameter-1-6> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::call, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number (*)(user::number, user::number, user::number)> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> > > > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0; boost::yap::detail::expr_arity Arity = boost::yap::detail::expr_arity::one; <template-parameter-1-6> = void]'
../boost/yap/detail/transform.hpp:573:44: required from 'constexpr decltype(auto) boost::yap::detail::transform_impl<Strict, I, IsExprRef>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::call, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number (*)(user::number, user::number, user::number)> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> > > > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; bool Strict = false; int I = 0; bool IsExprRef = false]'
../boost/yap/detail/transform.hpp:584:62: required from 'constexpr decltype(auto) boost::yap::detail::transform_impl<Strict, I, true>::operator()(Expr&&, TransformTuple) const [with Expr = boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::call, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number (*)(user::number, user::number, user::number)> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> > > > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; bool Strict = false; int I = 0]'
../boost/yap/detail/transform.hpp:314:29: [ skipping 11 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../boost/yap/detail/transform.hpp:396:71: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_expr<Strict, Expr, TransformTuple, I, <template-parameter-1-5> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > > > >&; TransformTuple = boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::call, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number (*)(user::number, user::number, user::number)> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> >, boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number&> > > > (*)(const boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >, boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> > > >&)>; int I = 0; <template-parameter-1-5> = void]'
../boost/yap/detail/transform.hpp:431:80: required from 'constexpr decltype(auto) boost::yap::detail::transform_expression_tag<Strict, Expr, TransformTuple, I, Arity, <template-parameter-1-6> >::operator()(Expr&&, TransformTuple) const [with bool Strict = false; Expr = boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::plus, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::multiplies, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::expr_ref, boost::hana::tuple<boost::yap::expression<boost::yap::expr_kind::terminal, boost::hana::tuple<user::number> >*> >, boost::yap::expression<boost::yap::expr_kind::...
[The content has been trimmed by the report system because it exceeds 65536 bytes]