GDQuest / GDQuest/GDScript-formatter
Linter: no-else-return failing to detect return in this case
Personne n'a encore pris cette issue.
- Langage dominant
- Rust
- Étoiles
- 458
- Forks
- 40
- Merge moyen
- 1 j 15 h
- PR mergées (30 j)
- 4
Description
There is a bug in your linter that causes it to not recognize that the designated block can fail the if statement and skip the return statement:
1) The incorrect warning is:
“WARNING on line 75 (no-else-return)
Unnecessary 'else' after 'if'/'elif' blocks that end with 'return'”
2) The code that triggered this error is:
...
#Return false if vector_angle falls between start_arc and end_arc.
#This will ensure that weapons can only fire within their designated arcs.
if end_arc > start_arc:
if vector_angle > end_arc or vector_angle < start_arc:
return false
else:
if vector_angle > end_arc and vector_angle < start_arc:
return false
#Ensure target is within range
if vector_to_target.length() > ability_range:
return false
else:
return true
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
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 l’implémentation du linter pour la règle no-else-return et reproduisez l’avertissement avec l’extrait imbriqué if/else fourni. C’est terminé lorsque la règle ne signale plus le else final comme inutile lorsque la branche précédente peut continuer, avec une couverture de régression pour ce cas.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- godot, rust
- Domaine
- tooling
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 68/100