There should be a way of doing this because we can do it for either side of the DualView
You can currently work around that by constructing a DualView from its two nested views. But yes the more advanced constructors of view should be added.
Workaround:
typedef DualView<double*> view_type;
view_type a(view_type::t_dev(ViewAllocateWithoutInitializing("Label"),N),
view_type::t_host(ViewAllocateWithoutInitializing("Label"),N));
@Char-Aznable You may find this Tpetra example helpful. It creates a DualView, optionally without initialization.
Done through #2842