// Copyright 2018-2024 Emil Dotchevski and Reverge Studios, Inc. // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include namespace leaf = boost::leaf; template struct my_result { my_result( T ); my_result( std::error_code ); T value() const; std::error_code error(); explicit operator bool() const; }; my_result f(); my_result g() { int a; BOOST_LEAF_ASSIGN(a, f()); return a; }