LuaLS / LuaLS/lua-language-server

discard-returns warning is not triggered in while/repeat loops

Ouverte
#2,549 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Lua
Étoiles
4.4k
Forks
442
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

### How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

### Which OS are you using?

Windows

### What is the issue affecting?

Annotations

### Expected Behaviour

@nodiscard annotated functions should always trigger the `discard-return`s warning in any context.

### Actual Behaviour

`discard-returns` does not trigger in _while_ and _repeat_ loops.

### Reproduction steps

```lua

---@nodiscard
local function bar()
--@nodiscard annotated function
end

while true do
bar() --< this DOES NOT trigger no-discard
break
end

repeat
bar() --< this DOES NOT trigger no-discard
break
until true

bar() -- < this DOES trigger no-discard

for index, value in ipairs({}) do
bar() -- < this DOES trigger no-discard
end
```

### Additional Notes

_No response_

### Log File

_No response_

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduisez le problème dans l’extension Visual Studio Code à l’aide de l’extrait Lua du rapport, puis suivez la manière dont l’avertissement discard-returns gère les boucles while et repeat par rapport aux appels directs et aux boucles for. Le travail est considéré comme terminé lorsque les appels @nodiscard dans les deux formes de boucle déclenchent l’avertissement de manière cohérente avec les autres contextes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
lua
Domaine
devtools
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.