diff --git a/test/result_default_construct.cpp b/test/result_default_construct.cpp index a467e36..ca0fcc5 100644 --- a/test/result_default_construct.cpp +++ b/test/result_default_construct.cpp @@ -28,6 +28,24 @@ int main() BOOST_TEST_EQ( r.value(), 0 ); } + { + result r{}; + + BOOST_TEST( r.has_value() ); + BOOST_TEST( !r.has_error() ); + + BOOST_TEST_EQ( r.value(), 0 ); + } + + { + result r = {}; + + BOOST_TEST( r.has_value() ); + BOOST_TEST( !r.has_error() ); + + BOOST_TEST_EQ( r.value(), 0 ); + } + { result r; @@ -35,6 +53,20 @@ int main() BOOST_TEST( !r.has_error() ); } + { + result r{}; + + BOOST_TEST( r.has_value() ); + BOOST_TEST( !r.has_error() ); + } + + { + result r = {}; + + BOOST_TEST( r.has_value() ); + BOOST_TEST( !r.has_error() ); + } + { result r; @@ -42,6 +74,20 @@ int main() BOOST_TEST( !r.has_error() ); } + { + result r{}; + + BOOST_TEST( r.has_value() ); + BOOST_TEST( !r.has_error() ); + } + + { + result r = {}; + + BOOST_TEST( r.has_value() ); + BOOST_TEST( !r.has_error() ); + } + { BOOST_TEST_TRAIT_TRUE((std::is_default_constructible>)); BOOST_TEST_TRAIT_TRUE((std::is_default_constructible>)); diff --git a/test/result_value_construct2.cpp b/test/result_value_construct2.cpp index 6296a4f..b3d92a2 100644 --- a/test/result_value_construct2.cpp +++ b/test/result_value_construct2.cpp @@ -69,6 +69,11 @@ result> fv2() return {{ 1, 2 }}; } +result fw0() +{ + return {}; +} + int main() { { @@ -148,5 +153,12 @@ int main() BOOST_TEST_EQ( r->at(1), 2 ); } + { + result r = fw0(); + + BOOST_TEST( r.has_value() ); + BOOST_TEST( !r.has_error() ); + } + return boost::report_errors(); }