LINUX.ORG.RU

История изменений

Исправление Siborgium, (текущая версия) :

fallible конструктор

в nothrow контексте

Вам ехать или шашечки?

Пишите noexcept(noexcept(T{})), и ваши волосы будут мягкими и шелковистыми.


Ага, а если захочется использовать fallible конструктор в nothrow контексте

То достаточно

auto quax() noexcept {
    struct ThrownException{};
    struct Throws {
        Throws() { throw ThrownException{}; }
    };
    try {
        Throws throws;
    } catch (const ThrownException&) {
        std::cerr << "look ma, nothrow!\n";
    }
}

Исходная версия Siborgium, :

fallible конструктор

в nothrow контексте

Вам ехать или шашечки?


Ага, а если захочется использовать fallible конструктор в nothrow контексте

То достаточно

auto quax() noexcept {
    struct ThrownException{};
    struct Throws {
        Throws() { throw ThrownException{}; }
    };
    try {
        Throws throws;
    } catch (const ThrownException&) {
        std::cerr << "look ma, nothrow!\n";
    }
}