// Copyright (c) 2018-2021 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; }; #if 0 namespace boost { namespace leaf { template struct is_result_type>: std::true_type { }; } } #endif my_result f(); my_result g() { BOOST_LEAF_AUTO(a, f()); return a; }