* installing *source* package ‘RcppLbfgsBlaze’ ...
** package ‘RcppLbfgsBlaze’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C compiler: ‘gcc-14 (GCC) 14.2.0’
using C++ compiler: ‘g++-14 (GCC) 14.2.0’
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/RcppLbfgsBlaze/src'
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppBlaze/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  -I../inst/include -fopenmp -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c RcppExports.cpp -o RcppExports.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppBlaze/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0  -I../inst/include -fopenmp -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection  -DR_NO_REMAP -c fastLogisticModel.cpp -o fastLogisticModel.o
gcc-14 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppBlaze/include' -I/usr/local/include -DC99_INLINE_SEMANTICS=0   -fpic  -g -O2 -Wall -pedantic -mtune=native -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -Wstrict-prototypes  -c registerDynamicSymbols.c -o registerDynamicSymbols.o
In file included from /data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/DenseMatrix.h:79,
                 from /data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/CustomMatrix.h:47,
                 from /data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/Math.h:51,
                 from /data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/Blaze.h:43,
                 from /data/gannet/ripley/R/test-dev/RcppBlaze/include/RcppBlazeForward.h:28,
                 from /data/gannet/ripley/R/test-dev/RcppBlaze/include/RcppBlaze.h:13,
                 from fastLogisticModel.cpp:10:
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:280:16:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  280 |          assign( *lhs, *rhs );
      |          ~~~~~~^~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:2883:16:   required from 'blaze::EnableIf_t<((bool)UseSMPAssign_v<VT1>)> blaze::smpAssign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DVecDVecSubExpr<CustomVector<double, blaze::aligned, blaze::padded>, CustomVector<double, blaze::aligned, blaze::padded>, false>; EnableIf_t<((bool)UseSMPAssign_v<VT1>)> = void]'
 2883 |       smpAssign( *lhs, A * x );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3837:16:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3837 |       smpAssign( *this, *rhs );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
fastLogisticModel.cpp:47:37:   required from here
   47 |   grad = blaze::trans(X) * (phat - y);
      |                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:423:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  423 |       LT A( serial( rhs.mat_ ) );  // Evaluation of the left-hand side dense matrix operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:423:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, false>(rhs.blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> > >::mat_).blaze::DMatSerialExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:280:16:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  280 |          assign( *lhs, *rhs );
      |          ~~~~~~^~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:2883:16:   required from 'blaze::EnableIf_t<((bool)UseSMPAssign_v<VT1>)> blaze::smpAssign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DVecDVecSubExpr<CustomVector<double, blaze::aligned, blaze::padded>, CustomVector<double, blaze::aligned, blaze::padded>, false>; EnableIf_t<((bool)UseSMPAssign_v<VT1>)> = void]'
 2883 |       smpAssign( *lhs, A * x );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/DynamicVector.h:890:13:   required from 'blaze::DynamicVector<Type, TF, Alloc, Tag>::DynamicVector(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; bool TF = false; Alloc = blaze::AlignedAllocator<double>; Tag = blaze::GroupTag<0>]'
  890 |    smpAssign( *this, *v );
      |    ~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3831:30:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3831 |       const ResultType_t<VT> tmp( *rhs );
      |                              ^~~
fastLogisticModel.cpp:47:37:   required from here
   47 |   grad = blaze::trans(X) * (phat - y);
      |                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:423:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  423 |       LT A( serial( rhs.mat_ ) );  // Evaluation of the left-hand side dense matrix operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:423:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, false>(rhs.blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> > >::mat_).blaze::DMatSerialExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; MT = DMatTransExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>; VT = Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; auto:2 = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true> >]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:129:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; OP = smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)>]'
  129 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:2883:16:   required from 'blaze::EnableIf_t<((bool)UseSMPAssign_v<VT1>)> blaze::smpAssign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DVecDVecSubExpr<CustomVector<double, blaze::aligned, blaze::padded>, CustomVector<double, blaze::aligned, blaze::padded>, false>; EnableIf_t<((bool)UseSMPAssign_v<VT1>)> = void]'
 2883 |       smpAssign( *lhs, A * x );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3837:16:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3837 |       smpAssign( *this, *rhs );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
