The ROOT interpreter (6.36.04) seems to fail to print a std::valarray object.
root [0] std::valarray<float> v(10);
root [1] v
In module 'Cling_Runtime' imported from input_line_2:1:
/usr/share/root/cling/Interpreter/RuntimePrintValue.h:206:24: error: no member named 'begin' in 'std::valarray<float>'
auto iter = obj->begin();
~~~ ^
/usr/share/root/cling/Interpreter/RuntimePrintValue.h:246:39: note: in instantiation of function template specialization 'cling::collectionPrinterInternal::printValue_impl<std::valarray<float> >'
requested here
return collectionPrinterInternal::printValue_impl(obj);
^
note: in instantiation of function template specialization 'cling::printValue<std::valarray<float> >' requested here
/usr/share/root/cling/Interpreter/RuntimePrintValue.h:207:27: error: no member named 'end' in 'std::valarray<float>'
auto iterEnd = obj->end();
~~~ ^
(std::valarray<float> &) ERROR in cling's callPrintValue(): missing value string.
Considering that the previous line of cling/Interpreter/RuntimePrintValue.h has already verified that std::begin(v) and std::end(v) are available, that function may as well use them.
I can try to provide a patch if desired.