Replies: 1 comment 1 reply
-
|
Implicit discarding seems a bit odd in my opinion, is there a reason you aren't I've also found a section in the tutorial: https://github.com/bitwizeshift/result/blob/master/doc/tutorial.md#type-erasure-with-resultvoide
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I was making a project using the results, and its working fantastic so far. However, since my project is a library and I don't want to "expose" third party code to the client, so I use macros for certain types.
resulthappens to be one of these types, and because it is a template that requires a generic case, I have a macro calledVEN_RESULTwhich looks like thisbut since I don't want the client (or me), to use the
VEN_RESULT_TYPEDif they only care if a function succeeds or not. so they can useVEN_RESULTinstead.Now the problem. There is no implicit conversion from
result<T, E>toresult<void, E>which means that I have to write calls to the function as follows:The solution for this would be to allow implicit conversion in the
resultclass toresult<void, E>doing this is simple, its just changing a couple of definitions to remove
explicitIf this is done, the code above could be written as:
which I think is cleaner and easier to read.
Beta Was this translation helpful? Give feedback.
All reactions