
If I remember correctly, we assumed that a conversion requirement on the result of an operation, would actually convert (if necessary).
What does "if necessary" mean? I can think of at least two different ways to decide whether a conversion is necessary.
If the expression returns bool, no conversion is necessary. If it does not, then a conversion is needed.
You couldn't, for example, return tribool from == and expect the compiler to pick up overloads for &&, ||, and !.
I don't understand quite how this can be an example of the previous statement (or what you're driving at overall).
Perhaps I misunderstood what you're aiming at. Like I said, I need to tinker with concrete examples to better understand the issues (I'm very much hands-on learner).