rfc:generator-delegation

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:generator-delegation [2015/03/09 19:55] – clarify example rdlowreyrfc:generator-delegation [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 4: Line 4:
   * Author: Daniel Lowrey <rdlowrey@php.net>   * Author: Daniel Lowrey <rdlowrey@php.net>
   * Contributors: Bob Weinand <bwoebi@php.net>   * Contributors: Bob Weinand <bwoebi@php.net>
-  * Status: Under Discussion+  * Status: Implemented in 7.0
   * First Published at: http://wiki.php.net/rfc/generator-delegation   * First Published at: http://wiki.php.net/rfc/generator-delegation
  
Line 75: Line 75:
                 $send = false;                 $send = false;
             } else {             } else {
-                $throw $e;+                throw $e;
             }             }
         }         }
Line 383: Line 383:
 ==== Error States ==== ==== Error States ====
  
-There are two scenarios in which ''yield from'' usage can result in a fatal error or uncaught exception:+There are two scenarios in which ''yield from'' usage can result in an ''EngineException'':
  
   * Using ''yield from <expr>'' where <expr> evaluates to a generator which previously terminated with an uncaught exception results in an ''EngineException''.   * Using ''yield from <expr>'' where <expr> evaluates to a generator which previously terminated with an uncaught exception results in an ''EngineException''.
Line 391: Line 391:
 ===== Rejected Ideas ===== ===== Rejected Ideas =====
  
-The original version of this RFC proposed a ''yield *'' syntax. This was rejected in favor of +The original version of this RFC proposed a ''yield *'' syntax. The ''yield *'' syntax was rejected in favor of 
-''yield from'' on the basis that it would break backwards compatibility. Additionally, the ''yield *'' +''yield from'' on the basis that ''*'' would break backwards compatibility. Additionally, the ''yield *'' 
-form was considered less readable option that the current proposal.+form was considered less readable than the current proposal.
  
  
Line 486: Line 486:
  
  
-===== Proposed Voting Choices =====+===== Vote =====
  
-Two voting choices are proposed†:+A 2/3 "Yes" vote is required to implement this proposal. Voting will continue through March 29, 2015.
  
-  * **YES**, implement the ''yield from'' syntax allowing generator delegation in PHP 7*+<doodle title="Allow Generator delegation in PHP7" auth="rdlowrey" voteType="single" closed="true"> 
 +   * Yes 
 +   No 
 +</doodle>
  
-  * **NO**, do not modify existing Generator behavior+.
  
-A 2/3 "Yes" vote is required to implement this proposal. +The success of this vote depends on the success of the accompanying [[rfc:generator-return-expressions|Generator Return Expressions]] RFC. Should Generator Return Expressions be rejected the voting outcome of this RFC will be rendered moot.
- +
-†: The success of this vote depends on the success of the accompanying [[rfc:generator-return-expressions|Generator Return Expressions]] RFC. +
-Should Generator Return Expressions be rejected the voting outcome of this RFC will be rendered moot.+
  
 ===== Patches and Tests ===== ===== Patches and Tests =====
  
-The current patch is approaching "final" status and can be found here:+The current patch is considered "final" and can be found here:
  
 https://github.com/bwoebi/php-src/commits/coroutineDelegation https://github.com/bwoebi/php-src/commits/coroutineDelegation
rfc/generator-delegation.1425930900.txt.gz · Last modified: 2017/09/22 13:28 (external edit)