Remix.run Logo
TinkersW 4 hours ago

Oh my bad, I read that as nullptr, I use a custom optional that does not support such a silly mode as "disengaged"

canyp 4 hours ago | parent | next [-]

How is that an optional then?

The problem is not nullopt, but that the client code can simply dereference the optional instead of being forced to pattern-match. And the next problem, like the other guy mentioned above, is that you cannot make any claims about what will happen when you do so because the standard just says "UB". Other languages like Haskell also have things like fromJust, but at least the behaviour is well-defined when the value is Nothing.

maccard 2 hours ago | parent | prev [-]

What do you return if there is no value set? That’s the entire point of optional.