Interpreter fails Type::Library extends during BEGIN
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 58/100
Línea de trabajo
Start with the minimal probe and run it using ./jperl --interpreter probe.pl, then compare its behavior with system Perl and JVM PerlOnJava. Trace interpreter handling of the package @ISA changes made by Type::Library -base before Type::Utils::extends performs its caller isa('Type::Library') check. Done means the probe and Dancer2's Dancer2/Core/Types.pm initialize without the Not a type library error on the interpreter backend.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Dancer2 cannot load on the interpreter backend because its Dancer2::Core::Types type library fails during BEGIN { extends "Types::Standard" } with Not a type library.
Reproduction
package Probe::Types;
use strict;
use warnings;
use Type::Library -base;
use Type::Utils -all;
BEGIN { extends 'Types::Standard' }
print "loaded\n";
Run with ./jperl --interpreter probe.pl. The JVM backend and system Perl load this successfully; the interpreter reports Not a type library at the extends call. Dancer2's Dancer2/Core/Types.pm uses this same pattern and fails at its corresponding line 10.
Root cause
Type::Utils::extends checks that its caller isa('Type::Library'). Type::Library -base installs Type::Library in the caller package's @ISA during module setup. The interpreter does not expose that inheritance to the subsequent isa check in the same BEGIN block, although the JVM backend does. This prevents Dancer2's type library from initializing, so Dancer2 is not currently usable on the interpreter backend.
Evidence
use Type::Library -basealone succeeds under the interpreter.- The minimal
extends 'Types::Standard'reproducer fails only under the interpreter. - The equivalent probe succeeds under JVM PerlOnJava and system Perl.
- Lenguaje dominante
- Perl
- Estrellas
- 64
- Forks
- 7
- Merge medio
- 5 h 8 min
- PR fusionados (30 d)
- 193
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de fglock/PerlOnJava
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
fglock/PerlOnJava#1651 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fglock/PerlOnJava#1579 ·
Los mantenedores suelen responder en 1 día
-
area:cpan-port area:unicode bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
fglock/PerlOnJava#1341 ·
Los mantenedores suelen responder en 1 día
-
HTTP::Cookies extraction drops Expires and SameSite attributesPosiblemente ocupada @fglock la tomó hoy. Abiertoarea:cpan-port bug
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
fglock/PerlOnJava#1743 ·
Los mantenedores suelen responder en 1 día
-
Bundled HTTP::Cookies is missing clear()Posiblemente ocupada @fglock la tomó hoy. Abiertoarea:cpan-port bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 20/100
fglock/PerlOnJava#1742 ·
Los mantenedores suelen responder en 1 día
Todos los issues de fglock/PerlOnJava
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Perl/perl5#24942 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
PDLPorters/pdl#561 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
objectionary/eolang.sty#197 ·
Los mantenedores suelen responder en 2 días
-
chore: remove unused .gemini configuration directoryPosiblemente ocupada @JayadityaGit la tomó hace 1 día. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
openfoodfacts/openfoodfacts-server#14878 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
radiator-software/p5-net-ssleay#577 ·
Los mantenedores suelen responder en 1 día