RcppCore / RcppEigen

Rcpp integration for the Eigen templated linear algebra library
Other
110 stars 40 forks source link

(Rcpp)Eigen 3.4.0 would help with C++17 #123

Closed eddelbuettel closed 6 months ago

eddelbuettel commented 1 year ago

CRAN email this mornings:

In investigating a package which included its own copy of Eigen 3.3.9 
and gives C++17 warnings, we found that 3.4.0 (which is already 20 
months old and available as a Fedora RPM) had resolved those warnings. R 
CMD check currently skips reporting them for users of RcppEigen.  Things 
like (example from Apple clang, also seen with LLVM clang 15/16)

In file included from ADMMnet.cpp:3:
In file included from 
/Users/ripley/R/Library/RcppEigen/include/RcppEigen.h:25:
In file included from 
/Users/ripley/R/Library/RcppEigen/include/RcppEigenForward.h:30:
In file included from 
/Users/ripley/R/Library/RcppEigen/include/Eigen/Dense:1:
In file included from 
/Users/ripley/R/Library/RcppEigen/include/Eigen/Core:367:
/Users/ripley/R/Library/RcppEigen/include/Eigen/src/Core/util/Meta.h:320:25: 
warning: 'result_of<Eigen::internal::scalar_product_op<double> (const 
double &, const double &)>' is deprecated [-Wdeprecated-declarations]
   typedef typename std::result_of<T>::type type1;

Eigen 3.4.0 has an alternative using std::invoke_result, used for C++17.

So an update to 3.4.0 would be beneficial now many RcppEigen users are 
compiling with C++17.

In response I pointed the 1 1/2 old (and stuck) issue #103 but noted that I may not have the bandwidth or inclination to carry this forward as I an effectively a caretaker maintainer who stepped in many moons ago when the initial maintainer moved on.

eddelbuettel commented 1 year ago

There is also #101.

eddelbuettel commented 6 months ago

RcppEigen 0.3.4.0.0 is now on.