Initializing array element with reference returned by function not possible
Personne n'a encore pris cette issue.
- Langage dominant
- C
- Étoiles
- 40.4k
- Forks
- 8.1k
- Merge moyen
- 2 j 13 h
- PR mergées (30 j)
- 96
Description
Description
Please note that when removing the ampersand at line 13 it seems to work but then it's no longer a reference.
<?php
function &moh()
{
static $o;
return $o;
}
// works
$jo = [0];
$jo[0] = &moh();
// shows error
$jo = [&moh()];
Resulted in this output:
Fatal error: Can't use function return value in write context in /home/user1/Schreibtisch/test.php on line 13
But I expected this output instead:
PHP Version
PHP 8.4.4
Operating System
3v4l
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par exécuter le reproducteur PHP 8.4.4 fourni dans l’issue, en comparant l’initialiseur de tableau avec l’affectation ultérieure utilisant &moh(). L’issue ne mentionne ni fichier source ni test ; pour terminer, il faut établir le comportement attendu pour une référence renvoyée par une fonction dans un initialiseur de tableau et couvrir ce comportement avec un test de régression.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- php
- Domaine
- compilers
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100