What is the difference between grb::collectives::broadcast and grb::internal::broadcast?
Shouldn't they do the same thing?
Looking through the code of grb::collectives::broadcast it is clear that this is not a simple wrapper of grb::internal::broadcast.
In fact grb::collectives::broadcast panics when broadcasting a grb::Vector, while grb::internal::broadcast does the job correctly.
In the tests grb::collectives::broadcast is tested in tests/smoke/hook/collectives_blas0.cpp (only with scalars), whereas grb::internal::broadcast is tested in tests/smoke/hook/collectives_blas1.cpp (also with a grb::Vector).