Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto Apto para principiantes
#3,175 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@ksss ya está trabajando en esto.

Desde el 29/9/2026.

  • #3183 de @ksss — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
82/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
ruby
Área
tooling

Línea de trabajo

Empieza en lib/rbs/inline_parser.rb, en InlineParser#visit_class_or_module_body, y reproduce el ejemplo de clase mostrado con RBS::InlineParser.parse. Sigue cómo each_enclosed_block gestiona el body y las anotaciones a nivel de clase. La tarea está terminada cuando la anotación después de def bar ya no produce UnusedInlineAnnotation y produce un InstanceVariableMember.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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)

Lenguaje dominante
Ruby
Estrellas
2.2k
Forks
258
Merge medio
1 d 4 h
PR fusionados (30 d)
52

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ruby/rbs

Todos los issues de ruby/rbs

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.