#include <cassert>
#include <cerrno>
#include <system_error>
#include <iostream>

int main() {
	::std::cout << static_cast< int >(ENOENT) << ::std::endl;
	::std::cout << static_cast< int >(::std::errc::no_such_file_or_directory) << ::std::endl;
    try {
        throw std::system_error(ENOENT, std::system_category());
    } catch (std::system_error const & e) {
        assert(e.code().value() == static_cast< int >(std::errc::no_such_file_or_directory)); // <- FAILS!?
    }
}