On Thu, 2 Nov 2023 at 12:53, Chris Gary via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
.... Just because you *can* collapse some property of containers to a simple true/false, doesn't mean we should add a conversion to actually do that.

Its concise if used in conjunction with the Elvis operator:
populateWith( oneVec ?: orAnother )
printLine( errMsg ?: g_successMsg ) // these could be string_view or string

Yes, as I said, the conversion operator is a little less verbose, but at the possible expense of clarity.

You can easily do that with a helper function that doesn't require a non-standard extension:
populateWith( chooseNonEmpty(oneVec, orAnother) );

That chooseNonEmpty can be made as generic/complex as you want, but can also be very simple.