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

Julia: parametric type definitions (`struct Box{T}`, `abstract type Shape{T}`) are dropped

Abierto
#4,128 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

  • #4129 de @rajatnagda45 — cerrado sin fusionar

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
julia, python
Área
devtools

Línea de trabajo

Start with the Julia extractor and its type-head reader, then run the minimal reproduction from the issue against a clean v8 checkout. Verify that Box, Shape, and Sq appear as nodes and that Sq inherits from Shape; an open pull request already addresses this issue.

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

Descripción

Version / commit

v0.9.77 (v8 @ 5c7b847)

Environment

macOS, Python 3.13, clean checkout of v8.

What happens

A parametric type declaration is dropped from the graph entirely — no node, and for the subtyping form no inherits edge either. The non-parametric forms (struct Box, abstract type Shape, Dog <: Animal) all work; only the {...} parameter list breaks it. Parametric types are the backbone of generic Julia.

Minimal reproduction
# params.jl
struct Box{T}
    value::T
end
abstract type Shape{T} end
struct Sq{T} <: Shape{T}
end
from graphify.extract import extract_julia
r = extract_julia("params.jl")
print([n["label"] for n in r["nodes"]])
# -> ['params.jl']   # Box, Shape, Sq all missing
Expected vs actual
  • Expected: Box, Shape, and Sq nodes, with Sq --inherits--> Shape.
  • Actual: none of the three types appear.
Root cause

The type-head reader only recognises a plain identifier. A parametric head is a parametrized_type_expression (its leading identifier is the real name), which matched neither the bare nor the binary_expression (subtyping) branch, so the name came back None and the type was skipped.

A clean checkout of v8 reproduces it. Fix PR to follow.

Lenguaje dominante
Python
Estrellas
124k
Forks
11.9k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 Graphify-Labs/graphify

Todos los issues de Graphify-Labs/graphify

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.