C++ Logo

STD-PROPOSALS

Advanced search

Subject: [std-proposals] std::variant still may be valueless_by_exception in too many cases
From: Askar Safin (safinaskar_at_[hidden])
Date: 2020-01-21 11:29:33


Hi. As well as I understand, currently any variant, including variant<float, int> may be valueless_by_exception, see example in https://en.cppreference.com/w/cpp/utility/variant/valueless_by_exception . I think this situation is bad, we should make valueless_by_exception as rare as possible. And we should guarantee for some "Types..." (or even for all) that variant will never be valueless_by_exception.

There is good issue, but unfortunately it is not changed since 2017: https://cplusplus.github.io/LWG/lwg-active.html#2881 .

Also, I want type trait "std::always_has_value". It should take variant type. If it always has value, then this type trait should give true. Thus, using static_assert I can be sure that in my particular code base variant is never valueless.

Askar Safin


STD-PROPOSALS list run by std-proposals-owner@lists.isocpp.org

Standard Proposals Archives on Google Groups