| 952 | } |
| 953 | |
| 954 | photon::retval<int> foo(int i) { |
| 955 | switch (i) { |
| 956 | default: |
| 957 | return 32; |
| 958 | case 1: |
| 959 | return reterr{EINVAL}; |
| 960 | case 2: |
| 961 | LOG_ERROR_RETVAL(EADDRINUSE, "trying to use LOG_ERROR_RETVAL() with an error number constant"); |
| 962 | case 3: |
| 963 | retval<double> ret = bar(); |
| 964 | EXPECT_TRUE(ret.failed()); |
| 965 | // pass on ONLY the error number |
| 966 | LOG_ERROR_RETVAL(ret, "trying to pass on an existing (failed) retval<double> to retval<int>"); |
| 967 | } |
| 968 | } |
| 969 | |
| 970 | retval<void> ret_failed() { |
| 971 | return {EBADF}; |