Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

InlineParser: `@rbs @ivar` annotation is reported as unused unless it is the first thing in the class body

Ouverte Adaptée aux débutants
#3,175 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@ksss y travaille déjà.

Depuis le 29/9/2026.

  • #3183 par @ksss — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
82/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
ruby
Domaine
tooling

Piste de recherche

Commencez dans lib/rbs/inline_parser.rb, au niveau de InlineParser#visit_class_or_module_body, et reproduisez l’exemple de classe présenté avec RBS::InlineParser.parse. Suivez la manière dont each_enclosed_block traite le body et les annotations au niveau de la classe. C’est terminé lorsque l’annotation après def bar ne produit plus UnusedInlineAnnotation et produit un InstanceVariableMember.

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

Description

rbs 4.2.0

class Foo
  def bar; end

  # @rbs @a: Integer

  X = 1
end

RBS::InlineParser.parse reports UnusedInlineAnnotation for @rbs @a: Integer and no InstanceVariableMember is created. Moving the annotation above def bar makes it work.

Cause: InlineParser#visit_class_or_module_body calls comments.each_enclosed_block(child_node) on the body StatementsNode (whose line range spans from the first member to the last) and reports every block inside it as unused, before the class-level each_enclosed_block(node) that handles InstanceVariableAnnotation runs. Only blocks located before the first member survive.

https://github.com/ruby/rbs/blob/v4.2.0/lib/rbs/inline_parser.rb (visit_class_or_module_body)

Langage dominant
Ruby
Étoiles
2.2k
Forks
258
Merge moyen
1 j 4 h
PR mergées (30 j)
52

Préparer son environnement

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.

Autres issues de ruby/rbs

Toutes les issues de ruby/rbs

Issues similaires

Plus d'issues Ruby

Recevez les nouvelles issues par e-mail

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