Niall Douglas wrote:
As much as I've kicked up a fuss in some places by intentionally deviating from LEWG Expected to force some attention at where I think there are problems, after this review I'll go ahead and conform as tightly as I reasonably can and I'll track the LEWG proposal over time. A deviating implementation muddies the waters, is confusing for end users, and helps no one.
A conforming expected<> is fine, but result<> and outcome<> do not have to provide the same interface. I'd rather see them address the function return use case in a clean, efficient, clutter-free way, rather than trying to be something else. (I'd also rather see expected<> address that same use case instead of trying to be usable as a long list of something else, but that's, as you would say, out of scope for this review.)