yield without value in reference generator function does not create notice
Offen
Dieses Issue hat noch niemand übernommen.
Bug
Category: Generators
Status: Verified
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
The following code:
<?php
error_reporting(E_ALL);
function &y()
{
yield null; // warning
yield; // no warning
}
foreach (y() as &$y);
Resulted in this output:
PHP Notice: Only variable references should be yielded by reference in /home/user10/test.php on line 5
But I expected this output instead:
PHP Notice: Only variable references should be yielded by reference in /home/user10/test.php on line 5
PHP Notice: Only variable references should be yielded by reference in /home/user10/test.php on line 6
PHP Version
PHP 8.2.24 (cli) (built: Sep 27 2024 04:16:10) (NTS)
Operating System
Debian GNU/Linux 12 (bookworm)
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das Beispiel des Referenzgenerators unter PHP 8.2.24 mit aktiviertem E_ALL zu reproduzieren, und verfolge dann, wie die beiden yield-Formen behandelt werden. Als abgeschlossen gilt die Aufgabe, wenn das wertlose yield dieselbe Notice wie yield null ausgibt und eine Regressionstestabdeckung für beide Zeilen vorhanden ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 35/100