Hi Dirk, Thanks. I did check the recent Rcpp announcement, which corresponds to my installed version, and mentions nothing re: assert (https://www.mail-archive.com/rcpp-devel@lists.r-forge.r-project.org/msg07977.html).
--Kevin > On Feb 18, 2015, at 9:22 AM, Dirk Eddelbuettel <e...@debian.org> wrote: > > > Hi Kevin, > > On 18 February 2015 at 09:02, Kevin Thornton wrote: > | Hi Dirk, > | > | Sorry, but your response is unclear to me. What was "taken care of"? What > is 'tinyformat'? Are you trying to say that this method of defining assert > will work with any other C++ library that includes <cassert>? > > May I suggest you look at the ChangeLog and NEWS files in the git repo, or > your installed version? They should answer both your questions. > > You are claiming breakage with cassert, while not providing a reproducible > example. See an existence proof below -- hope this helps. It works for me at > home (Rcpp recent from git) and work (Rcpp current with CRAN). > > Dirk > > ## Running example > > R> library(Rcpp) > R> sourceCpp("/tmp/kt.cpp") > > R> happyNow() > [1] TRUE > R> > > ## Code below > > > #include <cassert> > #include <Rcpp.h> > > // [[Rcpp::export]] > bool happyNow() { > assert(1 > 0); > return true; > } > > /*** R > happyNow() > */ > > > > | > | --Kevin > | > | > On Feb 18, 2015, at 8:53 AM, Dirk Eddelbuettel <e...@debian.org> wrote: > | > > | > > | > On 18 February 2015 at 08:34, Kevin Thornton wrote: > | > | Isn't there a potential issue if a package depends on multiple > header-only C++ libraries, each of which may include <cassert>? You'd have > multiple definitions of the macro floating around, and the compiler will barf. > | > > | > Been there, done that -- this whole discussion started because the most > | > recent Rcpp release had accidentally borked Luke's use of assert (as we > | > didn't prevent the newly added and hany 'tinyformat' one-header-library > from > | > re-defining assert). (And Kevin also added some other push/pop logic to > only > | > define some other macros when we need them and to generally avoid > spillage.) > | > > | > So now that this has been taken care of, we are discussing how to provide > a > | > more useful feature "not unlike assert" with proper Rcpp semantics. > | > > | > Dirk > | > > | > -- > | > http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org > | > | ___________________________ > | Kevin Thornton > | Associate Professor > | Ecology and Evolutionary Biology > | University of California, Irvine > | http://www.molpopgen.org > | http://github.com/molpopgen > | http://github.com/ThorntonLab > | > | > | > | > | > | > > -- > http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ___________________________ Kevin Thornton Associate Professor Ecology and Evolutionary Biology University of California, Irvine http://www.molpopgen.org http://github.com/molpopgen http://github.com/ThorntonLab _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel