"using namespace arma" will work fine in a sourceCpp or Rmd context, however if another developer tried to do this in a package (processing attributes via the compileAttributes function) then it wouldn't work. This is because the RcppExports.cpp file would not have the using declaration, so would be using incomplete types. As a result, even though "using namespace" works in sourceCpp the documentation lists fully qualified types as a constraint for properly handling arguments. Note that because it is so common "using namespace Rcpp" is an exception to this rule.