Skip to content

Deprecating old initialization code in packages using RcppArmadillo #391

@eddelbuettel

Description

@eddelbuettel

When we updated RcppArmadillo recently to help package Matrix propagate a change, we encountered a small change in Armadillo made between the 11.2.0 and 11.2.3 releases that marked our previous and current release. A number of packages would now throw deprecation warnings as Armadillo upstream activated those.

CRAN of course frowns on this so we temporarily disabled the warning in RcppArmadillo. Going forward we should aim to patch this in all affected packages, and we will try to provide PRs. This affects these packages:

The full log from the CRAN check (before we amended the now-uploaded version 0.11.2.3.1 to no flag deprecation) follows

Changes to worse in reverse depends:

Package: ACEt
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    AtCtEt.cpp:87:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:88:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:122:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:123:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:198:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:199:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:262:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:263:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:395:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:396:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:429:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEt.cpp:430:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:108:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:109:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:142:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:143:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:345:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:346:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:374:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:375:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:461:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:462:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:507:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:508:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:644:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:645:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:678:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtCtEtp.cpp:679:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:84:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:85:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:111:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:112:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:251:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:252:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:272:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:273:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:337:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:338:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:367:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:368:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:468:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:469:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:494:35: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    AtEtp.cpp:495:35: warning: ‘arma::mat_injector<arma::Row<eT> > arma::Row<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: autostsm
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    kalmanfilter.cpp:108:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]

Package: BAMBI
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    vmcos_llik_grad.cpp:185:28: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    vmcos_llik_grad.cpp:212:54: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    vmsin_llik_grad.cpp:154:21: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    vmsin_llik_grad.cpp:163:21: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    vmsin_llik_grad.cpp:473:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: BayesPPD
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    PP_fixed_glm.cpp:98:12: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    PP_random_glm.cpp:96:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]

Package: BNPMIXcluster
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    get_latents.cpp:44:19: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: cccp
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    DCP.cpp:409:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    DLP.cpp:470:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    DNL.cpp:317:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    DQP.cpp:340:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    GPP.cpp:276:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    RPP.cpp:225:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: finity
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    finite_moment_test.cpp:412:22: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: greed
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    DcSbm.cpp:210:9: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    DcSbm.cpp:212:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    DcSbmUndirected.cpp:91:9: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    DcSbmUndirected.cpp:93:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    MultSbm.cpp:198:9: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    MultSbm.cpp:200:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    MultSbmUndirected.cpp:77:9: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    MultSbmUndirected.cpp:79:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    Sbm.cpp:153:9: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    Sbm.cpp:155:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    SbmUndirected.cpp:63:9: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    SbmUndirected.cpp:65:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]

Package: grove
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    hmg.cpp:202:25: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    hmg.cpp:203:40: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    hmg.cpp:453:33: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: handwriter
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    CleanBinaryImage.cpp:265:23: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    ThinImageCpp.cpp:113:32: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    ThinImageCpp.cpp:207:30: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    ThinImageCpp.cpp:220:32: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    ThinImageCpp.cpp:233:32: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    ThinImageCpp.cpp:246:32: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    ThinImageCpp.cpp:261:32: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    ThinImageCpp.cpp:280:27: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: HARModel
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    HARDataCreationC.cpp:43:31: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: mdgc
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    test-pmvnorm.cpp:40:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-pmvnorm.cpp:41:14: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-pmvnorm.cpp:42:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-pmvnorm.cpp:44:14: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:33:14: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:35:14: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:91:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:92:14: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:93:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:95:14: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:141:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:142:12: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:143:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:203:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:204:12: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:205:15: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:292:14: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:294:14: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:301:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:374:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:375:14: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:376:14: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:378:14: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-restrict-cdf.cpp:385:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: minimaxdesign
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    subfunc.cpp:322:20: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: MRS
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    main.cpp:41:34: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    recursion.cpp:645:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: nlmixr
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    saem.cpp:746:51: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: nlmixr2est
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    saem.cpp:948:51: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: pedmod
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    test-cdfaprx.cpp:319:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:320:14: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:321:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:323:14: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:471:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:472:12: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:473:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:544:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:545:12: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:614:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:615:12: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:616:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:617:11: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:620:11: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:745:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:746:12: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:747:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:748:11: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:751:11: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    test-cdfaprx.cpp:752:11: warning: ‘arma::mat_injector<arma::Mat<eT> > arma::Mat<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: smog
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    glog.cpp:151:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    glog.cpp:253:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    glog.cpp:286:15: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    glog.cpp:320:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    glog.cpp:369:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]

Package: SparseFactorAnalysis
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    grad_est.cpp:33:19: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    grad_est.cpp:98:19: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    grad_est.cpp:116:10: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    grad_est.cpp:133:19: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    grad_est.cpp:160:20: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    hmc4sfa.cpp:45:14: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    test_gamma_pois.cpp:30:13: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: spBFA
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    DIAG_GetLogLik.cpp:51:19: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    DIAG_SamplePPD.cpp:37:19: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    PRED_EtaKrigging.cpp:33:19: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    PRED_YKrigging.cpp:33:19: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: spCP
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    DIAG_NormalLogLik.cpp:30:17: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    DIAG_ProbitLogLik.cpp:30:17: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    DIAG_SamplePPD.cpp:40:17: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    DIAG_TobitLogLik.cpp:30:17: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    PRED_PredictFuture.cpp:33:17: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: specs
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    specs.cpp:43:23: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: TreeBUGS
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    betaMPT.cpp:51:9: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    betaMPT.cpp:76:9: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

Package: UComp
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    SSpace.h:1214:16: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    SSpace.h:1216:16: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]
    SSpace.h:1218:12: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = unsigned int]’ is deprecated [-Wdeprecated-declarations]

Package: womblR
Check: whether package can be installed
New result: WARNING
  Found the following significant warnings:
    DIAG_NormalLogLik.cpp:30:17: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    DIAG_SamplePPD.cpp:34:17: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    DIAG_TobitLogLik.cpp:29:17: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    PRED_ThetaKrigging.cpp:36:17: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]
    PRED_YKrigging.cpp:28:17: warning: ‘arma::mat_injector<arma::Col<eT> > arma::Col<eT>::operator<<(eT) [with eT = double]’ is deprecated [-Wdeprecated-declarations]

I have not looked at every one of these in detail but it seems that most if not all are from the change in Armadillo which deprecated the long-used form of initialization via << (which we turned off unconditionally in the most recent CRAN release). What is in the mainline here now (so install_github() works), and can also be installed from the drat repo via install.packages("RcppArmadillo", repos=c("https://RcppCore.github.io/drat")) has a conditional toggle which a) defaults to no deprecation for now to permit CRAN use and b) permits to re-enable deprecation to test your code. The code in the next 'detail' snippet has a minimal example. You need the newer RcppArmadillo from this repo or the drat to make it work.

// keep uncommented to see the effect, or comment our for silence
#define RCPPARMADILLO_FORCE_NO_DEPRECATE 1


#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]

constexpr double alpha = 1.23;  	// mock variables and values
constexpr double beta = 4.56;

// [[Rcpp::export]]
arma::vec oldCode() {
    arma::vec res(2);
    res << alpha << beta; 		// deprecated OLD initialization
    return(res);
}

// [[Rcpp::export]]
arma::vec newCode() {
    arma::vec res({ alpha, beta }); 	// new standard modern C++ brace initialization
    return(res);
}

/*** R
stopifnot(packageVersion("RcppArmadillo") >= "0.11.2.3.1.1")
oldCode()
newCode()
*/

You see the difference betweeb oldCode() and newCode(): initialization by << (which Conrad wants to deprecate, but which we still allow to not get your package at CRAN) and initialization by the newer and preferred brace initialization common since C++11.

ChangeLog:

  • maintainers emailed 2022-09-01 with initial story
  • maintainers emailed 2022-09-02 re fix on define
  • patches or PRs to all remaining packages made by 2022-09-13 (while several packages were already updated by their maintainers -- thank you!)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions