<div dir="auto"><div>[removed Guido from CC]<br><div class="gmail_extra"><br><div class="gmail_quote">On Aug 26, 2017 02:29, "Paul Moore" <<a href="mailto:p.f.moore@gmail.com">p.f.moore@gmail.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">On 26 August 2017 at 03:17, Guido van Rossum <<a href="mailto:guido@python.org">guido@python.org</a>> wrote:<br>
> In pretty much any other context, if you have an operation that returns an<br>
> regular value or an error value, the error value should be None. (Exceptions<br>
> include e.g. returning a non-negative int or -1 for errors, or True for<br>
> success and False for errors.)<br>
<br>
</div>So, given that build_sdist returns the path of the newly built sdist,<br>
the correct way to signal "I didn't manage to build a sdist" would be<br>
to return None.<br>
<br>
Now that it's put this way, it seems glaringly obvious to me that this<br>
is the correct thing to do.<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">Eh... I would really prefer something that's (a) more explicit about what specifically went wrong, and (b) harder to return by accident. It's not at all obvious that if the list of requirements is 'None' that means 'this build supports making sdists in general but cannot make them from this source tree but might still be able to make a wheel'. And if you forget to put in a return statement, then python returns None for you, which seems like it could lead to some super confusing error modes.</div><div dir="auto"><br></div><div dir="auto">-n</div></div>