Basically yes — I didn't go as far and merely stated that the author can't annotate their functions with this information, but the only piece missing for the shift towards "should be able" is a real example where this would help users of a library (by eliminating the need to handle errors that will never be thrown).
In this scenario, try!
is not a good solution, and looking at [Pitch] Rethrowing protocol conformances, there might soon be another source for errors, thus more possibilities for superfluous error handling.
The question is not "is there something wrong" (this should be clear) but rather "is it an issue in actual code"? Being forced to use try
even when no errors can be thrown is certainly bad (if not, we could just assume that every call can throw…), but the issue with rethrows
might be so rare that it is an acceptable compromise.