I think the simpler contract is to give no guarantee whatsoever of the state of the other return values in the presence of an error.
It's a simple, clear, and most importantly consistent contact. To guarenteed that in the presence of an error the values that can be respresented by nil _will_ be nil is less consistent, and more importantly encourages people to not check error by substituting their own ad-hoc tests like testing if a return value is nil, implying an error. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.