Hi,
We tried to build and run proto test for Boost with visual studio latest release on Windows. It failed with 2 source issues, Could you please help take a look at this? Thank you!
Reproduce steps:
Issue#2
examples.cpp
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(60): error C2039: 'tag': is not a member of 'lambdatransform::placeholder<boost::mpl::int<1>>'
libs\proto\test\examples.cpp(405): note: see declaration of 'lambdatransform::placeholder<boost::mpl::int<1>>'
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(69): note: see reference to class template instantiation 'boost::mpl::less_tag' being compiled
with
[
N1=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/aux/preprocessed/plain/or.hpp(50): note: see reference to class template instantiation 'boost::mpl::less<N,boost::mpl::int<2>>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/if.hpp(63): note: see reference to class template instantiation 'boost::mpl::or<boost::mpl::less<N,boost::mpl::int<2>>,boost::fusion::traits::isunbounded,boost::mpl::false,boost::mpl::false,boost::mpl::false>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<1>>,
Sequence=boost::fusion::tuple<int,int>
]
D:\Boost\src\boost/fusion/sequence/intrinsic/at.hpp(67): note: see reference to class template instantiation 'boost::mpl::if<boost::mpl::or<boost::mpl::less<N,boost::mpl::int_<2>>,boost::fusion::traits::isunbounded,boost::mpl::false,boost::mpl::false,boost::mpl::false>,boost::fusion::extension::at_impl::apply<Sequence,N>,boost::mpl::empty_base>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<1>>,
Sequence=boost::fusion::tuple<int,int>
]
D:\Boost\src\boost/fusion/sequence/intrinsic/at.hpp(83): note: see reference to class template instantiation 'boost::fusion::detail::at_impl<Sequence,N,boost::fusion::vector_tag>' being compiled
with
[
Sequence=boost::fusion::tuple<int,int>,
N=const lambdatransform::placeholder<boost::mpl::int<1>>
]
libs\proto\test\examples.cpp(376): note: see reference to class template instantiation 'boost::fusion::result_of::at<boost::fusion::tuple<int,int>,const lambdatransform::placeholder<boost::mpl::int<1>>>' being compiled
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): note: see reference to class template instantiation 'lambda_transform::at::result' being compiled
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<1>> &)
]
D:\Boost\src\boost/proto/transform/call.hpp(246): note: see reference to class template instantiation 'boost::proto::detail::poly_function_traits<Fun,Fun (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<1>> &),boost::mpl::size_t<3>>' being compiled
with
[
Fun=lambda_transform::at
]
D:\Boost\src\boost/proto/transform/call.hpp(313): note: see reference to class template instantiation 'boost::proto::call::impl2<Expr,State,Data,false>' being compiled
with
[
Fun=lambda_transform::at (boost::proto::_data,boost::proto::value),
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/when.hpp(59): note: see reference to class template instantiation 'boost::proto::call::impl<Expr,State,Data>' being compiled
with
[
Fun=lambda_transform::at (boost::proto::_data,boost::proto::value),
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/matches.hpp(762): note: see reference to class template instantiation 'boost::proto::detail::when_impl<Grammar,R,R (A0,A1)>::impl<Expr &,State,Data>' being compiled
with
[
Grammar=boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,
R=lambda_transform::at,
A0=boost::proto::_data,
A1=boost::proto::value,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): note: see reference to class template instantiation 'boost::proto::or_<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>::impl<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term,0> &,State,Data>' being compiled
with
[
T=lambdatransform::placeholder<boost::mpl::int<1>>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/matches.hpp(836): note: see reference to class template instantiation 'boost::proto::detail::default_minus::impl<Expr &,State,Data>' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/matches.hpp(762): note: see reference to class template instantiation 'boost::proto::switch_<boost::proto::detail::default_cases,boost::proto::tagof<boost::proto::> (void)>::impl<Expr &,State,Data>' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/impl.hpp(249): note: see reference to class template instantiation 'boost::proto::or_<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>::impl<Expr,State,Data>' being compiled
with
[
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
libs\proto\test\examples.cpp(414): note: see reference to class template instantiation 'boost::proto::detail::applytransform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void> (const boost::proto::exprns::expr<Tag,Args,2> &,const int &,boost::fusion::tuple<int,int> &)>' being compiled
with
[
Tag=boost::proto::tagns::tag::minus,
Args=boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>
]
D:\Boost\src\boost/proto/transform/impl.hpp(255): note: while compiling class template member function 'boost::proto::detail::applytransform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>(const Expr &,const State &,const Data &)>::resulttype boost::proto::transform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>,void>::operator ()(Expr &&,State &&,Data &&) const'
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(69): error C3203: 'tag': unspecialized class template can't be used as a template argument for template parameter 'Tag1', expected a real type
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(19): error C2825: 'Tag1': must be a class or namespace when followed by '::'
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(69): note: see reference to class template instantiation 'boost::mpl::less_impl<int,boost::mpl::integral_ctag>' being compiled
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(20): error C2510: 'Tag1': left of '::' must be a class/struct/union
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(19): error C2065: 'value': undeclared identifier
D:\Boost\src\boost/mpl/aux/preprocessed/plain/apply_wrap.hpp(39): error C2504: 'boost::mpl::numeric_cast<Tag1,Tag2>::apply': base class undefined
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag
]
and
[
T1=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/aux_/numeric_cast_utils.hpp(34): note: see reference to class template instantiation 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>' being compiled
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(69): note: see reference to class template instantiation 'boost::mpl::aux::cast1st_impl<boost::mpl::less_impl<boost::mpl::integral_c_tag,boost::mpl::integral_c_tag>,Tag1,Tag2>::apply<N1,N2>' being compiled
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<1>>,
N2=boost::mpl::int<2>
]
D:\Boost\src\boost/mpl/aux/numeric_cast_utils.hpp(34): error C2039: 'type': is not a member of 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>'
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/aux_/numeric_cast_utils.hpp(34): note: see declaration of 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>'
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/aux_/numeric_castutils.hpp(36): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter 'T1', expected a real type
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(87): error C2825: 'N1': must be a class or namespace when followed by '::'
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(49): note: see reference to class template instantiation 'boost::mpl::less_impl<boost::mpl::integral_c_tag,boost::mpl::integral_ctag>::apply<T1,T2>' being compiled
with
[
T1=int,
T2=boost::mpl::int<2>
]
D:\Boost\src\boost/mpl/aux_/numeric_cast_utils.hpp(37): note: see reference to class template instantiation 'boost::mpl::apply_wrap2<F,int,N2>' being compiled
with
[
F=boost::mpl::less_impl<boost::mpl::integral_c_tag,boost::mpl::integral_ctag>,
N2=boost::mpl::int<2>
]
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(87): error C2510: 'N1': left of '::' must be a class/struct/union
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(87): error C2065: 'value': undeclared identifier
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): error C2039: 'type': is not a member of 'lambda_transform::at::result'
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<1>> &)
]
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): note: see declaration of 'lambda_transform::at::result'
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<1>> &)
]
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(60): error C2039: 'tag': is not a member of 'lambdatransform::placeholder<boost::mpl::int<0>>'
libs\proto\test\examples.cpp(404): note: see declaration of 'lambdatransform::placeholder<boost::mpl::int<0>>'
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(69): note: see reference to class template instantiation 'boost::mpl::less_tag' being compiled
with
[
N1=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/mpl/aux/preprocessed/plain/or.hpp(50): note: see reference to class template instantiation 'boost::mpl::less<N,boost::mpl::int<2>>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/mpl/if.hpp(63): note: see reference to class template instantiation 'boost::mpl::or<boost::mpl::less<N,boost::mpl::int<2>>,boost::fusion::traits::isunbounded,boost::mpl::false,boost::mpl::false,boost::mpl::false>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<0>>,
Sequence=boost::fusion::tuple<int,int>
]
D:\Boost\src\boost/fusion/sequence/intrinsic/at.hpp(67): note: see reference to class template instantiation 'boost::mpl::if<boost::mpl::or<boost::mpl::less<N,boost::mpl::int_<2>>,boost::fusion::traits::isunbounded,boost::mpl::false,boost::mpl::false,boost::mpl::false>,boost::fusion::extension::at_impl::apply<Sequence,N>,boost::mpl::empty_base>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<0>>,
Sequence=boost::fusion::tuple<int,int>
]
D:\Boost\src\boost/fusion/sequence/intrinsic/at.hpp(83): note: see reference to class template instantiation 'boost::fusion::detail::at_impl<Sequence,N,boost::fusion::vector_tag>' being compiled
with
[
Sequence=boost::fusion::tuple<int,int>,
N=const lambdatransform::placeholder<boost::mpl::int<0>>
]
libs\proto\test\examples.cpp(376): note: see reference to class template instantiation 'boost::fusion::result_of::at<boost::fusion::tuple<int,int>,const lambdatransform::placeholder<boost::mpl::int<0>>>' being compiled
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): note: see reference to class template instantiation 'lambda_transform::at::result' being compiled
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<0>> &)
]
D:\Boost\src\boost/proto/transform/call.hpp(246): note: see reference to class template instantiation 'boost::proto::detail::poly_function_traits<Fun,Fun (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<0>> &),boost::mpl::size_t<3>>' being compiled
with
[
Fun=lambda_transform::at
]
D:\Boost\src\boost/proto/transform/call.hpp(313): note: see reference to class template instantiation 'boost::proto::call::impl2<Expr,State,Data,false>' being compiled
with
[
Fun=lambda_transform::at (boost::proto::_data,boost::proto::value),
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/when.hpp(59): note: see reference to class template instantiation 'boost::proto::call::impl<Expr,State,Data>' being compiled
with
[
Fun=lambda_transform::at (boost::proto::_data,boost::proto::value),
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/matches.hpp(762): note: see reference to class template instantiation 'boost::proto::detail::when_impl<Grammar,R,R (A0,A1)>::impl<Expr &,State,Data>' being compiled
with
[
Grammar=boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,
R=lambda_transform::at,
A0=boost::proto::_data,
A1=boost::proto::value,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): note: see reference to class template instantiation 'boost::proto::or_<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>::impl<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term,0> &,State,Data>' being compiled
with
[
T=lambdatransform::placeholder<boost::mpl::int<0>>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(39): error C2504: 'boost::mpl::numeric_cast<Tag1,Tag2>::apply': base class undefined
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag
]
and
[
T1=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/mpl/aux_/numeric_cast_utils.hpp(34): note: see reference to class template instantiation 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>' being compiled
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(69): note: see reference to class template instantiation 'boost::mpl::aux::cast1st_impl<boost::mpl::less_impl<boost::mpl::integral_c_tag,boost::mpl::integral_c_tag>,Tag1,Tag2>::apply<N1,N2>' being compiled
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<0>>,
N2=boost::mpl::int<2>
]
D:\Boost\src\boost/mpl/aux/numeric_cast_utils.hpp(34): error C2039: 'type': is not a member of 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>'
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/mpl/aux_/numeric_cast_utils.hpp(34): note: see declaration of 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>'
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): error C2039: 'type': is not a member of 'lambda_transform::at::result'
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<0>> &)
]
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): note: see declaration of 'lambda_transform::at::result'
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<0>> &)
]
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2672: 'boost::proto::detail::make': no matching overloaded function found
D:\Boost\src\boost/proto/transform/default.hpp(141): error C3206: 'boost::proto::detail::make': invalid template argument for 'T', missing template argument list on class template 'boost::type'
D:\Boost\src\boost/proto/detail/decltype.hpp(89): note: see declaration of 'boost::proto::detail::make'
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2672: 'boost::proto::detail::check_reference': no matching overloaded function found
D:\Boost\src\boost/proto/transform/default.hpp(141): error C3206: 'boost::proto::detail::make': invalid template argument for 'T', missing template argument list on class template 'boost::type'
D:\Boost\src\boost/proto/detail/decltype.hpp(89): note: see declaration of 'boost::proto::detail::make'
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2062: type 'unknown-type' unexpected
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2238: unexpected token(s) preceding ';'
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2039: 'type': is not a member of 'boost::proto::detail::default_minus::impl<Expr &,State,Data>::nested_and_hidden_nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): note: see declaration of 'boost::proto::detail::default_minus::impl<Expr &,State,Data>::nested_and_hidden_nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): note: see reference to class template instantiation 'boost::proto::detail::default_minus::impl<Expr &,State,Data>::nested_result_type' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2955: 'boost::type': use of class template requires template argument list
D:\Boost\src\boost/type.hpp(14): note: see declaration of 'boost::type'
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2955: 'boost::mpl::if_c': use of class template requires template argument list
D:\Boost\src\boost/mpl/if.hpp(35): note: see declaration of 'boost::mpl::if_c'
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2039: 'type': is not a member of 'boost::proto::detail::default_minus::impl<Expr &,State,Data>::nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): note: see declaration of 'boost::proto::detail::default_minus::impl<Expr &,State,Data>::nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
libs\proto\test\examples.cpp(414): error C2440: 'initializing': cannot convert from 'boost::type' to 'int'
libs\proto\test\examples.cpp(414): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2672: 'boost::proto::detail::make_mutable': no matching overloaded function found
D:\Boost\src\boost/proto/matches.hpp(836): note: see reference to class template instantiation 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/matches.hpp(762): note: see reference to class template instantiation 'boost::proto::switch<boost::proto::detail::default_cases,boost::proto::tagof<boost::proto::> (void)>::impl<Expr &,State,Data>' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/impl.hpp(249): note: see reference to class template instantiation 'boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>::impl<Expr,State,Data>' being compiled
with
[
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
libs\proto\test\examples.cpp(424): note: see reference to class template instantiation 'boost::proto::detail::applytransform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void> (const boost::proto::exprns::expr<Tag,Args,2> &,const int &,boost::fusion::tuple<int,int> &)>' being compiled
with
[
Tag=boost::proto::tagns::tag::plusassign,
Args=boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>
]
D:\Boost\src\boost/proto/transform/impl.hpp(255): note: while compiling class template member function 'boost::proto::detail::applytransform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>(const Expr &,const State &,const Data &)>::resulttype boost::proto::transform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>,void>::operator ()(Expr &&,State &&,Data &&) const'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C3206: 'boost::proto::detail::make_mutable': invalid template argument for 'T', missing template argument list on class template 'boost::type'
D:\Boost\src\boost/proto/detail/decltype.hpp(93): note: see declaration of 'boost::proto::detail::make_mutable'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2672: 'boost::proto::detail::check_reference': no matching overloaded function found
D:\Boost\src\boost/proto/transform/default.hpp(160): error C3206: 'boost::proto::detail::make_mutable': invalid template argument for 'T', missing template argument list on class template 'boost::type'
D:\Boost\src\boost/proto/detail/decltype.hpp(93): note: see declaration of 'boost::proto::detail::make_mutable'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2062: type 'unknown-type' unexpected
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2238: unexpected token(s) preceding ';'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2039: 'type': is not a member of 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>::nested_and_hidden_nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(160): note: see declaration of 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>::nested_and_hidden_nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(160): note: see reference to class template instantiation 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>::nested_result_type' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2955: 'boost::type': use of class template requires template argument list
D:\Boost\src\boost/type.hpp(14): note: see declaration of 'boost::type'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2955: 'boost::mpl::if_c': use of class template requires template argument list
D:\Boost\src\boost/mpl/if.hpp(35): note: see declaration of 'boost::mpl::if_c'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2039: 'type': is not a member of 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>::nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(160): note: see declaration of 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>::nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
Hi, We tried to build and run proto test for Boost with visual studio latest release on Windows. It failed with 2 source issues, Could you please help take a look at this? Thank you! Reproduce steps:
Issue#2 examples.cpp D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(60): error C2039: 'tag': is not a member of 'lambdatransform::placeholder<boost::mpl::int<1>>' libs\proto\test\examples.cpp(405): note: see declaration of 'lambdatransform::placeholder<boost::mpl::int<1>>' D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(69): note: see reference to class template instantiation 'boost::mpl::less_tag' being compiled
with
[
N1=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/aux/preprocessed/plain/or.hpp(50): note: see reference to class template instantiation 'boost::mpl::less<N,boost::mpl::int<2>>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/if.hpp(63): note: see reference to class template instantiation 'boost::mpl::or<boost::mpl::less<N,boost::mpl::int<2>>,boost::fusion::traits::isunbounded,boost::mpl::false ,boost::mpl::false,boost::mpl::false>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<1>>,
Sequence=boost::fusion::tuple<int,int>
]
D:\Boost\src\boost/fusion/sequence/intrinsic/at.hpp(67): note: see reference to class template instantiation 'boost::mpl::if<boost::mpl::or<boost::mpl::less<N,boost::mpl::int_<2>>,boost::fusion::traits::isunbounded,boost::mpl::false ,boost::mpl::false,boost::mpl::false>,boost::fusion::extension::at_impl::apply<Sequence,N>,boost::mpl::empty_base>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<1>>,
Sequence=boost::fusion::tuple<int,int>
]
D:\Boost\src\boost/fusion/sequence/intrinsic/at.hpp(83): note: see reference to class template instantiation 'boost::fusion::detail::at_impl<Sequence,N,boost::fusion::vector_tag>' being compiled
with
[
Sequence=boost::fusion::tuple<int,int>,
N=const lambdatransform::placeholder<boost::mpl::int<1>>
]
libs\proto\test\examples.cpp(376): note: see reference to class template instantiation 'boost::fusion::result_of::at<boost::fusion::tuple<int,int>,const lambdatransform::placeholder<boost::mpl::int<1>>>' being compiled
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): note: see reference to class template instantiation 'lambda_transform::at::result' being compiled
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<1>> &)
]
D:\Boost\src\boost/proto/transform/call.hpp(246): note: see reference to class template instantiation 'boost::proto::detail::poly_function_traits<Fun,Fun (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<1>> &),boost::mpl::size_t<3>>' being compiled
with
[
Fun=lambda_transform::at
]
D:\Boost\src\boost/proto/transform/call.hpp(313): note: see reference to class template instantiation 'boost::proto::call::impl2<Expr,State,Data,false>' being compiled
with
[
Fun=lambda_transform::at (boost::proto::_data,boost::proto::value),
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/when.hpp(59): note: see reference to class template instantiation 'boost::proto::call::impl<Expr,State,Data>' being compiled
with
[
Fun=lambda_transform::at (boost::proto::_data,boost::proto::value),
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/matches.hpp(762): note: see reference to class template instantiation 'boost::proto::detail::when_impl<Grammar,R,R (A0,A1)>::impl<Expr &,State,Data>' being compiled
with
[
Grammar=boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,
R=lambda_transform::at,
A0=boost::proto::_data,
A1=boost::proto::value,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): note: see reference to class template instantiation 'boost::proto::or_<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>::impl<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term,0> &,State,Data>' being compiled
with
[
T=lambdatransform::placeholder<boost::mpl::int<1>>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/matches.hpp(836): note: see reference to class template instantiation 'boost::proto::detail::default_minus::impl<Expr &,State,Data>' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/matches.hpp(762): note: see reference to class template instantiation 'boost::proto::switch_<boost::proto::detail::default_cases,boost::proto::tagof<boost::proto::> (void)>::impl<Expr &,State,Data>' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/impl.hpp(249): note: see reference to class template instantiation 'boost::proto::or_<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>::impl<Expr,State,Data>' being compiled
with
[
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
libs\proto\test\examples.cpp(414): note: see reference to class template instantiation 'boost::proto::detail::applytransform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void> (const boost::proto::exprns::expr<Tag,Args,2> &,const int &,boost::fusion::tuple<int,int> &)>' being compiled
with
[
Tag=boost::proto::tagns::tag::minus,
Args=boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>
]
D:\Boost\src\boost/proto/transform/impl.hpp(255): note: while compiling class template member function 'boost::proto::detail::applytransform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>(const Expr &,const State &,const Data &)>::resulttype boost::proto::transform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>,void>::operator ()(Expr &&,State &&,Data &&) const'
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(69): error C3203: 'tag': unspecialized class template can't be used as a template argument for template parameter 'Tag1', expected a real type
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(19): error C2825: 'Tag1': must be a class or namespace when followed by '::'
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(69): note: see reference to class template instantiation 'boost::mpl::less_impl<int,boost::mpl::integral_ctag>' being compiled
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(20): error C2510: 'Tag1': left of '::' must be a class/struct/union
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(19): error C2065: 'value': undeclared identifier
D:\Boost\src\boost/mpl/aux/preprocessed/plain/apply_wrap.hpp(39): error C2504: 'boost::mpl::numeric_cast<Tag1,Tag2>::apply': base class undefined
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag
]
and
[
T1=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/aux_/numeric_cast_utils.hpp(34): note: see reference to class template instantiation 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>' being compiled
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(69): note: see reference to class template instantiation 'boost::mpl::aux::cast1st_impl<boost::mpl::less_impl<boost::mpl::integral_c_tag,boost::mpl::integral_c_tag>,Tag1,Tag2>::apply<N1,N2>' being compiled
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<1>>,
N2=boost::mpl::int<2>
]
D:\Boost\src\boost/mpl/aux/numeric_cast_utils.hpp(34): error C2039: 'type': is not a member of 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>'
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/aux_/numeric_cast_utils.hpp(34): note: see declaration of 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>'
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<1>>
]
D:\Boost\src\boost/mpl/aux_/numeric_castutils.hpp(36): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter 'T1', expected a real type
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(87): error C2825: 'N1': must be a class or namespace when followed by '::'
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(49): note: see reference to class template instantiation 'boost::mpl::less_impl<boost::mpl::integral_c_tag,boost::mpl::integral_ctag>::apply<T1,T2>' being compiled
with
[
T1=int,
T2=boost::mpl::int<2>
]
D:\Boost\src\boost/mpl/aux_/numeric_cast_utils.hpp(37): note: see reference to class template instantiation 'boost::mpl::apply_wrap2<F,int,N2>' being compiled
with
[
F=boost::mpl::less_impl<boost::mpl::integral_c_tag,boost::mpl::integral_ctag>,
N2=boost::mpl::int<2>
]
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(87): error C2510: 'N1': left of '::' must be a class/struct/union
D:\Boost\src\boost/mpl/aux/preprocessed/plain/less.hpp(87): error C2065: 'value': undeclared identifier
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): error C2039: 'type': is not a member of 'lambda_transform::at::result'
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<1>> &)
]
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): note: see declaration of 'lambda_transform::at::result'
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<1>> &)
]
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(60): error C2039: 'tag': is not a member of 'lambdatransform::placeholder<boost::mpl::int<0>>'
libs\proto\test\examples.cpp(404): note: see declaration of 'lambdatransform::placeholder<boost::mpl::int<0>>'
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(69): note: see reference to class template instantiation 'boost::mpl::less_tag' being compiled
with
[
N1=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/mpl/aux/preprocessed/plain/or.hpp(50): note: see reference to class template instantiation 'boost::mpl::less<N,boost::mpl::int<2>>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/mpl/if.hpp(63): note: see reference to class template instantiation 'boost::mpl::or<boost::mpl::less<N,boost::mpl::int<2>>,boost::fusion::traits::isunbounded,boost::mpl::false ,boost::mpl::false,boost::mpl::false>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<0>>,
Sequence=boost::fusion::tuple<int,int>
]
D:\Boost\src\boost/fusion/sequence/intrinsic/at.hpp(67): note: see reference to class template instantiation 'boost::mpl::if<boost::mpl::or<boost::mpl::less<N,boost::mpl::int_<2>>,boost::fusion::traits::isunbounded,boost::mpl::false ,boost::mpl::false,boost::mpl::false>,boost::fusion::extension::at_impl::apply<Sequence,N>,boost::mpl::empty_base>' being compiled
with
[
N=const lambdatransform::placeholder<boost::mpl::int<0>>,
Sequence=boost::fusion::tuple<int,int>
]
D:\Boost\src\boost/fusion/sequence/intrinsic/at.hpp(83): note: see reference to class template instantiation 'boost::fusion::detail::at_impl<Sequence,N,boost::fusion::vector_tag>' being compiled
with
[
Sequence=boost::fusion::tuple<int,int>,
N=const lambdatransform::placeholder<boost::mpl::int<0>>
]
libs\proto\test\examples.cpp(376): note: see reference to class template instantiation 'boost::fusion::result_of::at<boost::fusion::tuple<int,int>,const lambdatransform::placeholder<boost::mpl::int<0>>>' being compiled
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): note: see reference to class template instantiation 'lambda_transform::at::result' being compiled
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<0>> &)
]
D:\Boost\src\boost/proto/transform/call.hpp(246): note: see reference to class template instantiation 'boost::proto::detail::poly_function_traits<Fun,Fun (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<0>> &),boost::mpl::size_t<3>>' being compiled
with
[
Fun=lambda_transform::at
]
D:\Boost\src\boost/proto/transform/call.hpp(313): note: see reference to class template instantiation 'boost::proto::call::impl2<Expr,State,Data,false>' being compiled
with
[
Fun=lambda_transform::at (boost::proto::_data,boost::proto::value),
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/when.hpp(59): note: see reference to class template instantiation 'boost::proto::call::impl<Expr,State,Data>' being compiled
with
[
Fun=lambda_transform::at (boost::proto::_data,boost::proto::value),
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/matches.hpp(762): note: see reference to class template instantiation 'boost::proto::detail::when_impl<Grammar,R,R (A0,A1)>::impl<Expr &,State,Data>' being compiled
with
[
Grammar=boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,
R=lambda_transform::at,
A0=boost::proto::_data,
A1=boost::proto::value,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): note: see reference to class template instantiation 'boost::proto::or_<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>::impl<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term,0> &,State,Data>' being compiled
with
[
T=lambdatransform::placeholder<boost::mpl::int<0>>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(39): error C2504: 'boost::mpl::numeric_cast<Tag1,Tag2>::apply': base class undefined
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag
]
and
[
T1=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/mpl/aux_/numeric_cast_utils.hpp(34): note: see reference to class template instantiation 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>' being compiled
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/mpl/aux_/preprocessed/plain/less.hpp(69): note: see reference to class template instantiation 'boost::mpl::aux::cast1st_impl<boost::mpl::less_impl<boost::mpl::integral_c_tag,boost::mpl::integral_c_tag>,Tag1,Tag2>::apply<N1,N2>' being compiled
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<0>>,
N2=boost::mpl::int<2>
]
D:\Boost\src\boost/mpl/aux/numeric_cast_utils.hpp(34): error C2039: 'type': is not a member of 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>'
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/mpl/aux_/numeric_cast_utils.hpp(34): note: see declaration of 'boost::mpl::apply_wrap1<boost::mpl::numeric_cast<Tag1,Tag2>,N1>'
with
[
Tag1=int,
Tag2=boost::mpl::integral_c_tag,
N1=const lambdatransform::placeholder<boost::mpl::int<0>>
]
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): error C2039: 'type': is not a member of 'lambda_transform::at::result'
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<0>> &)
]
D:\Boost\src\boost/proto/detail/poly_function.hpp(205): note: see declaration of 'lambda_transform::at::result'
with
[
Sig=lambda_transform::at (boost::fusion::tuple<int,int> &,const lambdatransform::placeholder<boost::mpl::int<0>> &)
]
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2672: 'boost::proto::detail::make': no matching overloaded function found
D:\Boost\src\boost/proto/transform/default.hpp(141): error C3206: 'boost::proto::detail::make': invalid template argument for 'T', missing template argument list on class template 'boost::type'
D:\Boost\src\boost/proto/detail/decltype.hpp(89): note: see declaration of 'boost::proto::detail::make'
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2672: 'boost::proto::detail::check_reference': no matching overloaded function found
D:\Boost\src\boost/proto/transform/default.hpp(141): error C3206: 'boost::proto::detail::make': invalid template argument for 'T', missing template argument list on class template 'boost::type'
D:\Boost\src\boost/proto/detail/decltype.hpp(89): note: see declaration of 'boost::proto::detail::make'
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2062: type 'unknown-type' unexpected
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2238: unexpected token(s) preceding ';'
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2039: 'type': is not a member of 'boost::proto::detail::default_minus::impl<Expr &,State,Data>::nested_and_hidden_nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): note: see declaration of 'boost::proto::detail::default_minus::impl<Expr &,State,Data>::nested_and_hidden_nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): note: see reference to class template instantiation 'boost::proto::detail::default_minus::impl<Expr &,State,Data>::nested_result_type' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2955: 'boost::type': use of class template requires template argument list
D:\Boost\src\boost/type.hpp(14): note: see declaration of 'boost::type'
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2955: 'boost::mpl::if_c': use of class template requires template argument list
D:\Boost\src\boost/mpl/if.hpp(35): note: see declaration of 'boost::mpl::if_c'
D:\Boost\src\boost/proto/transform/default.hpp(141): error C2039: 'type': is not a member of 'boost::proto::detail::default_minus::impl<Expr &,State,Data>::nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(141): note: see declaration of 'boost::proto::detail::default_minus::impl<Expr &,State,Data>::nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::minus,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<1>>>,0> &,const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
libs\proto\test\examples.cpp(414): error C2440: 'initializing': cannot convert from 'boost::type' to 'int'
libs\proto\test\examples.cpp(414): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2672: 'boost::proto::detail::make_mutable': no matching overloaded function found
D:\Boost\src\boost/proto/matches.hpp(836): note: see reference to class template instantiation 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/matches.hpp(762): note: see reference to class template instantiation 'boost::proto::switch<boost::proto::detail::default_cases,boost::proto::tagof<boost::proto::> (void)>::impl<Expr &,State,Data>' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/impl.hpp(249): note: see reference to class template instantiation 'boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>::impl<Expr,State,Data>' being compiled
with
[
Expr=const boost::proto::exprns::expr<boost::proto::tagns::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2> &,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
libs\proto\test\examples.cpp(424): note: see reference to class template instantiation 'boost::proto::detail::applytransform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void> (const boost::proto::exprns::expr<Tag,Args,2> &,const int &,boost::fusion::tuple<int,int> &)>' being compiled
with
[
Tag=boost::proto::tagns::tag::plusassign,
Args=boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>
]
D:\Boost\src\boost/proto/transform/impl.hpp(255): note: while compiling class template member function 'boost::proto::detail::applytransform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>(const Expr &,const State &,const Data &)>::resulttype boost::proto::transform<boost::proto::or<boost::proto::when<boost::proto::terminal<lambdatransform::placeholder<boost::proto::>>,lambda_transform::at (boost::proto::_data,boost::proto::_value)>,boost::proto::otherwise<boost::proto::_default>,void,void,void,void,void,void,void,void>,void>::operator ()(Expr &&,State &&,Data &&) const'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C3206: 'boost::proto::detail::make_mutable': invalid template argument for 'T', missing template argument list on class template 'boost::type'
D:\Boost\src\boost/proto/detail/decltype.hpp(93): note: see declaration of 'boost::proto::detail::make_mutable'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2672: 'boost::proto::detail::check_reference': no matching overloaded function found
D:\Boost\src\boost/proto/transform/default.hpp(160): error C3206: 'boost::proto::detail::make_mutable': invalid template argument for 'T', missing template argument list on class template 'boost::type'
D:\Boost\src\boost/proto/detail/decltype.hpp(93): note: see declaration of 'boost::proto::detail::make_mutable'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2062: type 'unknown-type' unexpected
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2238: unexpected token(s) preceding ';'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2039: 'type': is not a member of 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>::nested_and_hidden_nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(160): note: see declaration of 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>::nested_and_hidden_nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(160): note: see reference to class template instantiation 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>::nested_result_type' being compiled
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2955: 'boost::type': use of class template requires template argument list
D:\Boost\src\boost/type.hpp(14): note: see declaration of 'boost::type'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2955: 'boost::mpl::if_c': use of class template requires template argument list
D:\Boost\src\boost/mpl/if.hpp(35): note: see declaration of 'boost::mpl::if_c'
D:\Boost\src\boost/proto/transform/default.hpp(160): error C2039: 'type': is not a member of 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>::nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]
D:\Boost\src\boost/proto/transform/default.hpp(160): note: see declaration of 'boost::proto::detail::default_plus_assign::impl<Expr &,State,Data>::nested_result_type'
with
[
Grammar=lambdatransform::LambdaEval,
Expr=const boost::proto::exprns::expr<boost::proto::tagns_::tag::plusassign,boost::proto::argsns::list2<const boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<lambdatransform::placeholder<boost::mpl::int<0>>>,0> &,boost::proto::exprns::expr<boost::proto::tagns::tag::terminal,boost::proto::argsns_::term<const int &>,0>>,2>,
State=const int &,
Data=boost::fusion::tuple<int,int> &
]