You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This came up in the reverse depends check for #1482, but reproduces locally for me. Package RestRserve has a .hasAttribute() check, and that fails on
ccache g++ -I"/usr/share/R/include" -DNDEBUG -I'/usr/local/lib/R/site-library/Rcpp/include' -DRCPP_NO_MODULES -fpic -g0 -O3 -Wall -pipe -Wno-unused -fext-numeric-literals -DBOOST_NO_AUTO_PTR -c format_\
headers.cpp -o format_headers.o
In file included from /usr/local/lib/R/site-library/Rcpp/include/Rcpp/proxy/proxy.h:24,
from /usr/local/lib/R/site-library/Rcpp/include/RcppCommon.h:132,
from /usr/local/lib/R/site-library/Rcpp/include/Rcpp.h:27,
from format_headers.cpp:3:
/usr/local/lib/R/site-library/Rcpp/include/Rcpp/proxy/AttributeProxy.h: In instantiation of ‘bool Rcpp::AttributeProxyPolicy<CLASS>::hasAttribute(const std::string&) const [with CLASS = Rcpp::ListOf<Rcpp::Vecto\
r<16> >; std::string = std::__cxx11::basic_string<char>]’:
format_headers.cpp:12:22: required from here
12 | if (!x.hasAttribute("names")) {
| ~~~~~~~~~~~~~~^~~~~~~~~
/usr/local/lib/R/site-library/Rcpp/include/Rcpp/proxy/AttributeProxy.h:100:61: error: ‘const class Rcpp::ListOf<Rcpp::Vector<16> >’ has no member named ‘get__’; did you mean ‘get’?
100 | return R_hasAttrib(static_cast<const CLASS&>(*this).get__(), Rf_install(attr.c_str()));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
| get
make: *** [/usr/lib/R/etc/Makeconf:199: format_headers.o] Error 1
ERROR: compilation failed for package ‘RestRserve’
It does indeed go away if we replace get__() with get() here:
Activity
fix ListOf compile by not relying on get__() in attribute accessors (R…