[PHP-DEV] [VOTE] Marking return values as important (#[\NoDiscard])

Hey everyone,

As announced on Monday: https://externals.io/message/126232#126551

We just started the vote on the “Marking return values as important (#[\NoDiscard])” RFC.

References:

The vote will end in two weeks, on March 19th, 2025 at 14:00 UTC. Please note that the RFC contains two questions to vote on, each requiring a 2/3rds majority to pass.

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

Hey everyone,

The voting has just ended.

The #[\NoDiscard] attribute was accepted with 18 (Yes) to 4 (No) votes (82%).
The (void) cast was accepted with 18 (Yes) to 2 (No) votes (90%).
Neither vote is a subset of the other, some voters only voted for the #[\NoDiscard] attribute itself and some only voted for the (void) cast.

Tim will take care of finalizing the implementation in the coming days.

Thank you to everyone for your participation in the discussion.

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

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

Hi

Am 2025-03-19 15:01, schrieb Volker Dusch:

Tim will take care of finalizing the implementation in the coming days.

The implementation was merged yesterday and the nightly tests of Symfony / PHPUnit / Composer exposed that the `LOCK_UN` case of `flock()` was not considered when applying the attribute to `flock()`. Issue #18235 was filed in PHP’s tracker, proposing to remove the attribute from `flock()` (keeping the attribute itself and keeping it on the DateTimeImmutable setters):

Unless someone objects with that and requests a follow-up vote, I'll send a PR to remove the attribute from `flock()` by “informal agreement” in the next days.

Best regards
Tim Düsterhus