Parens incorrectly removed when cloning the result of an expression
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par reproduire l'entrée PHP signalée et comparer Prettier 2.7.1 avec la sortie attendue. Suivez la gestion par le formateur des parenthèses autour de la clone expression ; le travail est terminé lorsque les parenthèses extérieures sont conservées, afin que la null-coalesce expression soit clonée, avec un test de régression couvrant ce cas.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Prettier 2.7.1
PHP Plugin 0.19.1
# Options (if any):
# our .prettierrc
{
"phpVersion": "8.1",
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": true,
"trailingCommaPHP": true,
"braceStyle": "psr-2",
"requirePragma": false,
"insertPragma": false
}
Input:
$questions = clone ($panel->primaryViewer()?->questions() ?? new Questions());
Output:
$questions = clone $panel->primaryViewer()?->questions() ?? new Questions();
Expected behavior:
The outermost parens are being removed by prettier, affecting behavior. Given
$questions = clone ($panel->primaryViewer()?->questions() ?? new Questions());
if $panel->primaryViewer() is null, because prettier drops the outermost parens, it ends up leaving PHP to evaluate clone null - something I'm actively guarding against with the null coalesce operator.
I expect the parens to remain in place, resulting in the ?? new Questions() to be cloned.
- Langage dominant
- PHP
- Étoiles
- 1.9k
- Forks
- 139
- Métriques de merge des PR
- Aucune PR mergée en 30 j
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.
Autres issues de prettier/plugin-php
-
PHP 8.3 not allowed in options? Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 62/100
prettier/plugin-php#2416 · 2 commentaires · 6 réactions ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 64/100
prettier/plugin-php#2498 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
prettier/plugin-php#2495 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
prettier/plugin-php#2494 · 1 commentaire ·
-
strange format issue Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
prettier/plugin-php#2490 ·
Toutes les issues de prettier/plugin-php
Issues similaires
-
tooling
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
UX
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
ProfessionalWiki/NeoWiki#1525 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
OpenConext/OpenConext-engineblock#2122 ·
-
Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Automattic/safe-publish#594 ·