fastLogisticModel.cpp:47:37:   required from here
   47 |   grad = blaze::trans(X) * (phat - y);
      |                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>, false>(rhs.blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; MT = DMatTransExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>; VT = Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; auto:2 = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true> >]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:134:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; OP = smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)>]'
  134 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:2883:16:   required from 'blaze::EnableIf_t<((bool)UseSMPAssign_v<VT1>)> blaze::smpAssign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DVecDVecSubExpr<CustomVector<double, blaze::aligned, blaze::padded>, CustomVector<double, blaze::aligned, blaze::padded>, false>; EnableIf_t<((bool)UseSMPAssign_v<VT1>)> = void]'
 2883 |       smpAssign( *lhs, A * x );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3837:16:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3837 |       smpAssign( *this, *rhs );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
fastLogisticModel.cpp:47:37:   required from here
   47 |   grad = blaze::trans(X) * (phat - y);
      |                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>, false>(rhs.blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; MT = DMatTransExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>; VT = Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; auto:2 = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true> >]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:139:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; OP = smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)>]'
  139 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:2883:16:   required from 'blaze::EnableIf_t<((bool)UseSMPAssign_v<VT1>)> blaze::smpAssign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DVecDVecSubExpr<CustomVector<double, blaze::aligned, blaze::padded>, CustomVector<double, blaze::aligned, blaze::padded>, false>; EnableIf_t<((bool)UseSMPAssign_v<VT1>)> = void]'
 2883 |       smpAssign( *lhs, A * x );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3837:16:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3837 |       smpAssign( *this, *rhs );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
fastLogisticModel.cpp:47:37:   required from here
   47 |   grad = blaze::trans(X) * (phat - y);
      |                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>, false>(rhs.blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; MT = DMatTransExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>; VT = Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; auto:2 = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true> >]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:144:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; OP = smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)>]'
  144 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:2883:16:   required from 'blaze::EnableIf_t<((bool)UseSMPAssign_v<VT1>)> blaze::smpAssign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DVecDVecSubExpr<CustomVector<double, blaze::aligned, blaze::padded>, CustomVector<double, blaze::aligned, blaze::padded>, false>; EnableIf_t<((bool)UseSMPAssign_v<VT1>)> = void]'
 2883 |       smpAssign( *lhs, A * x );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3837:16:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3837 |       smpAssign( *this, *rhs );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
fastLogisticModel.cpp:47:37:   required from here
   47 |   grad = blaze::trans(X) * (phat - y);
      |                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>, false>(rhs.blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true>, false>::operator Operand()'
In file included from /data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/DenseMatrix.h:121:
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const TDMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; MT = Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>; VT = Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   recursively required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; VT = TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >; OP = Bind2nd<Min, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
  605 |       assign( *lhs, rhs.dv_ );
      |       ~~~~~~^~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; VT = DVecMapExpr<TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >, Bind2nd<Min, double>, false>; OP = Bind2nd<Max, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; auto:2 = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:129:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; OP = smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)>]'
  129 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3837:16:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3837 |       smpAssign( *this, *rhs );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
fastLogisticModel.cpp:44:53:   required from here
   44 |   eta = blaze::max(blaze::min(X * coef, 30.0), -30.0);
      |                                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       LT A( serial( rhs.mat_ ) );  // Evaluation of the left-hand side dense matrix operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, true>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >::mat_).blaze::DMatSerialExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, true>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  425 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>, false>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const TDMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; MT = Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>; VT = Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   recursively required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; VT = TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >; OP = Bind2nd<Min, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
  605 |       assign( *lhs, rhs.dv_ );
      |       ~~~~~~^~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; VT = DVecMapExpr<TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >, Bind2nd<Min, double>, false>; OP = Bind2nd<Max, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>; auto:2 = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:134:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; OP = smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)>]'
  134 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3837:16:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3837 |       smpAssign( *this, *rhs );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
