rfc:throw_expression

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
rfc:throw_expression [2020/04/05 09:58]
ilijatovilo Open voting
rfc:throw_expression [2020/04/23 15:30] (current)
ilijatovilo Move to implemented
Line 3: Line 3:
   * Author: Ilija Tovilo, tovilo.ilija@gmail.com   * Author: Ilija Tovilo, tovilo.ilija@gmail.com
   * Target Version: PHP 8.0   * Target Version: PHP 8.0
-  * Status: Voting+  * Status: Implemented
   * Implementation: https://github.com/php/php-src/pull/5279   * Implementation: https://github.com/php/php-src/pull/5279
  
Line 87: Line 87:
 The common theme here is that everything after the ''throw'' keyword has a higher precedence. For this reason this RFC proposes to use the lowest operator precedence possible. All the current code, even if broken or strange, will continue behaving the same way. This isn't a problem because generally ''throw'' should be the last operator you're using as every expression after it wouldn't be evaluated anyway. The common theme here is that everything after the ''throw'' keyword has a higher precedence. For this reason this RFC proposes to use the lowest operator precedence possible. All the current code, even if broken or strange, will continue behaving the same way. This isn't a problem because generally ''throw'' should be the last operator you're using as every expression after it wouldn't be evaluated anyway.
  
-One exception to this rule is using ''throw'' between two short-circuit operators which is not possible in this RFC:+The only downside of the low precedence is that a ''throw'' between two short-circuit operators would not be possible without parentheses:
  
 <code php> <code php>
Line 117: Line 117:
 As this is a language change, a 2/3 majority is required. The vote is a straight Yes/No vote for accepting the RFC and merging the patch. As this is a language change, a 2/3 majority is required. The vote is a straight Yes/No vote for accepting the RFC and merging the patch.
  
-<doodle title="Would you like to convert the throw statement into an expression?" auth="ilijatovilo" voteType="single" closed="false">+<doodle title="Would you like to convert the throw statement into an expression?" auth="ilijatovilo" voteType="single" closed="true">
    * Yes    * Yes
    * No    * No
rfc/throw_expression.1586080688.txt.gz · Last modified: 2020/04/05 09:58 by ilijatovilo