Inconsistent use of E_WARNING and E_COMPILE_WARNING in zend_compile.c
Personne n'a encore pris cette issue.
- Langage dominant
- C
- Étoiles
- 40.4k
- Forks
- 8.2k
- Merge moyen
- 2 j 15 h
- PR mergées (30 j)
- 103
Description
Description
The following code:
<?php
set_error_handler(function (int $errno, string $errstr) {
var_dump($errno, $errstr);
}, E_ALL);
include('test7.php');
and
<?php
use Foo;
function foo(integer $foo) {
}
Resulted in this output:
int(2)
string(60) "The use statement with non-compound name 'Foo' has no effect"
Warning: "integer" will be interpreted as a class name. Did you mean "int"? Write "\integer" to suppress this warning in php-src/test7.php on line 5
But I expected this output instead:
Warning: The use statement with non-compound name 'Foo' has no effect in php-src/test7.php on line 3
Warning: "integer" will be interpreted as a class name. Did you mean "int"? Write "\integer" to suppress this warning in php-src/test7.php on line 5
or
int(2)
string(60) "The use statement with non-compound name 'Foo' has no effect"
int(2)
string(108) ""integer" will be interpreted as a class name. Did you mean "int"? Write "\integer" to suppress this warning"
The same applies to other warnings emitted during compilation.
PHP Version
git master
Operating System
No response
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
Reproduisez les deux exemples d’avertissement avec test7.php, puis examinez les chemins d’émission des avertissements dans zend_compile.c. Comparez la manière dont sont signalés l’avertissement d’utilisation non composée et l’avertissement de type integer, et vérifiez que les avertissements de compilation utilisent systématiquement le comportement prévu du gestionnaire d’erreurs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- c, 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