fastLogisticModel.cpp:44:53:   required from here
   44 |   eta = blaze::max(blaze::min(X * coef, 30.0), -30.0);
      |                                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       LT A( serial( rhs.mat_ ) );  // Evaluation of the left-hand side dense matrix operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, true>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >::mat_).blaze::DMatSerialExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, true>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  425 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>, false>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const TDMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; MT = Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>; VT = Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   recursively required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; VT = TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >; OP = Bind2nd<Min, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
  605 |       assign( *lhs, rhs.dv_ );
      |       ~~~~~~^~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; VT = DVecMapExpr<TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >, Bind2nd<Min, double>, false>; OP = Bind2nd<Max, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; auto:2 = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:139:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; OP = smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)>]'
  139 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3837:16:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3837 |       smpAssign( *this, *rhs );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
fastLogisticModel.cpp:44:53:   required from here
   44 |   eta = blaze::max(blaze::min(X * coef, 30.0), -30.0);
      |                                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       LT A( serial( rhs.mat_ ) );  // Evaluation of the left-hand side dense matrix operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, true>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >::mat_).blaze::DMatSerialExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, true>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  425 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>, false>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const TDMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; MT = Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>; VT = Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   recursively required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; VT = TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >; OP = Bind2nd<Min, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
  605 |       assign( *lhs, rhs.dv_ );
      |       ~~~~~~^~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; VT = DVecMapExpr<TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >, Bind2nd<Min, double>, false>; OP = Bind2nd<Max, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>; auto:2 = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:144:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; OP = smpAssign<CustomVector<double, blaze::aligned, blaze::padded>, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<CustomVector<double, blaze::aligned, blaze::padded>, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)>]'
  144 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = CustomVector<double, blaze::aligned, blaze::padded>; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3837:16:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3837 |       smpAssign( *this, *rhs );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
fastLogisticModel.cpp:44:53:   required from here
   44 |   eta = blaze::max(blaze::min(X * coef, 30.0), -30.0);
      |                                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       LT A( serial( rhs.mat_ ) );  // Evaluation of the left-hand side dense matrix operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, true>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >::mat_).blaze::DMatSerialExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, true>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  425 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>, false>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>; MT = DMatTransExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>; VT = Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true>; auto:2 = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true> >]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:129:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; OP = smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)>]'
  129 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:2883:16:   required from 'blaze::EnableIf_t<((bool)UseSMPAssign_v<VT1>)> blaze::smpAssign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DVecDVecSubExpr<CustomVector<double, blaze::aligned, blaze::padded>, CustomVector<double, blaze::aligned, blaze::padded>, false>; EnableIf_t<((bool)UseSMPAssign_v<VT1>)> = void]'
 2883 |       smpAssign( *lhs, A * x );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/DynamicVector.h:890:13:   required from 'blaze::DynamicVector<Type, TF, Alloc, Tag>::DynamicVector(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; bool TF = false; Alloc = blaze::AlignedAllocator<double>; Tag = blaze::GroupTag<0>]'
  890 |    smpAssign( *this, *v );
      |    ~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3831:30:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3831 |       const ResultType_t<VT> tmp( *rhs );
      |                              ^~~
fastLogisticModel.cpp:47:37:   required from here
   47 |   grad = blaze::trans(X) * (phat - y);
      |                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>, false>(rhs.blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>; MT = DMatTransExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>; VT = Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true>; auto:2 = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true> >]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:134:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; OP = smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)>]'
  134 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:2883:16:   required from 'blaze::EnableIf_t<((bool)UseSMPAssign_v<VT1>)> blaze::smpAssign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DVecDVecSubExpr<CustomVector<double, blaze::aligned, blaze::padded>, CustomVector<double, blaze::aligned, blaze::padded>, false>; EnableIf_t<((bool)UseSMPAssign_v<VT1>)> = void]'
 2883 |       smpAssign( *lhs, A * x );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/DynamicVector.h:890:13:   required from 'blaze::DynamicVector<Type, TF, Alloc, Tag>::DynamicVector(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; bool TF = false; Alloc = blaze::AlignedAllocator<double>; Tag = blaze::GroupTag<0>]'
  890 |    smpAssign( *this, *v );
      |    ~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3831:30:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3831 |       const ResultType_t<VT> tmp( *rhs );
      |                              ^~~
