> The topic of conversation was clearly and specifically defined by "In Go or Rust, returning an error is also a “color” that spreads out to the top of the call stack."
Returning an error has this property, yes. And errors Alps have this property when they are propagated separately from the return value (like unchecked exception in Java). Returned values do not have this property.
> . Glad you were able to learn something today!
I've tried with much patience and good faith in spite of your aggressiveness to explain this things in ways you can understand them so you could actually be learning something, but it looks like your ego is too fragile for that.
That's really unfortunate for you as it's the recipe for perpetual mediocrity. Good day.
Only in the same way that returning an email address does. That does not change the color, though. It remains "black". This is just "normal" use of a function.
Yes, you can go out of your way to leak implementation details making the function no longer "black". async/await, use of the "?" operator, "return err", even checked exceptions all introduce leakage. That can result in a colorful rainbow of functions, but "unless you are doing it wrong" was caveated at the very beginning. The very first sentence I wrote, in fact.
Is that the source of your confusion, perhaps? That you somehow forgot to read the very first sentence? async/await is the only one that isn't yet generally considered a bad practice, and only because it is quite a bit newer than all the others, as we always learn in the end that leaking implementation details leads to pain.
> I've tried with much patience and good faith in spite of your aggressiveness
I really don't understand what you are trying to say here. Aggressiveness? Patience? Good faith? These have no applicability to the conversation, so I am, again, not sure what you are trying to say. Further, these are words that are usually used around emotion, which we both seemingly agreed does not shape our reading of the discussion, so I have no idea what else they could be referring to. What do you mean?
Returning an error has this property, yes. And errors Alps have this property when they are propagated separately from the return value (like unchecked exception in Java). Returned values do not have this property.
> . Glad you were able to learn something today!
I've tried with much patience and good faith in spite of your aggressiveness to explain this things in ways you can understand them so you could actually be learning something, but it looks like your ego is too fragile for that.
That's really unfortunate for you as it's the recipe for perpetual mediocrity. Good day.