Re: RFC: Marking return values as important (#[\NoDiscard])

From: Date: Wed, 05 Feb 2025 10:58:19 +0000
Subject: Re: RFC: Marking return values as important (#[\NoDiscard])
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-126292@lists.php.net to get a copy of this message
On Tue, Feb 4, 2025 at 12:10 PM Derick Rethans <derick@php.net> wrote: > What's the reason why this emits a warning though, instead of throwing > an Exception? I'm sure you thought of it, but it would be nice to have > that consideration mentioned in the RFC. > Thank you for the question, I now added the missing reasoning to the RFC text. > A <php>E_(USER_)WARNING</php> was chosen over an exception to avoid BC concerns, as throwing would potentially break existing code that "works as implemented" and because this is only a warning in the literal sense of the word, given that the function executes successfully. Given that PHP uses Exceptions only in hard failure cases, we found it to be more prudent to go this way. If users really want, they can suppress/ignore this warning without adapting existing code, e.g., using the proposed (void) cast. But the main reason was to not cause hard failures through exceptions. Kind Regards, Volker -- Volker Dusch Head of Engineering Tideways GmbH Königswinterer Str. 116 53227 Bonn https://tideways.io/imprint Sitz der Gesellschaft: Bonn Geschäftsführer: Benjamin Außenhofer (geb. Eberlei) Registergericht: Amtsgericht Bonn, HRB 22127

« previous php.internals (#126292) next »