fastLogisticModel.cpp:47:37:   required from here
   47 |   grad = blaze::trans(X) * (phat - y);
      |                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>, false>(rhs.blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>; MT = DMatTransExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>; VT = Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true>; auto:2 = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true> >]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:139:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; OP = smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)>]'
  139 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:2883:16:   required from 'blaze::EnableIf_t<((bool)UseSMPAssign_v<VT1>)> blaze::smpAssign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DVecDVecSubExpr<CustomVector<double, blaze::aligned, blaze::padded>, CustomVector<double, blaze::aligned, blaze::padded>, false>; EnableIf_t<((bool)UseSMPAssign_v<VT1>)> = void]'
 2883 |       smpAssign( *lhs, A * x );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/DynamicVector.h:890:13:   required from 'blaze::DynamicVector<Type, TF, Alloc, Tag>::DynamicVector(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; bool TF = false; Alloc = blaze::AlignedAllocator<double>; Tag = blaze::GroupTag<0>]'
  890 |    smpAssign( *this, *v );
      |    ~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3831:30:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3831 |       const ResultType_t<VT> tmp( *rhs );
      |                              ^~~
fastLogisticModel.cpp:47:37:   required from here
   47 |   grad = blaze::trans(X) * (phat - y);
      |                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>, false>(rhs.blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>; MT = DMatTransExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>; VT = Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true>; auto:2 = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true> >]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:144:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; OP = smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >, false>&)::<lambda(auto:1&, const auto:2&)>]'
  144 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DMatDVecMultExpr<DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> > >; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:2883:16:   required from 'blaze::EnableIf_t<((bool)UseSMPAssign_v<VT1>)> blaze::smpAssign(DenseVector<VT, false>&, const DMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; MT = DMatTransExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>; VT = DVecDVecSubExpr<CustomVector<double, blaze::aligned, blaze::padded>, CustomVector<double, blaze::aligned, blaze::padded>, false>; EnableIf_t<((bool)UseSMPAssign_v<VT1>)> = void]'
 2883 |       smpAssign( *lhs, A * x );
      |       ~~~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/DynamicVector.h:890:13:   required from 'blaze::DynamicVector<Type, TF, Alloc, Tag>::DynamicVector(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; bool TF = false; Alloc = blaze::AlignedAllocator<double>; Tag = blaze::GroupTag<0>]'
  890 |    smpAssign( *this, *v );
      |    ~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3831:30:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, false>, blaze::DVecDVecSubExpr<blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::CustomVector<double, blaze::aligned, blaze::padded>, false> >; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3831 |       const ResultType_t<VT> tmp( *rhs );
      |                              ^~~
fastLogisticModel.cpp:47:37:   required from here
   47 |   grad = blaze::trans(X) * (phat - y);
      |                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>, false>(rhs.blaze::DMatDVecMultExpr<blaze::DMatTransExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, false>, blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const TDMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>; MT = Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>; VT = Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   recursively required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>; VT = TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >; OP = Bind2nd<Min, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
  605 |       assign( *lhs, rhs.dv_ );
      |       ~~~~~~^~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>; VT = DVecMapExpr<TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >, Bind2nd<Min, double>, false>; OP = Bind2nd<Max, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true>; auto:2 = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:129:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; OP = smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)>]'
  129 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/DynamicVector.h:890:13:   required from 'blaze::DynamicVector<Type, TF, Alloc, Tag>::DynamicVector(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; bool TF = false; Alloc = blaze::AlignedAllocator<double>; Tag = blaze::GroupTag<0>]'
  890 |    smpAssign( *this, *v );
      |    ~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3831:30:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3831 |       const ResultType_t<VT> tmp( *rhs );
      |                              ^~~
fastLogisticModel.cpp:44:53:   required from here
   44 |   eta = blaze::max(blaze::min(X * coef, 30.0), -30.0);
      |                                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       LT A( serial( rhs.mat_ ) );  // Evaluation of the left-hand side dense matrix operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, true>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >::mat_).blaze::DMatSerialExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, true>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  425 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>, false>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const TDMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>; MT = Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>; VT = Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   recursively required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>; VT = TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >; OP = Bind2nd<Min, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
  605 |       assign( *lhs, rhs.dv_ );
      |       ~~~~~~^~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::aligned, false, true>; VT = DVecMapExpr<TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >, Bind2nd<Min, double>, false>; OP = Bind2nd<Max, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::aligned, false, true>; auto:2 = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:134:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; OP = smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)>]'
  134 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/DynamicVector.h:890:13:   required from 'blaze::DynamicVector<Type, TF, Alloc, Tag>::DynamicVector(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; bool TF = false; Alloc = blaze::AlignedAllocator<double>; Tag = blaze::GroupTag<0>]'
  890 |    smpAssign( *this, *v );
      |    ~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3831:30:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3831 |       const ResultType_t<VT> tmp( *rhs );
      |                              ^~~
fastLogisticModel.cpp:44:53:   required from here
   44 |   eta = blaze::max(blaze::min(X * coef, 30.0), -30.0);
      |                                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       LT A( serial( rhs.mat_ ) );  // Evaluation of the left-hand side dense matrix operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, true>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >::mat_).blaze::DMatSerialExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, true>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  425 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>, false>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const TDMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>; MT = Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>; VT = Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   recursively required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>; VT = TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >; OP = Bind2nd<Min, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
  605 |       assign( *lhs, rhs.dv_ );
      |       ~~~~~~^~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>; VT = DVecMapExpr<TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >, Bind2nd<Min, double>, false>; OP = Bind2nd<Max, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true>; auto:2 = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:139:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; OP = smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)>]'
  139 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/DynamicVector.h:890:13:   required from 'blaze::DynamicVector<Type, TF, Alloc, Tag>::DynamicVector(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; bool TF = false; Alloc = blaze::AlignedAllocator<double>; Tag = blaze::GroupTag<0>]'
  890 |    smpAssign( *this, *v );
      |    ~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3831:30:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3831 |       const ResultType_t<VT> tmp( *rhs );
      |                              ^~~
fastLogisticModel.cpp:44:53:   required from here
   44 |   eta = blaze::max(blaze::min(X * coef, 30.0), -30.0);
      |                                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       LT A( serial( rhs.mat_ ) );  // Evaluation of the left-hand side dense matrix operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, true>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >::mat_).blaze::DMatSerialExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, true>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  425 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>, false>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::aligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::aligned, false, true>, false>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h: In instantiation of 'void blaze::assign(DenseVector<VT, false>&, const TDMatDVecMultExpr< <template-parameter-1-1>, <template-parameter-1-2> >&) [with VT1 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>; MT = Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>; VT = Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>]':
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   recursively required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>; VT = TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >; OP = Bind2nd<Min, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
  605 |       assign( *lhs, rhs.dv_ );
      |       ~~~~~~^~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/DVecMapExpr.h:605:13:   required from 'blaze::EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename blaze::UnderlyingScalar<T>::Type, typename blaze::UnderlyingScalar<VT2>::Type>))> blaze::assign(DenseVector<VT2, TF>&, const DVecMapExpr< <template-parameter-1-1>, <template-parameter-1-2>, <anonymous> >&) [with VT2 = Subvector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, blaze::unaligned, false, true>; VT = DVecMapExpr<TDMatDVecMultExpr<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >, Bind2nd<Min, double>, false>; OP = Bind2nd<Max, double>; bool TF = false; EnableIf_t<((bool)(UseAssign_v<VT2> && IsSame_v<typename UnderlyingScalar<T>::Type, typename UnderlyingScalar<VT2>::Type>))> = void; typename UnderlyingScalar<T>::Type = double; typename UnderlyingScalar<VT2>::Type = double]'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:72:   required from 'blaze::smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)> [with auto:1 = blaze::Subvector<blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >, blaze::unaligned, false, true>; auto:2 = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |                                                                  ~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:144:12:   required from 'void blaze::openmpAssign(DenseVector<VT, TF>&, const DenseVector<VT, TF>&, OP) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; OP = smpAssign<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false, DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>(Vector<DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >, false>&, const Vector<DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>, false>&)::<lambda(auto:1&, const auto:2&)>]'
  144 |          op( target, source );
      |          ~~^~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/smp/openmp/DenseVector.h:284:22:   required from 'blaze::EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> blaze::smpAssign(Vector<VT, TF>&, const Vector<VT, TF>&) [with VT1 = DynamicVector<double, false, AlignedAllocator<double>, GroupTag<0> >; bool TF1 = false; VT2 = DVecMapExpr<DVecMapExpr<TDMatDVecMultExpr<CustomMatrix<double, blaze::aligned, blaze::padded, true>, CustomVector<double, blaze::aligned, blaze::padded> >, Bind2nd<Min, double>, false>, Bind2nd<Max, double>, false>; bool TF2 = false; EnableIf_t<((bool)((IsDenseVector_v<VT1> && IsSMPAssignable_v<VT1>) && IsSMPAssignable_v<VT2>))> = void]'
  284 |          openmpAssign( *lhs, *rhs, []( auto& a, const auto& b ){ assign( a, b ); } );
      |          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/DynamicVector.h:890:13:   required from 'blaze::DynamicVector<Type, TF, Alloc, Tag>::DynamicVector(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; bool TF = false; Alloc = blaze::AlignedAllocator<double>; Tag = blaze::GroupTag<0>]'
  890 |    smpAssign( *this, *v );
      |    ~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/dense/CustomVector.h:3831:30:   required from 'blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>& blaze::CustomVector<Type, AF, blaze::padded, TF, Tag, RT>::operator=(const blaze::Vector<VT2, TF>&) [with VT = blaze::DVecMapExpr<blaze::DVecMapExpr<blaze::TDMatDVecMultExpr<blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::CustomVector<double, blaze::aligned, blaze::padded> >, blaze::Bind2nd<blaze::Min, double>, false>, blaze::Bind2nd<blaze::Max, double>, false>; Type = double; blaze::AlignmentFlag AF = blaze::aligned; bool TF = false; Tag = blaze::GroupTag<0>; RT = blaze::DynamicVector<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0> >]'
 3831 |       const ResultType_t<VT> tmp( *rhs );
      |                              ^~~
fastLogisticModel.cpp:44:53:   required from here
   44 |   eta = blaze::max(blaze::min(X * coef, 30.0), -30.0);
      |                                                     ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  424 |       LT A( serial( rhs.mat_ ) );  // Evaluation of the left-hand side dense matrix operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:424:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Submatrix<const CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, true>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >::mat_).blaze::DMatSerialExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, true>::operator Operand()'
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  425 |       RT x( serial( rhs.vec_ ) );  // Evaluation of the right-hand side dense vector operand
      |          ^
/data/gannet/ripley/R/test-dev/RcppBlaze/include/blaze/math/expressions/TDMatDVecMultExpr.h:425:10: note: the temporary was destroyed at the end of the full expression 'blaze::serial<Subvector<const CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>, false>(rhs.blaze::TDMatDVecMultExpr<blaze::Submatrix<const blaze::CustomMatrix<double, blaze::aligned, blaze::padded, true>, blaze::unaligned, true, true>, blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true> >::vec_).blaze::DVecSerialExpr<blaze::Subvector<const blaze::CustomVector<double, blaze::aligned, blaze::padded>, blaze::unaligned, false, true>, false>::operator Operand()'
g++-14 -std=gnu++17 -shared -L/usr/local/gcc14/lib64 -L/usr/local/lib64 -o RcppLbfgsBlaze.so RcppExports.o fastLogisticModel.o registerDynamicSymbols.o -llapack -L/data/gannet/ripley/R/R-devel/lib -lRblas -lgfortran -lm -lquadmath -fopenmp
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/RcppLbfgsBlaze/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/RcppLbfgsBlaze/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/RcppLbfgsBlaze/src'
installing to /data/gannet/ripley/R/packages/tests-devel/RcppLbfgsBlaze.Rcheck/00LOCK-RcppLbfgsBlaze/00new/RcppLbfgsBlaze/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (RcppLbfgsBlaze)